.insight-card { color: inherit; display: block; text-decoration: none; }
.insight-card:focus-visible { outline: 3px solid #3bceac; outline-offset: 4px; }

.insights-title-search {
  width: min(100%, 46rem);
  margin: 0 auto 3rem;
}

.insights-title-search label {
  display: block;
  margin-bottom: 0.65rem;
  color: #333;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
}

.insights-title-search-control {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.75rem;
  overflow: hidden;
  border: 1px solid rgba(59, 206, 172, 0.75);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(51, 51, 51, 0.08);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.insights-title-search-control:focus-within {
  border-color: #15947b;
  box-shadow: 0 0 0 4px rgba(59, 206, 172, 0.18), 0 12px 30px rgba(51, 51, 51, 0.1);
}

.insights-title-search-icon {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  margin-left: 1.25rem;
  color: #15947b;
}

.insights-title-search input {
  width: 100%;
  min-width: 0;
  padding: 1rem 0.75rem;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
}

.insights-title-search input::placeholder { color: #747474; opacity: 1; }

.insights-title-search-clear {
  flex: 0 0 auto;
  margin-right: 0.55rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: #3bceac;
  color: #173c34;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
}

.insights-title-search-clear:hover { background: #35bfa0; }
.insights-title-search-clear:focus-visible { outline: 3px solid #15947b; outline-offset: 2px; }

.insights-title-search-status {
  min-height: 1.5rem;
  margin-top: 0.75rem;
  color: #5f5f5f;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  text-align: center;
}

.insights-title-search.has-no-results .insights-title-search-status {
  color: #333;
  font-weight: 600;
}

@media (max-width: 640px) {
  .insights-title-search { margin-bottom: 2rem; }
  .insights-title-search-control { min-height: 3.4rem; }
  .insights-title-search-icon { margin-left: 1rem; }
  .insights-title-search input { padding: 0.85rem 0.6rem; }
  .insights-title-search-clear { margin-right: 0.4rem; padding: 0.55rem 0.8rem; }
}
.insight-article { background: #fff; color: #333; }
.insight-wrap { margin: 0 auto; max-width: 1120px; padding-left: 24px; padding-right: 24px; }
.insight-hero { background: linear-gradient(135deg, #333 0%, #263f3a 100%); color: #fff; padding: 190px 0 80px; }
.insight-hero-media { min-height: 640px; overflow: hidden; padding: 0; position: relative; }
.insight-hero-media > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.insight-hero-overlay { background: linear-gradient(90deg, rgba(25,34,32,.94) 0%, rgba(25,34,32,.72) 54%, rgba(25,34,32,.22) 100%); inset: 0; position: absolute; }
.insight-hero-copy { padding-bottom: 80px; padding-top: 190px; position: relative; z-index: 1; }
.insight-back { color: #bff6e9; display: inline-block; font-size: 14px; font-weight: 600; margin-bottom: 48px; text-decoration: none; }
.insight-kicker, .insight-aside-label, .insight-cta p { color: #3bceac; font-size: 12px; font-weight: 700; letter-spacing: .18em; margin: 0 0 18px; text-transform: uppercase; }
.insight-hero h1 { color: #fff; font-family: Oswald, sans-serif; font-size: clamp(42px, 6vw, 72px); font-weight: 600; letter-spacing: -.02em; line-height: 1.07; margin: 0; max-width: 940px; }
.insight-meta { align-items: center; color: rgba(255,255,255,.72); display: flex; font-size: 14px; gap: 12px; margin-top: 30px; }
.insight-layout { display: grid; gap: 72px; grid-template-columns: minmax(0, 730px) minmax(240px, 1fr); padding-bottom: 100px; padding-top: 80px; }
.insight-content { font-size: 17px; line-height: 1.85; }
.insight-content .insight-lead { color: #40504c; font-size: 22px; line-height: 1.65; margin: 0 0 58px; }
.insight-content section { border-top: 1px solid #e2e7e5; padding: 42px 0 16px; }
.insight-content h2, .insight-aside h2, .insight-cta h2 { color: #333; font-family: Oswald, sans-serif; font-weight: 600; line-height: 1.2; }
.insight-content h2 { font-size: 32px; margin: 0 0 22px; }
.insight-content p { margin: 0 0 22px; }
.insight-figure { margin: 34px 0 22px; }
.insight-figure img { background: #f1faf7; border: 1px solid #d9eee8; border-radius: 14px; display: block; height: auto; width: 100%; }
.insight-figure figcaption { color: #68736f; font-size: 13px; line-height: 1.5; margin-top: 10px; }
.insight-service-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.insight-service-links a { border: 1px solid #3bceac; color: #176f60; font-size: 14px; font-weight: 700; padding: 11px 16px; text-decoration: none; }
.insight-aside { align-self: start; background: #f1faf7; border-top: 4px solid #3bceac; padding: 30px; position: sticky; top: 130px; }
.insight-aside h2 { font-size: 27px; margin: 0 0 16px; }
.insight-aside p:not(.insight-aside-label) { font-size: 15px; line-height: 1.65; }
.insight-aside a, .insight-cta a { background: #3bceac; color: #fff; display: inline-block; font-weight: 700; margin-top: 12px; padding: 13px 20px; text-decoration: none; }
.insight-cta { background: #edf7f4; padding: 72px 0; text-align: center; }
.insight-cta h2 { font-size: clamp(32px, 5vw, 48px); margin: 0 auto 22px; max-width: 760px; }
@media (max-width: 800px) { .insight-hero { padding: 145px 0 60px; } .insight-hero-media { min-height: 580px; padding: 0; } .insight-hero-copy { padding-bottom: 60px; padding-top: 145px; } .insight-hero-overlay { background: rgba(25,34,32,.78); } .insight-back { margin-bottom: 32px; } .insight-layout { grid-template-columns: 1fr; padding-top: 56px; } .insight-aside { position: static; } }
