/* Layout: one search panel on top, then results as a ruled list beside a sticky schematic map on wide screens.
   Palette follows the Marissa's Voice usage guides (near white 55 / purple 20 / lavender 12 / teal 8 / gold 5).
   Type: Playfair Display for headlines, Open Sans for body, Montserrat for buttons, labels and numbers. */
:root{
  --bg:#FCFAFF; --surface:#FFFFFF; --lav:#F3EFFA; --ink:#28232D; --muted:#5E5568; --line:#E2D9EE;
  --purple:#6A0DAD; --purple-ink:#6A0DAD; --deep:#461078; --btn:#6A0DAD; --btn-ink:#FFFFFF;
  --teal:#00A5A5; --teal-ink:#006F73; --gold:#D4A017; --gold-hi:#F2AE16; --gold-ink:#6E5000;
  --ok-bg:#E2F5F5; --partial-bg:#EEE5FA; --unk-bg:#FFF4D6; --warn:#9A3412; --focus:#006F73;
  --map-bg:#F6F2FC; --dot:#CFC3E0; --band:#461078; --band-ink:#FFFFFF;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-ui:"Montserrat","Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#12001F; --surface:#1B0B2C; --lav:#241036; --ink:#F6F1FB; --muted:#BFB3CD; --line:#3C2754;
    --purple-ink:#D8ADF7; --btn:#7A2DBE; --teal-ink:#5ED8D8; --gold-ink:#F2AE16;
    --ok-bg:#0B2B30; --partial-bg:#2B1844; --unk-bg:#2E2208; --warn:#FDBA74; --focus:#5ED8D8;
    --map-bg:#190A2A; --dot:#4B3468; --band:#2A0B4A; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#12001F; --surface:#1B0B2C; --lav:#241036; --ink:#F6F1FB; --muted:#BFB3CD; --line:#3C2754;
  --purple-ink:#D8ADF7; --btn:#7A2DBE; --teal-ink:#5ED8D8; --gold-ink:#F2AE16;
  --ok-bg:#0B2B30; --partial-bg:#2B1844; --unk-bg:#2E2208; --warn:#FDBA74; --focus:#5ED8D8;
  --map-bg:#190A2A; --dot:#4B3468; --band:#2A0B4A; color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;padding-inline:16px;padding-block:0 40px;-webkit-text-size-adjust:100%}
.wrap{max-width:1180px;margin-inline:auto}
a{color:var(--purple-ink);text-underline-offset:2px}
a:hover{color:var(--teal-ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
h1,h2,h3{text-wrap:balance;margin:0}
button{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar and emergency band */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px 10px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;gap:2px;min-width:0}
.wordmark{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--purple-ink);line-height:1.1}
.tagline{font-family:var(--font-ui);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}
.ghost{font-family:var(--font-ui);font-weight:600;font-size:.85rem;background:transparent;border:1.5px solid var(--purple-ink);color:var(--purple-ink);padding:8px 14px;border-radius:6px;cursor:pointer}
.ghost:hover{background:var(--lav)}
.band{margin-inline:-16px;background:var(--band);color:var(--band-ink);padding:10px 16px}
.band .wrap{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;font-size:.95rem}
.band strong{font-family:var(--font-ui);font-weight:700}
.band .hi{color:var(--gold-hi);font-family:var(--font-ui);font-weight:700}
.band .lsl{font-family:var(--font-ui);font-weight:700;letter-spacing:.08em;font-size:.82rem}

/* hero + search */
.hero{padding-block:28px 20px;display:grid;gap:18px}
.hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5.2vw,3.1rem);line-height:1.08;color:var(--deep)}
:root[data-theme="dark"] .hero h1{color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero h1{color:var(--ink)}}
.lede{max-width:62ch;margin:0;color:var(--muted);font-size:1.02rem}
.search{background:var(--lav);border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:14px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.field{display:grid;gap:4px;min-width:0}
.field label,.lbl{font-family:var(--font-ui);font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input[type=text],input[type=search],input[type=date],input[type=number],select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:6px;padding:10px 12px;min-width:0;max-width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--focus)}
#zip{width:9.5ch;font-family:var(--font-ui);font-weight:600;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.primary{font-family:var(--font-ui);font-weight:700;font-size:.95rem;background:var(--btn);color:var(--btn-ink);border:0;border-radius:6px;padding:11px 20px;cursor:pointer}
.primary:hover{filter:brightness(1.1)}
.primary[disabled]{opacity:.55;cursor:default}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--font-ui);font-weight:600;font-size:.82rem;background:var(--surface);border:1.5px solid var(--line);color:var(--ink);padding:7px 12px;border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--purple-ink);border-color:var(--purple-ink);color:var(--surface)}
.note{font-size:.88rem;color:var(--muted);margin:0}
.err{color:var(--warn);font-weight:600}

/* status labels */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-weight:700;font-size:.74rem;letter-spacing:.03em;padding:3px 9px;border-radius:4px;white-space:nowrap}
.badge svg{width:13px;height:13px;flex:none}
.badge.verified{background:var(--ok-bg);color:var(--teal-ink);border:1px solid var(--teal)}
.badge.partial{background:var(--partial-bg);color:var(--purple-ink);border:1px solid var(--purple-ink)}
.badge.unconfirmed{background:var(--unk-bg);color:var(--gold-ink);border:1.5px dashed var(--gold)}
.key{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:.9rem}
.key li{display:flex;gap:10px;align-items:flex-start}
.key .badge{margin-top:2px}

/* results */
.results{display:grid;gap:20px;padding-block:8px 0}
.rhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;border-bottom:2px solid var(--purple-ink);padding-bottom:10px}
.rhead h2{font-family:var(--font-display);font-size:1.5rem;color:var(--deep)}
:root[data-theme="dark"] .rhead h2{color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rhead h2{color:var(--ink)}}
.counts{font-family:var(--font-ui);font-size:.82rem;color:var(--muted);margin:0}
.seg{display:inline-flex;border:1.5px solid var(--purple-ink);border-radius:6px;overflow:hidden}
.seg button{font-family:var(--font-ui);font-weight:600;font-size:.85rem;background:transparent;border:0;padding:8px 16px;cursor:pointer;color:var(--purple-ink)}
.seg button[aria-pressed="true"]{background:var(--purple-ink);color:var(--surface)}
.split{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
.pane-map{display:none}
body[data-view="map"] .pane-list{display:none}
body[data-view="map"] .pane-map{display:block}
@media (min-width:1000px){
  .split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}
  .pane-list,body[data-view="map"] .pane-list{display:block}
  .pane-map,body[data-view="map"] .pane-map{display:block;position:sticky;top:12px}
  .seg{display:none}
}
.group{margin-block:0 26px}
.group>h3{font-family:var(--font-ui);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);padding-bottom:6px;border-bottom:1px solid var(--line)}
.group>.gnote{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
.rec{padding-block:16px;border-bottom:1px solid var(--line);display:grid;gap:8px;scroll-margin-top:16px}
.rec.is-sel{background:var(--lav);margin-inline:-10px;padding-inline:10px;border-radius:6px}
.rtop{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.rtop h4{font-family:var(--font-ui);font-weight:700;font-size:1.02rem;line-height:1.3;margin:0;flex:1 1 14rem;min-width:0}
.num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--font-ui);font-weight:700;font-size:.8rem;display:grid;place-items:center;font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .num{background:var(--purple-ink);color:#12001F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .num{background:var(--purple-ink);color:#12001F}}
.sub{margin:0;color:var(--ink)}
.facts{display:grid;gap:3px;margin:0;font-size:.93rem}
.facts div{display:flex;gap:8px;flex-wrap:wrap}
.facts dt{font-family:var(--font-ui);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:0 0 5.2rem;padding-top:2px}
.facts dd{margin:0;min-width:0;overflow-wrap:anywhere;flex:1 1 12rem;font-variant-numeric:tabular-nums}
.warn{display:flex;gap:8px;align-items:flex-start;background:var(--unk-bg);color:var(--gold-ink);border:1px dashed var(--gold);border-radius:6px;padding:8px 10px;font-size:.9rem;margin:0}
.warn svg{width:16px;height:16px;flex:none;margin-top:3px}
.meta{font-size:.85rem;color:var(--muted);margin:0}
.meta .stale{color:var(--warn);font-weight:600}
details.more{font-size:.92rem}
details.more>summary{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.84rem;color:var(--purple-ink);padding-block:2px}
details.more .inner{display:grid;gap:10px;padding-block:8px 2px}
details.more h5{font-family:var(--font-ui);font-weight:700;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 3px}
details.more ul{margin:0;padding-left:1.1rem;display:grid;gap:3px}
.links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.92rem;font-family:var(--font-ui);font-weight:600}
.farther>summary{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.88rem;color:var(--purple-ink);padding-block:10px}

/* map */
.mapwrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--map-bg)}
.mapwrap svg{display:block;width:100%;max-width:100%;height:auto}
.m-dot{fill:var(--dot)}
.m-ring{fill:none;stroke:var(--purple-ink);stroke-width:1.5;stroke-dasharray:6 5}
.m-ringfill{fill:var(--purple-ink);opacity:.05}
.m-city{fill:var(--muted);font:600 11px var(--font-ui);paint-order:stroke;stroke:var(--map-bg);stroke-width:3px;stroke-linejoin:round}
.m-lbl{fill:var(--ink);font:700 11px var(--font-ui);paint-order:stroke;stroke:var(--map-bg);stroke-width:3px}
.m-scale{stroke:var(--ink);stroke-width:2;fill:none}
.pin{cursor:pointer}
.pin circle{stroke-width:2}
.pin .s-verified{fill:var(--teal-ink);stroke:var(--map-bg)}
.pin .s-partial{fill:var(--purple-ink);stroke:var(--map-bg)}
.pin .s-unconfirmed{fill:var(--gold-hi);stroke:var(--ink);stroke-dasharray:3 2}
.pin text{font:700 12px var(--font-ui);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.pin .s-verified~text{fill:var(--bg)}
.pin .s-partial~text{fill:var(--surface)}
.pin .s-unconfirmed~text{fill:#12001F}
.pin.is-sel circle.halo{display:block}
.pin circle.halo{display:none;fill:none;stroke:var(--focus);stroke-width:3}
.pin:focus-visible{outline:none}
.pin:focus-visible circle.halo{display:block}
.mapnote{font-size:.84rem;color:var(--muted);margin:8px 0 0}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;margin:8px 0 0;font-family:var(--font-ui);font-weight:600}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend i{width:14px;height:14px;border-radius:50%;display:inline-block}
.legend .l-v{background:var(--teal-ink)}
.legend .l-p{background:var(--purple-ink)}
.legend .l-u{background:var(--gold-hi);border:1.5px dashed var(--ink)}
.mapsel{margin-top:10px;border-top:1px solid var(--line);padding-top:10px;display:grid;gap:6px;font-size:.93rem}
.mapsel h4{font-family:var(--font-ui);margin:0;font-size:1rem}

/* callouts */
.callout{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:12px 14px;font-size:.92rem;display:grid;gap:6px}
.callout.unc{background:var(--unk-bg);border:1px dashed var(--gold);color:var(--ink)}
details.cov{font-size:.92rem}
details.cov>summary,details.keyd>summary{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.86rem;color:var(--purple-ink)}
.regions{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.regions li{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}
.pill{font-family:var(--font-ui);font-weight:700;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.pill.live{background:var(--ok-bg);color:var(--teal-ink);border-color:var(--teal)}
.pill.planned{color:var(--muted)}

/* footer + suggest */
.foot{margin-top:36px;border-top:2px solid var(--purple-ink);padding-top:18px;display:grid;gap:18px}
.foot h2{font-family:var(--font-display);font-size:1.25rem;color:var(--deep)}
:root[data-theme="dark"] .foot h2{color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .foot h2{color:var(--ink)}}
.cols{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
@media (min-width:820px){.cols{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.suggest{display:grid;gap:10px}
.suggest textarea{min-height:84px;resize:vertical;width:100%}
.suggest input[type=text],.suggest select{width:100%}
.disc{font-size:.85rem;color:var(--muted);display:grid;gap:6px}
.orgline{font-family:var(--font-ui);font-weight:600;font-size:.88rem}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:6px;font-family:var(--font-ui);font-weight:600;font-size:.88rem;max-width:calc(100% - 32px);z-index:20}

.small{font-family:var(--font-ui);font-weight:600;font-size:.8rem;background:transparent;border:1.5px solid var(--line);border-radius:5px;padding:5px 10px;cursor:pointer}
.small:hover{border-color:var(--purple-ink)}
.tinyid{font-family:var(--font-ui);font-size:.72rem;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){.rec,.chip,.primary{transition:background-color .15s,filter .15s}}

/* ===== v2 look: calmer, bolder hierarchy, bigger tap targets ===== */
:root{--shadow:0 1px 2px rgba(40,20,70,.06),0 6px 20px rgba(70,16,120,.08);--shadow-lg:0 2px 4px rgba(40,20,70,.08),0 14px 40px rgba(40,10,80,.22);--radius:16px;--hero1:#2F0A57;--hero2:#6A0DAD;--card:#FFFFFF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);--card:#1B0B2C;--hero1:#14002A;--hero2:#3E0F72}}
:root[data-theme="dark"]{--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);--card:#1B0B2C;--hero1:#14002A;--hero2:#3E0F72}
body{font-size:17px;line-height:1.6}
.top{padding-block:16px 14px}
.wordmark{font-size:1.5rem}
.band{margin-inline:-16px;padding:9px 16px;font-size:.92rem}
.hero{margin-inline:-16px;padding:26px 16px 32px;background:radial-gradient(1200px 400px at 85% -10%,rgba(0,165,165,.28),transparent 60%),linear-gradient(160deg,var(--hero1),var(--hero2));color:#fff;display:block}

.banner{margin:0;padding:0}.banner img{display:block;width:100%;height:auto;aspect-ratio:1500/844;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-lg)}
.locbtn{margin-top:8px;font-size:.9rem;padding:8px 12px;width:100%}
.coverrow{display:flex;align-items:center;gap:14px;margin-bottom:6px}.covertile{width:72px;height:72px;border-radius:16px;box-shadow:var(--shadow-lg);flex:none;border:2px solid var(--gold-hi,#d9a93a)}.coverrow .eyebrow{margin:0}
.a2hs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border-radius:18px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-lg);border:1px solid var(--line,rgba(0,0,0,.12))}
.a2hs .logo{width:48px;height:48px;flex:none}.a2hs .a2t{flex:1 1 200px;min-width:0;display:grid;gap:2px}.a2hs .a2t span{font-size:.88rem;opacity:.8}
.sheet{position:fixed;inset:0;z-index:90;background:rgba(20,10,35,.62);display:grid;place-items:center;padding:16px}
.sheet[hidden]{display:none}
.sheetbox{position:relative;background:var(--card);color:var(--ink);border-radius:22px;padding:22px 20px;max-width:440px;width:100%;max-height:calc(100% - 32px);overflow:auto;display:grid;gap:12px;justify-items:start;box-shadow:var(--shadow-lg)}
.sheetbox h2{margin:0}.sheetx{position:absolute;top:8px;right:10px;width:44px;height:44px;border:0;background:none;font-size:1.9rem;color:inherit;cursor:pointer}
.seg{display:flex;gap:8px}.seg button{min-height:44px;padding:8px 18px;border-radius:999px;border:2px solid var(--btn);background:transparent;color:inherit;font-weight:700;font-family:var(--font-ui);cursor:pointer}.seg button[aria-selected=true]{background:var(--btn);color:#fff}
.steps[hidden],.sheetbox [hidden]{display:none!important}.steps{margin:0;padding-left:1.3em;display:grid;gap:10px;line-height:1.45}
.apptile{display:grid;gap:14px;justify-items:center;text-align:center}.apptile img{width:min(100%,300px);height:auto;aspect-ratio:1;border-radius:22px;box-shadow:var(--shadow-lg)}
.herogrid{display:grid;gap:26px;align-items:start}
@media(min-width:900px){.herogrid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center}.hero{padding-block:56px 64px}}
.eyebrow{font-family:var(--font-ui);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#7FE3E3;margin:0 0 10px}
.hero h1,:root[data-theme="dark"] .hero h1{color:#fff;font-size:clamp(2.2rem,6vw,3.6rem);letter-spacing:-.01em}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero h1{color:#fff}}
.hero .lede{color:#E9DDF7;font-size:1.1rem;max-width:46ch;margin-top:14px}
.helpnow{display:grid;gap:8px;margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.hn{display:grid;gap:2px;align-content:start;padding:10px 10px;border-radius:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;min-height:56px}
.hn strong{font-family:var(--font-ui);font-weight:800;font-size:clamp(.88rem,3.6vw,1.1rem);white-space:nowrap;color:var(--gold-hi);font-variant-numeric:tabular-nums}
.hn span{font-size:.74rem;color:#EADFF7;line-height:1.3}
.hn:hover{background:rgba(255,255,255,.18);color:#fff}
.herocard{background:var(--card);color:var(--ink);border-radius:20px;box-shadow:var(--shadow-lg);padding:20px;display:grid;gap:14px}
.herocard .search{background:transparent;border:0;padding:0;gap:14px}
.herocard .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.herocard .zipf{grid-column:1/-1}
.herocard #zip{width:100%;font-size:1.6rem;padding:14px 16px;letter-spacing:.14em;border-radius:12px;border-width:2px}
.herocard select{width:100%;padding:12px;border-radius:12px;border-width:2px}
.herocard .row>.field:nth-child(2){grid-column:1/-1}
.herocard .go{grid-column:1/-1;font-size:1.1rem;padding:15px;border-radius:12px;background:linear-gradient(180deg,#7B1FC2,#5A0A98);box-shadow:0 4px 14px rgba(106,13,173,.35)}
@media(max-width:380px){.herocard .row{grid-template-columns:1fr}}
input[type=text],input[type=search],input[type=date],input[type=number],select,textarea{border-radius:10px;min-height:44px}
.chip{padding:10px 15px;min-height:42px;font-size:.86rem;border-radius:999px}
.chip[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.chip[aria-pressed="false"]{opacity:.8}
.card,details.keyd,details.cov{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-top:14px;box-shadow:var(--shadow)}
details.keyd{margin-top:20px}
.primary{border-radius:12px}
.results{padding-block:22px 0}
.rhead{border-bottom:0;padding-bottom:4px}
.rhead h2{font-size:1.8rem}
.counts{font-size:.85rem}
.seg{border-radius:999px;box-shadow:var(--shadow);background:var(--card)}
.seg button{padding:10px 20px;min-height:44px}
.group{margin-block:0 30px}
.group>h3{font-size:.82rem;color:#fff;background:var(--deep);padding:9px 14px;border:0;border-radius:10px;display:inline-block;margin-bottom:4px}
:root[data-theme="dark"] .group>h3{background:var(--hero2)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .group>h3{background:var(--hero2)}}
.group>.gnote{margin:6px 2px 10px}
.rec{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--purple-ink);border-radius:14px;padding:16px 16px 14px;margin-top:12px;box-shadow:var(--shadow);gap:10px}
.rec[data-status="verified"]{border-left-color:var(--teal)}
.rec[data-status="partial"]{border-left-color:var(--purple-ink)}
.rec[data-status="unconfirmed"]{border-left:5px dashed var(--gold)}
.rec.is-sel{background:var(--lav);margin-inline:0;padding-inline:16px;outline:2px solid var(--focus)}
.rtop h4{font-size:1.1rem}
.sub{font-size:1rem}
.facts{font-size:.95rem;background:var(--lav);border-radius:10px;padding:10px 12px;gap:6px}
.links{gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border-radius:999px;font-family:var(--font-ui);font-weight:700;font-size:.9rem;text-decoration:none;border:2px solid var(--purple-ink);color:var(--purple-ink);background:transparent}
.btn:hover{background:var(--lav);color:var(--purple-ink)}
.btn.call{background:var(--btn);border-color:var(--btn);color:#fff}
.btn.call:hover{filter:brightness(1.12);background:var(--btn);color:#fff}
.btn.dir{border-color:var(--teal-ink);color:var(--teal-ink)}
.mapwrap{border-radius:16px;box-shadow:var(--shadow)}
.callout{border-radius:14px;box-shadow:var(--shadow);background:var(--card)}
.callout.unc{background:var(--unk-bg)}
.foot{border-top:0;margin-top:44px;padding:28px 20px;background:var(--lav);border-radius:20px}
.foot .suggest-wrap,.foot .disc{background:transparent}
.toast{border-radius:999px}
@media(min-width:1000px){.pane-map{top:16px}}

/* ===== v3 look: brand header with round logo on white, tab navigation, story pages ===== */
:root{--head:#461078;--white:#FFFFFF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--head:#F6F1FB}}
:root[data-theme="dark"]{--head:#F6F1FB}
body{padding-bottom:48px}
.top{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;padding-block:12px 12px}
.brandlink{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit;flex:1 1 auto}
.logo{flex:none;width:64px;height:64px;border-radius:50%;background:var(--white);overflow:hidden;box-shadow:0 0 0 3px var(--white),0 3px 14px rgba(70,16,120,.28)}
.logo img{display:block;width:100%;height:100%}
.brand{min-width:0}
.wordmark{font-size:1.45rem}
.tagline{display:block;font-size:.66rem}
.tabs{display:flex;gap:4px;flex:none}
.tabs button{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:700;font-size:.88rem;padding:10px 16px;min-height:44px;border-radius:999px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.tabs button svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs button:hover{background:var(--lav)}
.tabs button[aria-current="page"]{background:var(--btn);color:#fff}
.tabs .donate-tab{color:var(--purple-ink)}
.tabs .donate-tab[aria-current="page"]{color:#fff}
@media(max-width:1020px){.tabs button{padding:10px 10px;font-size:.82rem}}
@media(max-width:759px){
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-around;gap:0;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(40,10,80,.14);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .tabs button{flex:1 1 0;flex-direction:column;gap:3px;font-size:.68rem;padding:6px 2px;min-width:0;border-radius:12px;white-space:nowrap}
  body{padding-bottom:96px}
  .logo{width:54px;height:54px}
  .wordmark{font-size:1.25rem}
  .tagline{letter-spacing:.03em}
}
.tab{display:none}
body:not([data-tab]) #tab-find,body[data-tab="find"] #tab-find,body[data-tab="marissa"] #tab-marissa,body[data-tab="howto"] #tab-howto,body[data-tab="about"] #tab-about,body[data-tab="donate"] #tab-donate{display:block}
.page{padding-block:26px 8px;display:grid;gap:26px}
.pagehead{display:grid;gap:8px}
.pagehead h1,.pagehead h2.big{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,6vw,3.2rem);line-height:1.08;color:var(--head);letter-spacing:-.01em}
.pagehead .eyebrow{color:var(--teal-ink);margin:0}
.dates{font-family:var(--font-ui);font-weight:600;color:var(--muted);margin:0;font-variant-numeric:tabular-nums}
.f21{font-family:var(--font-display);font-style:italic;font-weight:700;color:var(--purple-ink);font-size:1.4rem}
.two{display:grid;gap:26px;align-items:start}
@media(min-width:860px){.two{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px}.two.flip{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.portrait{margin:0;background:var(--white);padding:10px;border-radius:24px;box-shadow:var(--shadow-lg);max-width:420px}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:16px}
.portrait figcaption{font-family:var(--font-ui);font-weight:700;font-size:.82rem;text-align:center;color:#461078;padding:10px 4px 4px}
.photo{margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--card)}
.photo img{display:block;width:100%;height:auto}
.photo figcaption{font-size:.85rem;color:var(--muted);padding:10px 14px}
.quote{margin:0;padding:22px 24px;border-radius:20px;background:linear-gradient(160deg,var(--hero1),var(--hero2));color:#fff;box-shadow:var(--shadow-lg)}
.quote p{font-family:var(--font-display);font-style:italic;font-weight:700;font-size:clamp(1.25rem,3.6vw,1.8rem);line-height:1.3;margin:0;text-wrap:balance}
.quote cite{display:block;margin-top:10px;font-family:var(--font-ui);font-style:normal;font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#7FE3E3}
.sec{display:grid;gap:12px}
.sec h2{font-family:var(--font-ui);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);padding-bottom:6px;border-bottom:2px solid var(--line);margin:0}
.bul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bul li{position:relative;padding-left:26px}
.bul li::before{content:"";position:absolute;left:3px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 0 3px var(--ok-bg)}
.bul b{font-family:var(--font-ui);color:var(--head)}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn.fill{background:var(--btn);border-color:var(--btn);color:#fff}
.btn.fill:hover{filter:brightness(1.12);background:var(--btn);color:#fff}
.btn.gold{background:var(--gold-hi);border-color:var(--gold-hi);color:#28232D}
.btn.gold:hover{background:var(--gold-hi);color:#28232D;filter:brightness(1.05)}
.team{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.person{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--purple-ink);border-radius:14px;padding:16px;box-shadow:var(--shadow);display:grid;gap:4px;min-width:0}
.person h3{font-family:var(--font-display);font-size:1.25rem;color:var(--head)}
.person .role{font-family:var(--font-ui);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}
.person p{margin:4px 0 0;font-size:.95rem}
.qf{display:grid;gap:0;margin:0;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.qf div{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.qf div:last-child{border-bottom:0}
.qf dt{flex:0 0 7.5rem;font-family:var(--font-ui);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.qf dd{margin:0;flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}
.donategrid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.qrcard{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px;display:grid;gap:12px;justify-items:center;text-align:center;min-width:0}
.qrcard.feature{border:2px solid var(--gold-hi);box-shadow:var(--shadow-lg)}
.qrcard h2{font-family:var(--font-display);font-size:1.4rem;color:var(--head);margin:0;border:0;padding:0;text-transform:none;letter-spacing:0}
.qrcard p{margin:0;font-size:.95rem;color:var(--muted)}
.qrbox{background:var(--white);padding:12px;border-radius:14px;border:1px solid #E2D9EE;line-height:0}
.qrbox img{width:min(100%,230px);height:auto;aspect-ratio:1;display:block}
.brandfoot{margin-top:40px;margin-inline:-16px;background:#FCFAFF;color:#28232D;border-top:4px solid #6A0DAD}
:root[data-theme="dark"] .brandfoot{border-top-color:#F2AE16}
.bf{display:grid;gap:18px;padding:22px 16px;align-items:center;grid-template-columns:auto minmax(0,1fr)}
.bf .logo{width:84px;height:84px;box-shadow:0 0 0 2px #E2D9EE}
.bf-text{display:grid;gap:3px;font-size:.88rem;min-width:0}
.bf-text strong{font-family:var(--font-ui);font-size:1rem;color:#461078}
.bf-text a{color:#6A0DAD}
.bf-qrs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px}
.bf-qrs figure{margin:0;display:grid;gap:4px;justify-items:center;font-family:var(--font-ui);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#461078}
.bf-qrs .qrbox{padding:6px;border-radius:10px}
.bf-qrs .qrbox img{width:104px}
@media(min-width:760px){.bf{grid-template-columns:auto minmax(0,1fr) auto}.bf-qrs{grid-column:auto}}
.hero .logo-hero{display:none}
.card.news{display:grid;gap:4px}

.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:12px}
.steps li{counter-increment:s;position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px 14px 62px;min-width:0}
.steps li::before{content:counter(s);position:absolute;left:14px;top:12px;width:36px;height:36px;border-radius:50%;background:var(--btn);color:#fff;font-family:var(--font-ui);font-weight:800;display:grid;place-items:center}
.steps h3{font-family:var(--font-ui);font-size:1.02rem;color:var(--head);margin:0 0 4px}
.steps p,.steps ul{margin:0;font-size:.97rem}
.steps ul{padding-left:1.1rem;display:grid;gap:3px;margin-top:4px}
.alert{border-left:6px solid #C2410C;background:var(--unk-bg);border-radius:12px;padding:14px 16px;display:grid;gap:4px}
.alert strong{font-family:var(--font-ui);font-size:1.05rem}
.vids{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.vid{display:grid;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;text-decoration:none;color:var(--ink);min-width:0}
.vid b{font-family:var(--font-ui);color:var(--head)}
.vid span{font-size:.88rem;color:var(--muted)}
.vid .play{font-family:var(--font-ui);font-weight:700;font-size:.82rem;color:var(--purple-ink)}

/* ===== v4: state tile map, language toggle ===== */
.lang{padding:8px 12px;font-size:.8rem;flex:none}
.es-only{display:none}
body[data-lang="es"] .es-only{display:block}
body[data-lang="es"] #tab-howto{display:none!important}
body[data-tab="howto"][data-lang="es"] #tab-howto-es{display:block}
details.tilemap>summary{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.86rem;color:var(--purple-ink)}
.tiles{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;margin-top:12px;max-width:600px}
.tile{aspect-ratio:1;border:0;border-radius:6px;background:var(--lav);color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:.68rem;cursor:pointer;padding:0;min-width:0;display:grid;place-items:center}
.tile:hover{background:var(--partial-bg)}
.tile.live{box-shadow:inset 0 0 0 2px var(--gold-hi)}
.tile[aria-pressed="true"]{background:var(--btn);color:#fff}

/* ===== vNEXT additions ===== */
.skip{position:absolute;left:8px;top:-60px;background:var(--purple,#6A0DAD);color:#fff;padding:12px 16px;border-radius:8px;z-index:1000;font-weight:700;text-decoration:none}
.skip:focus{top:8px}
.nav-short{display:none}
@media(max-width:620px){.nav-full{display:none}.nav-short{display:inline}}
.tabs button,.chip,.seg button,.btn,.ghost,.primary,select,input[type=text],.tile,.sheetx{min-height:44px}
.tabs button{min-width:44px}
.btn{display:inline-flex;align-items:center;justify-content:center}
button.btn.act{cursor:pointer;font:inherit;font-weight:700}
.btn.report{background:transparent}
.filters{border:0;padding:0;margin:12px 0 0}
.filters legend{font-weight:700;font-size:.9rem;padding:0;margin-bottom:6px}
.filters .chips{margin-bottom:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.tag{font-size:.74rem;border:1px solid var(--line,#cfc6e2);border-radius:999px;padding:2px 9px;color:var(--muted,#5c4f73)}
.statepanel{margin:14px 0;padding:14px 18px}
.statepanel h3{margin:0 0 6px}
.statefacts{margin:0;padding-left:18px}
.subnav{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.nextbest .stephead{margin:16px 0 4px;font-family:var(--font-ui,inherit)}
.coverline{margin-top:8px}
.tablewrap{overflow-x:auto;max-width:100%;border:1px solid var(--line,#cfc6e2);border-radius:10px}
.covtable{border-collapse:collapse;width:100%;font-size:.88rem}
.covtable th,.covtable td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line,#e5def2);white-space:nowrap}
.covtable thead th{background:var(--lav,#F3EFFA);position:sticky;top:0}
.subh{margin:16px 0 6px}
.tilescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px}
.tilescroll:focus-visible{outline:3px solid var(--gold-hi,#D4A017);outline-offset:2px}
.tiles{display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));gap:4px;min-width:640px}
.tile{min-width:44px;min-height:44px;padding:0;font-weight:700;cursor:pointer}
.tile:focus-visible{outline:3px solid var(--ink,#1b1030);outline-offset:2px;box-shadow:0 0 0 5px var(--gold-hi,#D4A017)}
body:not([data-lang="es"]) .es-only{display:none}
body[data-donations="off"] [data-donate]{display:none}
.tablewrap:focus-visible,.farther summary:focus-visible,summary:focus-visible{outline:3px solid var(--gold-hi,#D4A017);outline-offset:2px}
.src{display:block;margin-top:4px;font-size:.82rem;color:var(--muted,#5c4f73)}
.src a{color:inherit}
.reviewed{margin:14px 0;padding:10px 14px;border-left:4px solid var(--teal,#00A5A5);background:var(--lav,#F3EFFA);border-radius:6px;font-size:.92rem}
.srclist{font-size:.9rem;padding-left:18px}
.footlinks a{padding:10px 4px;display:inline-block}
.stale{color:var(--warn,#8a4b00)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.offline-page{max-width:640px;margin:0 auto;padding:20px}
/* map-fit 2026-10-22: tile map fits phone width (no sideways scroll/cropping) */
@media (max-width:700px){
.tilescroll{overflow-x:visible;padding:4px 0}
.tiles{grid-template-columns:repeat(11,minmax(0,1fr));gap:3px;min-width:0;max-width:100%}
.tile{min-width:0;min-height:40px;aspect-ratio:auto;font-size:clamp(.62rem,2.7vw,.78rem);letter-spacing:-.01em;border-radius:5px}
}
