/* ─────────────────────────────────────────────────────────────────
   state-page-v1.css — canonical state-page v1.0 components.
   Loaded ONLY by state-page v1.0 output (alongside /css/main.css).
   Legacy state pages keep /assets/css/medicare-state.css untouched.
   Token discipline (Design SoT v2/v2.1/v2.2 · A2):
     · #E8650A (orange) appears as a fill ONLY on .compare-bar__fill
       (the one sanctioned chart mark, 2026-07-13). Everywhere else the
       accent is #893900 (accent-dark), used for text/marks/borders only.
     · focus ring inherits main.css :focus-visible (#B84D00).
     · dark-surface text set is the locked ≥7:1 quartet.
   ───────────────────────────────────────────────────────────────── */
:root{
  --sp-ac:#893900;        /* accent-dark — all accent text/marks */
  --sp-ac-lite:#FDF0E8;   /* result/tint surface only */
  --sp-bg:#F5F1EC; --sp-surface:#FFF; --sp-ink:#1A1A1A;
  --sp-mid:#444; --sp-sec:#555; --sp-border:#E8E4DF; --sp-border-dark:#8C8880;
  --sp-dk-text:#F5F1EC; --sp-dk-body:#D3D1C7; --sp-dk-meta:#B4B2A9; --sp-dk-eyebrow:#F0997B;
  --sp-ok:#1B5E20; --sp-ok-dk:#8fd39a;   /* success green: light-bg / dark-bg */
  --sp-display:'Lora',Georgia,serif; /* was Fraunces — cut per LOCKED Design & Decision Record §3 (2026-07-15); font-face comes from main.css, loaded alongside this file on every state page */
}
.sp *{box-sizing:border-box}
.sp{color:var(--sp-mid);font-size:1.125rem;line-height:1.65}
.sp h1,.sp h2,.sp h3{font-family:var(--sp-display);color:var(--sp-ink);font-weight:600;
  line-height:1.15;letter-spacing:-0.012em;margin:0}
.sp a{color:var(--sp-ac)}
.sp .wrap{max-width:74rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.sp .narrow{max-width:56rem}
.sp .eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sp-ac);margin:0 0 .75rem}
.sp .meta{font-size:.9375rem;color:var(--sp-sec)}

/* three interactive treatments only (V4) */
.sp .pill{display:inline-block;border-radius:999px;padding:.85rem 1.75rem;font-weight:700;
  font-size:1.0625rem;text-decoration:none;border:0;cursor:pointer;min-height:44px}
.sp .pill-dark{background:var(--sp-ink);color:#fff}
.sp .pill-cream{background:var(--sp-dk-text);color:var(--sp-ink)}
.sp .arrow{font-weight:700;text-decoration:none;white-space:nowrap;color:var(--sp-ac)}
.sp .arrow::after{content:" →"}

/* data-chip (A10) — links to the real source_url */
.sp .data-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--sp-surface);
  border:1px solid var(--sp-border-dark);border-radius:999px;padding:.2rem .75rem;
  font-size:.8125rem;color:var(--sp-sec);text-decoration:none;margin-top:.4rem;min-height:0}
.sp .data-chip b{color:var(--sp-ok);font-weight:800}

/* hero */
.sp .hero{padding:clamp(2rem,5vw,3.25rem) 0 clamp(1.5rem,4vw,2.5rem)}
.sp .hero h1{font-size:clamp(1.9rem,1.1rem + 2.2vw,2.5rem)}
.sp .hero .lede{font-size:1.1875rem;max-width:46ch;margin:1rem 0 0}
.sp .hero .cta{margin-top:1.5rem}
.sp .loc-ctl{display:flex;align-items:center;gap:.6rem;font-size:.9375rem;flex-wrap:wrap;margin-left:auto}
.sp .loc-ctl .where{font-weight:700;color:var(--sp-ink)}
.sp .loc-ctl button{background:none;border:1.5px solid var(--sp-border-dark);border-radius:999px;
  padding:.4rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;color:var(--sp-mid);min-height:44px}

/* county coming-soon note (honest degrade — matches the homepage pattern) */
.sp .county-soon{border:1px solid var(--sp-border);border-radius:12px;background:var(--sp-surface);
  padding:1.1rem 1.3rem;margin:1.25rem 0;font-size:.9375rem;color:var(--sp-sec)}
.sp .county-soon b{color:var(--sp-ink)}

/* dark stat/answer band — the one loud surface */
.sp .band-dark{background:var(--sp-ink);color:var(--sp-dk-body)}
.sp .band-dark .wrap{padding-top:clamp(2.25rem,5vw,3.25rem);padding-bottom:clamp(2.25rem,5vw,3.25rem)}
.sp .answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem}
.sp .answers .fig{font-family:var(--sp-display);font-weight:600;color:var(--sp-dk-text);
  font-size:clamp(2rem,1.4rem + 1.8vw,3.25rem);line-height:1}
.sp .answers .fig.small{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);padding-top:.45rem}
.sp .answers .lab{font-size:1rem;color:var(--sp-dk-meta);margin-top:.5rem;line-height:1.45}
.sp .answers .lab b{color:var(--sp-dk-text)}
.sp .answers .data-chip{background:transparent;border-color:#4a4a47;color:var(--sp-dk-meta)}
.sp .answers .data-chip b{color:var(--sp-ok-dk)}
.sp .band-dark .fine{border-top:1px solid #3a3a38;margin-top:2rem;padding-top:1rem;
  font-size:.9375rem;color:var(--sp-dk-meta)}
.sp .band-dark .fine a{color:var(--sp-dk-meta)}

/* trust + disclaimer strips (V8: legible disclosures) */
.sp .trust-line{font-size:.9375rem;color:var(--sp-sec);padding:1.25rem 0 0}
.sp .disclaimer{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:12px;
  padding:1.1rem 1.3rem;margin:1.25rem 0;font-size:.9375rem;line-height:1.6;color:var(--sp-mid)}
.sp .disclaimer b{color:var(--sp-ink)}

/* sections + band alternation (U3) */
.sp section{padding:clamp(2.75rem,6vw,4.5rem) 0}
.sp .white{background:var(--sp-surface)}
.sp .cream{background:var(--sp-bg)}
.sp .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;
  border-bottom:2px solid var(--sp-ink);padding-bottom:.9rem;margin-bottom:1.75rem}
.sp .sec-head h2{font-size:clamp(1.5rem,1.15rem + 1vw,1.875rem)}

/* definition rows (approved 2026-07-12) — rows, not boxes (U5) */
.sp .def-row{display:grid;grid-template-columns:8.5rem 1fr;gap:1.25rem;padding:1.1rem 0;
  border-bottom:1px solid var(--sp-border)}
.sp .def-row .k{font-weight:700;color:var(--sp-ink);font-size:1.0625rem}
.sp .def-row .v{max-width:60ch}
@media(max-width:640px){.sp .def-row{grid-template-columns:1fr;gap:.35rem}}

/* timeline (reused; V7 weights). Accent-dark marks — no orange fill. */
.sp .tl{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin:2.25rem 0 1rem}
.sp .tl::before{content:"";position:absolute;top:11px;left:6%;right:6%;height:4px;
  background:var(--sp-border-dark);border-radius:2px}
.sp .tl-stop{position:relative;text-align:center;font-size:.9375rem;color:var(--sp-sec)}
.sp .tl-dot{width:23px;height:23px;border-radius:50%;background:var(--sp-surface);
  border:4px solid var(--sp-ink);margin:0 auto .7rem}
.sp .here .tl-dot{background:var(--sp-ac);border-color:var(--sp-ac)}
.sp .tl-stop b{display:block;color:var(--sp-ink);font-size:1.0625rem}
.sp .here-tag{display:inline-block;margin-top:.4rem;font-size:.75rem;font-weight:800;
  letter-spacing:.06em;color:var(--sp-ac)}
@media(max-width:700px){.sp .tl{grid-template-columns:1fr 1fr;gap:1.5rem}.sp .tl::before{display:none}}

/* display figure (U4). Border uses accent-dark. */
.sp .dfig{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;
  border-left:5px solid var(--sp-ac);padding-left:1.5rem;margin:2.25rem 0 0}
.sp .dfig .n{font-family:var(--sp-display);font-weight:600;color:var(--sp-ink);
  font-size:clamp(2.5rem,2rem + 2vw,3.5rem);line-height:1}
.sp .dfig p{margin:.25rem 0 0;max-width:38ch;font-size:1.0625rem}
@media(max-width:640px){.sp .dfig{grid-template-columns:1fr}}

/* MSP money rows */
.sp .mrow{display:grid;grid-template-columns:1fr auto;gap:1.25rem;align-items:baseline;
  padding:1.1rem 0;border-bottom:1px solid var(--sp-border)}
.sp .mrow .t{font-weight:700;color:var(--sp-ink);font-size:1.0625rem}
.sp .mrow .s{font-size:.9375rem;color:var(--sp-sec);margin-top:.15rem}
.sp .mrow .amt{font-family:var(--sp-display);font-weight:600;font-size:1.35rem;color:var(--sp-ink);
  text-align:right;white-space:nowrap}
.sp .mrow .amt small{font-size:.85rem;font-family:inherit;color:var(--sp-sec);font-weight:400;display:block}
@media(max-width:560px){.sp .mrow{grid-template-columns:1fr}.sp .mrow .amt{text-align:left;margin-top:.3rem}}

/* compare-bars (A9). Reader bar = the ONE sanctioned orange fill; comparison bar = neutral. */
.sp .cbars{margin:2.25rem 0 0}
.sp .compare-bar{display:grid;grid-template-columns:15rem 1fr auto;gap:1rem;align-items:center;margin:.9rem 0}
.sp .compare-bar .lab{font-size:.9375rem;color:var(--sp-sec)}
.sp .compare-bar .track{background:var(--sp-border);border-radius:6px;height:22px;overflow:hidden}
.sp .compare-bar__fill{height:100%;border-radius:6px}
/* The ONE sanctioned orange fill (Design SoT A9 · 2026-07-13). Unscoped selector
   so check-design-tokens.sh Rule 1's `.compare-bar__fill`-exact exemption fires. */
.compare-bar__fill{background:#E8650A}
.sp .compare-bar__nat{height:100%;border-radius:6px;background:var(--sp-border-dark)}
.sp .compare-bar .val{font-family:var(--sp-display);font-weight:600;font-size:1.35rem;color:var(--sp-ink)}
@media(max-width:700px){.sp .compare-bar{grid-template-columns:1fr;gap:.3rem}}

/* help pair: free-first, then the ask */
.sp .quiet{height:64px}
.sp .free-card{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:14px;
  padding:2rem;margin-bottom:1.1rem}
.sp .free-card .badge{color:var(--sp-ok);font-weight:800;font-size:.8125rem;letter-spacing:.08em}
.sp .free-card h3{font-size:1.4rem;margin:.5rem 0 .4rem}
.sp .free-card .tel{font-family:var(--sp-display);font-weight:600;font-size:1.75rem;color:var(--sp-ink)}
.sp .slab{background:var(--sp-ink);border-radius:14px;padding:clamp(1.75rem,4vw,2.5rem);color:var(--sp-dk-body)}
.sp .slab .eyebrow{color:var(--sp-dk-eyebrow)}
.sp .slab h3{color:var(--sp-dk-text);font-size:clamp(1.4rem,1.1rem + 1vw,1.75rem);margin:.25rem 0 .5rem}
.sp .slab p{max-width:54ch}
.sp .slab .disc{border-top:1px solid #3a3a38;margin-top:1.5rem;padding-top:1rem;
  font-size:.9375rem;color:var(--sp-dk-meta)}
.sp .slab .disc a{color:var(--sp-dk-meta)}

/* accordions (native <details>) */
.sp details{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:12px;margin:.7rem 0}
.sp summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.4rem;font-weight:700;color:var(--sp-ink);font-size:1.0625rem;min-height:44px}
.sp summary::-webkit-details-marker{display:none}
.sp summary::after{content:"+";font-family:var(--sp-display);font-size:1.5rem;color:var(--sp-ac);line-height:1}
.sp details[open] summary::after{content:"–"}
.sp details .bd{padding:0 1.4rem 1.4rem;max-width:66ch}

/* resource rows (U5) + related guides (U8) */
.sp .rrow{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;
  padding:1.05rem 0;border-bottom:1px solid var(--sp-border)}
.sp .rrow .t{font-weight:700;color:var(--sp-ink)}
.sp .rrow .s{font-size:.9375rem;color:var(--sp-sec);margin-top:.15rem}
.sp .guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.4rem 2rem;margin-top:.5rem}
.sp .guides a{padding:.7rem 0;border-bottom:1px solid var(--sp-border);text-decoration:none;font-weight:600;min-height:44px}
.sp .review-line{font-size:.9375rem;color:var(--sp-sec);padding-top:1.5rem}

/* ── page chrome (self-sufficient: v1.0 links main.css + this file only) ── */
.sp .home-header{background:var(--sp-surface);border-bottom:1px solid var(--sp-border);position:sticky;top:0;z-index:9}
.sp .home-logo{font-family:var(--sp-display);font-weight:600;font-size:1.35rem;color:var(--sp-ink);text-decoration:none;white-space:nowrap}
.sp .home-logo .lf{color:var(--sp-ac);font-style:italic}
.sp .crumb-strip{background:var(--sp-bg);border-bottom:1px solid var(--sp-border)}
.sp .crumb-strip .wrap{padding-top:.9rem;padding-bottom:.9rem}
.sp .breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.9375rem;color:var(--sp-sec)}
.sp .breadcrumb li:not(:last-child)::after{content:"›";margin-left:.4rem;color:var(--sp-sec)}
.sp .breadcrumb a{text-decoration:none}
.sp .foot-v2{background:var(--sp-surface);border-top:1px solid var(--sp-border);padding:3rem 0;font-size:.9375rem;color:var(--sp-sec)}
.sp .foot-v2-inner{max-width:74rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.sp .foot-v2-top{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center;
  padding-bottom:1.5rem;border-bottom:1px solid var(--sp-border);margin-bottom:1.5rem}
.sp .foot-v2-nav{display:flex;flex-wrap:wrap;gap:1.1rem}
.sp .foot-v2-nav a{text-decoration:none;font-weight:600}
.sp .foot-v2-legal p{max-width:62rem;line-height:1.6;margin:.6rem 0}
.sp .foot-v2-legal strong{color:var(--sp-ink)}
.sp .foot-v2-copy{margin-top:1rem;color:var(--sp-sec)}
.sp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (prefers-reduced-motion: reduce){
  .sp *,.sp *::before,.sp *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
