/* ============================================================
   TownVue - /towns directory + coverage, "Immersive" build.
   Reuses state-immersive.css (tokens, color bands, tv-btn,
   d3-eyebrow). Adds the towns-page-specific tw-* pieces and the
   full-bleed _HomeLayout reset. Scoped under .state-immersive.
   ============================================================ */

/* Full-bleed under _HomeLayout (loads only on this page). */
.home-shell{ padding-block:0 !important; }
.home-shell__inner{ max-width:none !important; width:100% !important; padding-inline:0 !important; margin-inline:0 !important; }

/* ── Hero ── */
.state-immersive .tw-hero{ background:var(--beige); padding:30px 0 54px; }
.state-immersive .tw-crumb{ font-size:13px; color:var(--muted); margin-bottom:24px; }
.state-immersive .tw-crumb a{ color:var(--clay-700); font-weight:600; }
.state-immersive .tw-crumb span{ color:var(--muted); margin:0 4px; }
.state-immersive .tw-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
.state-immersive .tw-h1{ font-family:var(--serif); font-weight:600; color:var(--navy); font-size:clamp(40px,5.2vw,66px); line-height:1.04; letter-spacing:-.02em; margin:14px 0 0; text-wrap:balance; }
.state-immersive .tw-h1 .g{ color:var(--clay); }
.state-immersive .tw-sub{ font-size:18px; line-height:1.55; color:var(--ink-soft); margin-top:18px; max-width:46ch; }

/* Live-coverage panel (stats + deepest coverage) */
.state-immersive .tw-live{ background:var(--navy); border:1px solid var(--navy-line); border-radius:var(--r-lg); padding:26px 30px; box-shadow:var(--shadow-lg); }
.state-immersive .tw-live-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.state-immersive .tw-live-top .lbl{ font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.state-immersive .tw-live-top .dt{ font-size:12px; font-weight:700; color:var(--muted-navy); }
.state-immersive .tw-live-stats{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:18px 0 0; padding-bottom:20px; border-bottom:1px solid var(--navy-line); }
.state-immersive .tw-live-stats .st{ display:flex; flex-direction:column; }
.state-immersive .tw-live-stats .n{ font-family:var(--serif); font-size:clamp(40px,5vw,56px); font-weight:600; line-height:.92; color:#fff; }
.state-immersive .tw-live-stats .n.g{ color:var(--gold); }
.state-immersive .tw-live-stats .l{ font-size:12.5px; font-weight:700; color:var(--muted-navy); margin-top:9px; }
.state-immersive .tw-live-deep{ margin-top:18px; }
.state-immersive .tw-live-deep .dl{ font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--muted-navy); }
.state-immersive .tw-live-deep ol{ list-style:none; margin:12px 0 0; padding:0; }
.state-immersive .tw-live-deep li{ display:flex; align-items:center; gap:11px; padding:8px 0; }
.state-immersive .tw-live-deep .rk{ flex:none; width:20px; height:20px; border-radius:50%; background:var(--navy-600); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:10.5px; font-weight:800; }
.state-immersive .tw-live-deep .nm{ flex:1; color:#fff; font-weight:600; font-size:14px; }
.state-immersive .tw-live-deep .ct{ color:var(--muted-navy); font-size:12.5px; font-weight:700; white-space:nowrap; }

/* States grid */
.state-immersive .tw-states-head{ font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.state-immersive .tw-states{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px; }
.state-immersive .tw-state{ display:flex; align-items:center; gap:14px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:15px 18px; box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease; }
.state-immersive .tw-state:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.state-immersive .tw-state .ab{ flex:none; width:38px; height:38px; border-radius:9px; background:var(--beige-2); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; letter-spacing:.02em; }
.state-immersive .tw-state .nm{ flex:1; font-weight:700; color:var(--navy); font-size:15.5px; line-height:1.15; }
.state-immersive .tw-state .ct{ font-size:13px; font-weight:700; color:var(--clay-700); white-space:nowrap; }
.state-immersive .tw-state .ar{ flex:none; color:var(--muted); font-weight:800; }
.state-immersive .tw-state:hover .ar{ color:var(--navy); }

/* "Don't see your town" note */
.state-immersive .tw-note{ text-align:center; max-width:700px; margin:34px auto 0; font-size:14.5px; line-height:1.55; color:var(--ink-soft); }
.state-immersive .tw-note a{ color:var(--clay-700); font-weight:700; text-decoration:underline; }

/* Split CTA cards */
.state-immersive .tw-split{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.state-immersive .tw-cc{ border-radius:var(--r-lg); padding:34px 36px; }
.state-immersive .tw-cc .ey{ font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.state-immersive .tw-cc h3{ font-family:var(--serif); font-size:clamp(23px,2.8vw,30px); font-weight:600; line-height:1.1; margin-top:10px; }
.state-immersive .tw-cc p{ font-size:14.5px; line-height:1.55; margin-top:12px; }
.state-immersive .tw-cc .row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:22px; }
.state-immersive .tw-cc--res{ background:var(--navy); }
.state-immersive .tw-cc--res .ey{ color:var(--gold); }
.state-immersive .tw-cc--res h3{ color:#fff; }
.state-immersive .tw-cc--res p{ color:var(--muted-navy); }
.state-immersive .tw-cc--res .meta{ font-weight:700; color:var(--muted-navy); font-size:13px; }
.state-immersive .tw-cc--biz{ background:var(--gold); }
.state-immersive .tw-cc--biz .ey{ color:var(--navy); }
.state-immersive .tw-cc--biz h3{ color:var(--navy); }
.state-immersive .tw-cc--biz p{ color:rgba(11,45,57,.82); }
.state-immersive .tw-cc--biz .meta{ font-weight:800; color:var(--navy); font-size:13px; }

@media (max-width:980px){
  .state-immersive .tw-hero-grid{ grid-template-columns:1fr; gap:34px; }
  .state-immersive .tw-states{ grid-template-columns:1fr 1fr; }
  .state-immersive .tw-split{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .state-immersive .tw-states{ grid-template-columns:1fr; }
}
