:root {
  --sdsah-forest: #17342a;
  --sdsah-green: #2f7d4f;
  --sdsah-green-soft: #e8f3ed;
  --sdsah-orange: #f47b20;
  --sdsah-orange-dark: #c95910;
  --sdsah-cream: #fff7e8;
  --sdsah-paper: #fbfaf6;
  --sdsah-white: #fff;
  --sdsah-ink: #12201c;
  --sdsah-muted: #52636a;
  --sdsah-line: rgba(18, 32, 28, .13);
  --sdsah-shadow: 0 20px 70px rgba(18, 32, 28, .14);
  --sdsah-radius: 8px;
  --sdsah-content: 1180px;
}

.sdsah * { box-sizing: border-box; }
.sdsah img, .sdsah svg { display: block; max-width: 100%; }
.sdsah h1, .sdsah h2, .sdsah h3, .sdsah p { margin-top: 0; }
.sdsah h1, .sdsah h2, .sdsah h3 { color: var(--sdsah-ink); letter-spacing: 0; line-height: 1.04; }
.sdsah h1 { max-width: 930px; margin-bottom: 22px; color: var(--sdsah-white); font-size: clamp(3rem, 6.4vw, 6.3rem); font-weight: 900; }
.sdsah h2 { margin-bottom: 18px; font-size: clamp(2.05rem, 4.5vw, 4.35rem); font-weight: 900; }
.sdsah h3 { margin-bottom: 12px; font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 900; }
.sdsah-shell { width: min(100% - 44px, var(--sdsah-content)); margin-inline: auto; }
.sdsah-section { padding: clamp(76px, 9vw, 124px) 0; background: var(--sdsah-paper); }
.sdsah-paper { background: var(--sdsah-white); }
.sdsah-eyebrow, .sdsah-kicker, .sdsah-card-label { margin: 0 0 12px; color: var(--sdsah-green); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.sdsah-intro { color: #344b43; font-size: clamp(1.15rem, 2vw, 1.35rem); font-weight: 700; }
.sdsah-section-head { max-width: 850px; margin-bottom: 44px; }
.sdsah-section-head > p:last-child { max-width: 760px; color: var(--sdsah-muted); font-size: 1.12rem; }

.sdsah-hero { position: relative; isolation: isolate; overflow: hidden; padding: 138px 0 68px; color: var(--sdsah-white); background: linear-gradient(132deg, #10271f 0%, #173f31 64%, #235c42 100%); }
.sdsah-hero::after { position: absolute; right: -12vw; bottom: -44%; z-index: -1; width: 58vw; height: 58vw; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(244, 123, 32, .24), rgba(244, 123, 32, 0) 68%); }
.sdsah-route-art { position: absolute; inset: auto -8% 3% auto; z-index: -1; width: min(72vw, 960px); opacity: .26; fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; }
.sdsah-route-art circle { fill: var(--sdsah-orange); stroke: none; }
.sdsah-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: clamp(32px, 6vw, 74px); align-items: end; }
.sdsah-hero .sdsah-eyebrow { color: #bce7ca; }
.sdsah-badge { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; color: rgba(255, 255, 255, .88); background: rgba(255, 255, 255, .08); font-size: .82rem; font-weight: 800; }
.sdsah-badge span { width: 9px; height: 9px; border-radius: 50%; background: var(--sdsah-orange); box-shadow: 0 0 0 6px rgba(244, 123, 32, .16); }
.sdsah-lede { max-width: 790px; margin-bottom: 0; color: rgba(255, 255, 255, .83); font-size: clamp(1.14rem, 1.9vw, 1.38rem); }
.sdsah-status { padding: 25px; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--sdsah-radius); background: rgba(255, 255, 255, .93); box-shadow: var(--sdsah-shadow); color: var(--sdsah-muted); }
.sdsah-status ul { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.sdsah-status li { display: flex; align-items: center; gap: 10px; color: var(--sdsah-ink); font-weight: 900; }
.sdsah-status li::before { width: 10px; height: 10px; border-radius: 50%; content: ""; background: var(--sdsah-orange); box-shadow: 0 0 0 5px rgba(244, 123, 32, .13); }
.sdsah-status p:last-child { margin-bottom: 0; font-size: .94rem; }
.sdsah-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.sdsah-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 20px; border: 1px solid transparent; border-radius: var(--sdsah-radius); font-weight: 900; text-decoration: none; transition: transform 180ms ease, background 180ms ease; }
.sdsah-button:hover { transform: translateY(-2px); }
.sdsah-button--orange { color: var(--sdsah-white); background: var(--sdsah-orange); box-shadow: 0 15px 30px rgba(244, 123, 32, .25); }
.sdsah-button--orange:hover { color: var(--sdsah-white); background: var(--sdsah-orange-dark); }
.sdsah-button--glass { border-color: rgba(255, 255, 255, .36); color: var(--sdsah-white); background: rgba(255, 255, 255, .1); }
.sdsah-button--glass:hover { color: var(--sdsah-white); background: rgba(255, 255, 255, .18); }

.sdsah-map-grid, .sdsah-split, .sdsah-future, .sdsah-faq-grid { display: grid; grid-template-columns: minmax(280px, .84fr) minmax(320px, 1fr); gap: clamp(38px, 7vw, 92px); align-items: center; }
.sdsah-map-copy > p:not(.sdsah-kicker) { color: var(--sdsah-muted); font-size: 1.08rem; }
.sdsah-boundary-note { margin-top: 26px; padding: 18px 20px; border-left: 4px solid var(--sdsah-orange); border-radius: 0 var(--sdsah-radius) var(--sdsah-radius) 0; color: #344b43; background: var(--sdsah-cream); }
.sdsah-map-card { padding: clamp(14px, 3vw, 26px); border: 1px solid var(--sdsah-line); border-radius: var(--sdsah-radius); background: var(--sdsah-white); box-shadow: var(--sdsah-shadow); }
.sdsah-map { width: 100%; height: auto; overflow: visible; }
.sdsah-county-shape { fill: #eef4f0; stroke: rgba(23, 52, 42, .16); stroke-width: 2; }
.sdsah-launch-shape { fill: url(#sdsah-area-fill); stroke: var(--sdsah-green); stroke-width: 2.5; stroke-dasharray: 7 7; filter: url(#sdsah-map-shadow); }
.sdsah-river { fill: none; stroke: #2b7a9b; stroke-width: 8; stroke-linecap: round; opacity: .72; }
.sdsah-road { fill: none; stroke: rgba(18, 32, 28, .26); stroke-width: 2; stroke-dasharray: 4 6; }
.sdsah-place circle:first-child { fill: var(--sdsah-white); stroke: var(--sdsah-orange); stroke-width: 3; }
.sdsah-place circle:nth-child(2) { fill: var(--sdsah-orange); }
.sdsah-place text { fill: var(--sdsah-ink); font-size: 18px; font-weight: 900; }
.sdsah-north path { fill: var(--sdsah-forest); }
.sdsah-north text { fill: var(--sdsah-forest); font-size: 15px; font-weight: 900; }
.sdsah-river-label { fill: #22647f; font-size: 14px; font-style: italic; }
.sdsah-map-caption { fill: var(--sdsah-muted); font-size: 13px; }

.sdsah-city-grid, .sdsah-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sdsah-city-grid article, .sdsah-audience-grid article { min-height: 270px; padding: 26px; border: 1px solid var(--sdsah-line); border-radius: var(--sdsah-radius); background: var(--sdsah-paper); }
.sdsah-city-grid span { display: inline-flex; margin-bottom: 34px; color: var(--sdsah-orange); font-size: .86rem; font-weight: 900; }
.sdsah-city-grid p, .sdsah-audience-grid p { margin-bottom: 0; color: var(--sdsah-muted); }
.sdsah-audience-grid article { display: flex; flex-direction: column; min-height: 330px; background: var(--sdsah-white); box-shadow: 0 1px 0 rgba(18, 32, 28, .04); }
.sdsah-audience-grid a { margin-top: auto; padding-top: 24px; color: var(--sdsah-green); font-weight: 900; text-decoration: none; }
.sdsah-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 28px; border-radius: 50%; color: var(--sdsah-white); background: var(--sdsah-forest); font-weight: 900; }
.sdsah-coverage { color: var(--sdsah-white); background: var(--sdsah-forest); }
.sdsah-coverage h2, .sdsah-coverage h3, .sdsah-coverage .sdsah-kicker { color: var(--sdsah-white); }
.sdsah-coverage .sdsah-intro { color: rgba(255, 255, 255, .74); }
.sdsah-checks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.sdsah-checks li { display: grid; grid-template-columns: 18px 1fr; gap: 16px; padding: 19px; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--sdsah-radius); background: rgba(255, 255, 255, .08); }
.sdsah-checks li > span { width: 13px; height: 13px; margin-top: 6px; border-radius: 50%; background: var(--sdsah-orange); box-shadow: 0 0 0 6px rgba(244, 123, 32, .12); }
.sdsah-checks h3 { margin-bottom: 6px; font-size: 1.12rem; }
.sdsah-checks p { margin-bottom: 0; color: rgba(255, 255, 255, .74); }
.sdsah-future { align-items: start; }
.sdsah-future p { color: var(--sdsah-muted); font-size: 1.08rem; }
.sdsah-callout { margin-top: 24px; padding: 20px; border: 1px solid rgba(47, 125, 79, .22); border-radius: var(--sdsah-radius); color: var(--sdsah-forest) !important; background: var(--sdsah-green-soft); }
.sdsah-faq-grid { align-items: start; }
.sdsah-faq-grid > div:first-child > p:not(.sdsah-kicker) { color: var(--sdsah-muted); font-size: 1.08rem; }
.sdsah-faq-list { display: grid; gap: 10px; }
.sdsah-faq-list details { border: 1px solid var(--sdsah-line); border-radius: var(--sdsah-radius); background: var(--sdsah-white); }
.sdsah-faq-list summary { min-height: 54px; padding: 17px 48px 17px 18px; cursor: pointer; color: var(--sdsah-ink); font-weight: 900; }
.sdsah-faq-list p { padding: 0 18px 18px; margin-bottom: 0; color: var(--sdsah-muted); }
.sdsah-text-link { display: inline-flex; min-height: 48px; align-items: center; margin-top: 20px; color: var(--sdsah-green); font-weight: 900; text-decoration: none; }
.sdsah-cta { padding: clamp(68px, 8vw, 100px) 0; color: var(--sdsah-white); background: linear-gradient(135deg, #10271f, #1f523d); }
.sdsah-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; }
.sdsah-cta h2 { color: var(--sdsah-white); }
.sdsah-cta p { max-width: 700px; color: rgba(255, 255, 255, .78); font-size: 1.1rem; }
.sdsah-cta .sdsah-eyebrow { color: #bce7ca; }

.sdsah-home-area { position: relative; overflow: hidden; }
.sdsah-home-note { font-size: .98rem !important; }
.sdsah-home-map-wrap { padding: clamp(16px, 3vw, 24px); border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--sdsah-radius); background: rgba(255, 255, 255, .96); box-shadow: var(--sdsah-shadow); }
.sdsah-home-map-wrap .sdsah-map { margin-bottom: 8px; }
.sdsah-home-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.sdsah-home-links span { padding: 7px 10px; border-radius: 999px; color: var(--sdsah-forest); background: var(--sdsah-green-soft); font-size: .8rem; font-weight: 900; }
.sdsah-partner-link { display: inline-flex; min-height: 48px; align-items: center; margin-top: 14px; color: var(--sdsah-green); font-size: .9rem; font-weight: 900; text-decoration: none; }

@media (max-width: 900px) {
  .sdsah-hero__inner, .sdsah-map-grid, .sdsah-split, .sdsah-future, .sdsah-faq-grid, .sdsah-cta-grid { grid-template-columns: 1fr; }
  .sdsah-status { max-width: 600px; }
  .sdsah-city-grid, .sdsah-audience-grid { grid-template-columns: 1fr; }
  .sdsah-city-grid article, .sdsah-audience-grid article { min-height: auto; }
}

@media (max-width: 640px) {
  .sdsah-shell { width: min(100% - 36px, var(--sdsah-content)); }
  .sdsah-hero { padding: 54px 0 42px; }
  .sdsah h1 { font-size: clamp(2.55rem, 13vw, 3.35rem); }
  .sdsah h2 { font-size: clamp(2.1rem, 10vw, 2.7rem); }
  .sdsah-route-art { width: 140vw; }
  .sdsah-actions { flex-direction: column; }
  .sdsah-button { width: 100%; min-height: 54px; }
  .sdsah-status { padding: 20px; }
  .sdsah-map-card, .sdsah-home-map-wrap { padding: 10px; }
  .sdsah-place text { font-size: 16px; }
  .sdsah-map-caption { font-size: 11px; }
  .sdsah-faq-list summary { min-height: 56px; }
  .sdsah-home-area .section-actions { flex-direction: column; }
  .sdsah-home-area .button { width: 100%; min-height: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  .sdsah-button { transition: none; }
}

