/* Aquagenuity® site — Brand System 2.0 (canon/BRAND_SYSTEM_2_0.md, locked 2026-10-03).
   Hand-written. Pages are generated by _tools/build.py. No inline styles anywhere (CSP). */

/* ------------------------------------------------------------------ fonts (self-hosted, OFL) */
@font-face{font-family:"Geist";src:url(/fonts/geist-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";src:url(/fonts/geist-mono-400-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/geist-mono-500-latin.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* ------------------------------------------------------------------ tokens */
:root{
  --abyss:#0D2328; --abyss-2:#0a1c20; --tide:#207076; --lagoon:#4FC3C7; --sand:#AC9D82;
  --fog:#ECEBE7; --fog-text:#EEF2F1; --paper:#F7F6F3; --ink:#121212;
  --muted:#5c5b57;            /* body-secondary on Fog/Paper: 6.0:1 on Fog */
  --muted-dark:rgba(238,242,241,.74);
  --hair:rgba(18,18,18,.12); --hair-dark:rgba(238,242,241,.16);
  --b-near:#207076; --b-small:#2B8A8C; --b-wide:#8A5600; --b-poor:#B3311A; --b-crit:#7A1F10;
  --b-near-d:#4FC3C7; --b-small-d:#6FD0D3; --b-wide-d:#F2B94B; --b-poor-d:#FF8A6B; --b-crit-d:#FF8A6B;
  --action:linear-gradient(100deg,#8ADCDD 0%,#4FC3C7 55%,#3AA9AD 100%);
  --lagoon-text:linear-gradient(100deg,#EAF6EF 0%,#4FC3C7 60%,#2B8A8C 100%);
  --tide-text:linear-gradient(100deg,#0D2328 0%,#207076 55%,#2B8A8C 100%);
  --chrome:linear-gradient(180deg,#FFFFFF 0%,#EEF2F1 40%,#C9D3D4 52%,#F4F7F6 64%,#E2E8E7 100%);
  --earth:linear-gradient(170deg,#AC9D82 0%,#CFC6B1 45%,#EDEFE6 100%);
  --deep:linear-gradient(160deg,#0D2328 0%,#0F3A40 55%,#207076 130%);
  --rim:linear-gradient(140deg,rgba(255,255,255,.55),rgba(255,255,255,.08) 40%,rgba(79,195,199,.35) 70%,rgba(255,255,255,.12));
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --wrap:1280px; --gut:32px;
  --r-card:22px; --r-panel:28px;
}
@media (max-width:600px){:root{--gut:16px}}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fog);color:var(--ink);font:400 17px/1.6 var(--sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{max-width:100%;display:block}
picture{display:block}
a{color:var(--tide);text-underline-offset:3px}
a:hover{color:var(--abyss)}
.on-dark a:not(.btn){color:var(--lagoon)}
.on-dark a:not(.btn):hover{color:var(--fog-text)}
h1,h2,h3,h4{font-weight:300;letter-spacing:-.05em;line-height:1.04;margin:0;text-wrap:balance}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--lagoon);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--lagoon);color:var(--abyss);padding:10px 16px;border-radius:999px;font-weight:500;text-decoration:none}
.skip-link:focus{top:12px}
.hp{position:absolute;left:-9999px}
sup.reg{font-size:.5em;vertical-align:super;line-height:0;margin-left:1px;font-weight:400}
main:focus{outline:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sec{padding-block:120px}
@media (max-width:900px){.sec{padding-block:72px}}

/* type helpers */
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.lagoon{background:var(--lagoon-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.tide{background:var(--tide-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0 0 22px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--tide);flex:none}
.on-dark .eyebrow{color:var(--muted-dark)}
.on-dark .eyebrow::before{background:var(--lagoon)}
.label{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.h1{font-size:clamp(42px,6.2vw,84px)}
.h1 .serif{font-size:1.1em}
.h2{font-size:clamp(34px,4.6vw,64px)}
.h2 .serif{font-size:1.12em}
.h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.04em;line-height:1.12}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:60ch}
.on-dark{color:var(--fog-text)}
.on-dark .lede,.on-dark .muted{color:var(--muted-dark)}
.muted{color:var(--muted)}
.mono{font-family:var(--mono)}
.bracket{font-family:var(--mono);font-size:.86em;letter-spacing:.02em;color:var(--b-wide)}
.on-dark .bracket{color:var(--b-wide-d)}

/* grounds */
.g-abyss{background:var(--abyss)}
.g-deep{background:var(--deep)}
.g-fog{background:var(--fog)}
.g-paper{background:var(--paper)}
.g-earth{background:var(--earth)}

/* ------------------------------------------------------------------ buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 26px;border-radius:999px;border:0;font:500 15px/1.2 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s,background-color .2s}
.btn-primary,.btn-guardian{background:var(--action);color:var(--abyss)!important;box-shadow:0 8px 24px -10px rgba(79,195,199,.6)}
.btn-primary:hover,.btn-guardian:hover{transform:translateY(-1px);box-shadow:0 12px 30px -10px rgba(79,195,199,.75);color:var(--abyss)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(18,18,18,.35)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--tide);color:var(--tide)}
.on-dark .btn-ghost{color:var(--fog-text);box-shadow:inset 0 0 0 1px rgba(238,242,241,.5)}
.on-dark .btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--lagoon);color:var(--lagoon)}
.btn-lg{min-height:54px;padding:15px 30px;font-size:16px}
.btn-sm{min-height:44px;padding:10px 18px;font-size:14px}
/* legacy names used by /learn, /aquaalert and the legal pages */
.btn-light{background:var(--action);color:var(--abyss)!important}
.btn-outline{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.tlink{font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.tlink .arrow{transition:transform .2s}
.tlink:hover .arrow{transform:translateX(3px)}
.arrow{width:14px;height:14px;flex:none}

/* glass + rim */
.glass{position:relative;background:rgba(13,35,40,.86);border-radius:var(--r-card);color:var(--fog-text)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:rgba(13,35,40,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--rim);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

/* ------------------------------------------------------------------ header (5 items, one CTA) */
.site-header{position:absolute;top:0;left:0;right:0;z-index:80;padding:18px var(--gut) 0}
.site-header.is-solid{position:relative;background:var(--abyss);padding-bottom:18px}
.nav-pill{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:18px;padding:8px 8px 8px 18px;border-radius:999px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--fog-text)!important;flex:none}
.brand img{width:30px;height:30px}
.wordmark{font:300 22px/1 var(--sans);letter-spacing:-.045em;color:inherit;white-space:nowrap}
.wordmark b{font-weight:700}
.wordmark sup{font-size:.42em;font-weight:400;vertical-align:super;margin-left:1px}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:var(--fog-text);text-decoration:none;font-size:15px;font-weight:400;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(238,242,241,.08);color:#fff}
.nav a[aria-current="page"]{box-shadow:inset 0 0 0 1px rgba(79,195,199,.45)}
.nav .btn-guardian{margin-left:8px;padding:0 22px;color:var(--abyss)}
.nav .btn-guardian:hover{background:var(--action)}
.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border-radius:999px;border:0;background:rgba(238,242,241,.08);cursor:pointer;position:relative}
.menu-toggle span{position:absolute;left:15px;right:15px;height:1.5px;background:var(--fog-text);transition:transform .25s}
.menu-toggle span:first-child{top:20px}.menu-toggle span:last-child{top:27px}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--abyss);padding:96px var(--gut) 40px;overflow:auto}
.mobile-menu[hidden]{display:none}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu li a{display:block;padding:14px 0;border-bottom:1px solid var(--hair-dark);color:var(--fog-text);text-decoration:none;font:300 32px/1.2 var(--sans);letter-spacing:-.04em}
.mobile-menu .btn{margin-top:28px;width:100%}
.mobile-close{position:absolute;top:20px;right:var(--gut)}
@media (max-width:1060px){.nav{display:none}.menu-toggle{display:block}}

/* ------------------------------------------------------------------ hero (home) */
.hero{position:relative;min-height:max(760px,100svh);display:flex;align-items:center;background:var(--abyss);color:var(--fog-text);overflow:hidden;padding:150px 0 90px}
.hero-media,.hero-media video,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,35,40,.55) 0%,rgba(13,35,40,.25) 45%,rgba(13,35,40,1) 100%),linear-gradient(90deg,rgba(13,35,40,.75) 0%,rgba(13,35,40,0) 70%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;width:100%}
.hero h1{font-size:clamp(42px,6vw,84px);line-height:1.02}
.hero h1 .serif{font-size:1.1em}
.focus{display:inline-block}
@media (prefers-reduced-motion:no-preference){.focus{animation:ag-focus 6s cubic-bezier(.2,.7,0,1) 1 both}}
@keyframes ag-focus{0%{filter:blur(12px);opacity:.25}30%{filter:blur(0);opacity:1}100%{filter:blur(0);opacity:1}}
.hero .method{margin:26px 0 0;max-width:54ch;color:var(--muted-dark);font-size:18px}
.ask{margin-top:44px}
.ask-q{font:300 clamp(28px,3vw,40px)/1.1 var(--sans);letter-spacing:-.045em;margin:0 0 16px;display:block}
.zip-pill{display:flex;align-items:center;gap:6px;max-width:520px;padding:6px;border-radius:999px}
.zip-pill input{flex:1;min-width:0;height:52px;border:0;background:transparent;color:var(--fog-text);font:400 18px var(--sans);padding:0 18px;letter-spacing:.02em}
.zip-pill input::placeholder{color:rgba(238,242,241,.6)}
.zip-pill input:focus{outline:none}
.zip-pill:focus-within::before{background:linear-gradient(140deg,var(--lagoon),rgba(79,195,199,.5))}
.zip-pill .btn{min-height:52px}
.helper{margin:14px 0 0;font:400 13px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted-dark)}
.zip-error{min-height:1.4em;margin:8px 0 0;font-size:14px;color:var(--b-poor)}
.on-dark .zip-error{color:var(--b-poor-d)}
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero{padding-top:130px}}
@media (max-width:480px){.zip-pill .btn{padding:0 18px}}

/* sample score card */
.score-card{padding:26px 26px 22px;max-width:420px;justify-self:end;width:100%}
@media (prefers-reduced-motion:no-preference){.floaty{animation:floaty 7s ease-in-out infinite}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.sc-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.sc-tag{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(238,242,241,.3);color:var(--fog-text)}
.sc-place{margin:18px 0 0;font:300 26px/1.1 var(--sans);letter-spacing:-.04em}
.sc-sub{margin:4px 0 0;font:400 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.sc-mid{display:flex;gap:22px;align-items:center;margin-top:20px}
.ring{width:120px;height:120px;flex:none;position:relative}
.ring svg{width:120px;height:120px;transform:rotate(-90deg)}
.ring .track{stroke:rgba(238,242,241,.12)}
.ring .val{stroke:var(--lagoon);stroke-linecap:round;transition:stroke-dasharray 1.2s cubic-bezier(.2,.7,0,1)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:300 40px/1 var(--sans);letter-spacing:-.05em}
.band{font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.band small{display:block;font-size:11px;color:var(--muted-dark);margin-top:4px;letter-spacing:.08em}
.band-near{color:var(--b-near-d)}.band-small{color:var(--b-small-d)}.band-wide{color:var(--b-wide-d)}.band-poor,.band-crit{color:var(--b-poor-d)}
.ring.band-wide .val{stroke:var(--b-wide-d)}.ring.band-poor .val,.ring.band-crit .val{stroke:var(--b-poor-d)}.ring.band-small .val{stroke:var(--b-small-d)}
.bars{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.bars li{display:grid;grid-template-columns:72px 1fr 36px;gap:10px;align-items:center;font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.bars i{display:block;height:6px;border-radius:9px;background:rgba(238,242,241,.12);overflow:hidden}
.bars i b{display:block;height:100%;width:50%;border-radius:inherit;background:linear-gradient(90deg,var(--tide),var(--lagoon));transition:width 1.2s cubic-bezier(.2,.7,0,1)}
.bars span:last-child{text-align:right}
.sc-foot{display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding-top:14px;border-top:1px solid var(--hair-dark);font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
@media (max-width:900px){.score-card{justify-self:start}}

/* ------------------------------------------------------------------ section heads */
.head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:end;margin-bottom:56px}
.head .lede{margin:0}
.head-c{max-width:860px;margin:0 auto 56px;text-align:center}
.head-c .eyebrow{justify-content:center}
.head-c .lede{margin:22px auto 0}
@media (max-width:900px){.head{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:36px}}

/* ------------------------------------------------------------------ cards */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
.card{position:relative;background:var(--paper);border-radius:var(--r-card);padding:30px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 0 rgba(18,18,18,.04)}
.g-paper .card{background:var(--fog)}
.card.dark{background:var(--abyss);color:var(--fog-text)}
.card h3{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.04em;line-height:1.1}
.card p{margin:0}
.card .label{color:var(--tide)}
.card.dark .label{color:var(--lagoon)}
.card .spacer{flex:1}
.card-link{text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
.card-link:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(13,35,40,.45);color:inherit}
.card-link .tlink{color:var(--tide)}
.card.dark.card-link .tlink{color:var(--lagoon)}
.card .big{font:300 clamp(44px,4.6vw,64px)/1 var(--sans);letter-spacing:-.05em}

/* three doors */
.doors .card{min-height:380px;padding:36px}
.door-verb{font:300 clamp(56px,6vw,96px)/.95 var(--sans);letter-spacing:-.06em}
.door-verb .serif{font-size:1.06em}
.door-products{font:500 12px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.card.dark .door-products{color:var(--muted-dark)}

/* answer preview tiles */
.answers .card{min-height:250px}
.answers .num{font:500 12px var(--mono);letter-spacing:.12em;color:var(--muted)}

/* news rows */
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.news-list li{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;gap:28px;padding:28px 0;border-bottom:1px solid var(--hair);align-items:start}
.news-date{font:500 12px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.news-h{font:300 clamp(21px,2vw,27px)/1.25 var(--sans);letter-spacing:-.03em;margin:0 0 8px}
.news-h a{color:var(--ink);text-decoration:none}
.news-h a:hover{color:var(--tide);text-decoration:underline}
.news-why{color:var(--muted);margin:0 0 6px;font-size:16px}
.news-src{font:400 12px var(--mono);letter-spacing:.06em;color:var(--muted)}
.news-src a{color:var(--muted)}
.topic-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);color:var(--tide);text-decoration:none;font:500 13px/1.3 var(--sans);justify-self:end;text-align:left}
.topic-tag::before{content:"";width:6px;height:6px;border-radius:9px;background:var(--lagoon);flex:none}
.topic-tag:hover{box-shadow:inset 0 0 0 1px var(--tide)}
.g-paper .topic-tag{background:var(--fog)}
@media (max-width:900px){.news-list li{grid-template-columns:minmax(0,1fr);gap:10px}.topic-tag{justify-self:start}}

/* filters (news page) */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.chip-btn{display:inline-flex;align-items:center;text-decoration:none;font:400 14px var(--sans);min-height:44px;padding:8px 16px;border-radius:999px;border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink);cursor:pointer}
.chip-btn[aria-pressed="true"]{background:var(--abyss);color:var(--fog-text);box-shadow:none}

/* Guardian Season band */
.season{position:relative;overflow:hidden}
.season-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;align-items:start}
.countdown{display:flex;gap:28px;margin:30px 0 34px}
.countdown div{display:flex;flex-direction:column;gap:6px}
.countdown b{font:300 clamp(56px,6vw,88px)/.9 var(--sans);letter-spacing:-.06em}
.countdown span{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark)}
.anchors{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair-dark)}
.anchors li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--hair-dark)}
.anchors .d{font:500 12px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lagoon)}
.anchors .t{font-size:16px}
.anchors .t b{font-weight:500;display:block}
.anchors .t span{color:var(--muted-dark);font-size:15px}
.near-box{margin-top:28px;padding:22px 24px;border-radius:var(--r-card)}
.near-box p{margin:0}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (max-width:900px){.season-grid{grid-template-columns:minmax(0,1fr)}}

/* start with you */
.you .card{min-height:300px}
.you .card .verb{font:300 34px/1.05 var(--sans);letter-spacing:-.045em}
.who-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:56px;border-top:1px solid var(--hair)}
.who-row a{padding:26px 22px 26px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.who-row a + a{padding-left:22px;border-left:1px solid var(--hair)}
.who-row .n{font:500 12px var(--mono);letter-spacing:.12em;color:var(--tide)}
.who-row b{font:300 30px/1.1 var(--sans);letter-spacing:-.045em}
.who-row span{color:var(--muted);font-size:15px}
.who-row a:hover b{color:var(--tide)}
@media (max-width:900px){.who-row{grid-template-columns:1fr 1fr}.who-row a:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:520px){.who-row{grid-template-columns:minmax(0,1fr)}.who-row a + a{padding-left:0;border-left:0}}

/* statement */
.statement{text-align:center}
.statement .h2{max-width:18ch;margin:0 auto}
.statement .tag{margin-top:22px;font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lagoon)}

/* final CTA band */
.cta-band{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.cta-band .drop{width:100%;max-width:420px;justify-self:end;-webkit-mask:radial-gradient(closest-side,#000 72%,transparent 100%);mask:radial-gradient(closest-side,#000 72%,transparent 100%)}
@media (max-width:900px){.cta-band{grid-template-columns:minmax(0,1fr)}.cta-band .drop{justify-self:start;max-width:280px}}

/* ------------------------------------------------------------------ page hero (inner pages) */
.page-hero{background:var(--abyss);color:var(--fog-text);padding:56px max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut))) 88px;position:relative;overflow:hidden}
.page-hero > *{position:relative;z-index:1}
.page-hero::after{content:"";position:absolute;inset:auto -10% -40% 30%;height:120%;background:radial-gradient(closest-side,rgba(32,112,118,.55),transparent);pointer-events:none}
.page-hero .eyebrow{color:var(--muted-dark)}
.page-hero .eyebrow::before{background:var(--lagoon)}
.page-hero h1{font-size:clamp(40px,5.6vw,80px);max-width:18ch;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero h1 .serif{background:var(--lagoon-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.08em;padding-right:.08em}
.page-hero .summary,.page-hero .lede{margin-top:24px;color:var(--muted-dark);font-size:clamp(18px,1.6vw,21px);max-width:60ch}
.page-hero .hero-btns,.page-hero .btn-row{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.page-hero .btn-ghost{color:var(--fog-text);box-shadow:inset 0 0 0 1px rgba(238,242,241,.5)}
.page-hero a:not(.btn){color:var(--lagoon)}

/* ------------------------------------------------------------------ YOUR WATER (ZIP results) */
.yw-head{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:end;justify-content:space-between}
.yw-place{font:300 clamp(40px,5.6vw,80px)/1 var(--sans);letter-spacing:-.055em}
.yw-change{display:flex;align-items:center;gap:6px;padding:5px;border-radius:999px;max-width:360px}
.yw-change input{flex:1;min-width:0;height:44px;border:0;background:transparent;color:var(--fog-text);font:400 16px var(--sans);padding:0 14px}
.yw-change input:focus{outline:none}
.yw-change .btn{min-height:44px;padding:0 18px}
.answer{border-radius:var(--r-panel);padding:34px;display:flex;flex-direction:column;gap:14px;min-height:420px}
.answer .q{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;color:var(--muted)}
.answer.dark .q{color:var(--muted-dark)}
.answer h2{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.045em;line-height:1.08}
.answer .spacer{flex:1}
.answer .prod{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--hair);font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.answer.dark .prod{border-color:var(--hair-dark)}
.answer .prod a{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px}
.answer.dark{background:var(--abyss);color:var(--fog-text)}
.answer.light{background:var(--paper)}
.answer .ring{width:140px;height:140px}
.answer .ring svg{width:140px;height:140px}
.gap-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gap-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.gap-list b{font-weight:500}
.gap-list .vals{font:400 13px var(--mono);letter-spacing:.04em;color:var(--muted);text-align:right}
.gap-list .note{grid-column:1/-1;font-size:14px;color:var(--muted)}
.mini-news{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.mini-news li{padding-bottom:14px;border-bottom:1px solid var(--hair-dark)}
.mini-news a{color:var(--fog-text);text-decoration:none;font-size:17px;line-height:1.35}
.mini-news a:hover{color:var(--lagoon);text-decoration:underline}
.mini-news span{display:block;margin-top:6px;font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.answer.light .mini-news li{border-color:var(--hair)}
.answer.light .mini-news a{color:var(--ink)}
.answer.light .mini-news a:hover{color:var(--tide)}
.answer.light .mini-news span{color:var(--muted)}
.topic-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.topic-list a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:16px;background:var(--fog);text-decoration:none;color:var(--ink)}
.topic-list a:hover{box-shadow:inset 0 0 0 1px var(--tide)}
.topic-list b{font-weight:500}
.topic-list span{font-size:14px;color:var(--muted)}
.yw-empty{max-width:640px}
.disclaimer{margin-top:40px;font-size:14px;color:var(--muted);max-width:80ch}
.is-loading .answer{opacity:.6}

/* ------------------------------------------------------------------ LIBRARY */
.lib-sec + .lib-sec{margin-top:88px}
.lib-sec h2{font-size:clamp(28px,3vw,40px);margin-bottom:28px;letter-spacing:-.045em}
.doc{min-height:300px}
.doc .cover{aspect-ratio:8.5/11;max-height:150px;width:auto;border-radius:10px;background:var(--deep);display:flex;flex-direction:column;justify-content:space-between;padding:12px;color:var(--fog-text);font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;align-self:flex-start;box-shadow:0 14px 30px -18px rgba(13,35,40,.7)}
.doc .cover i{font:italic 400 20px/1 var(--serif);letter-spacing:0;text-transform:none;background:var(--lagoon-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.status{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--hair);color:var(--muted)}
.status::before{content:"";width:6px;height:6px;border-radius:9px;background:var(--sand)}
.status.ready::before{background:var(--lagoon)}
.status.live{color:var(--tide)}
.status.live::before{background:var(--tide)}
.lib-note{margin-top:32px;padding:26px 28px;border-radius:var(--r-card);background:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
@media (max-width:700px){.lib-note{grid-template-columns:minmax(0,1fr)}}

/* glossary */
.gloss{max-width:980px}
.gloss-sec + .gloss-sec{margin-top:72px}
.gloss-sec h2{font-size:clamp(28px,3vw,40px);margin-bottom:20px}
.gloss dl{margin:0;border-top:1px solid var(--hair)}
.gloss dl > div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--hair)}
.gloss dt{font:400 22px/1.25 var(--sans);letter-spacing:-.03em}
.gloss dd{margin:0}
.gloss dd p{margin:0}
.gloss .eg{margin-top:8px;color:var(--muted);font-size:15px}
.gloss .eg::before{content:"In a sentence: ";font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tide)}
.az{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 48px;padding:0;list-style:none}
.az a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border-radius:999px;background:var(--paper);text-decoration:none;color:var(--ink);font-size:15px}
.az a:hover{color:var(--tide)}
@media (max-width:700px){.gloss dl > div{grid-template-columns:minmax(0,1fr);gap:8px}}

/* ------------------------------------------------------------------ AQUACIVICS section */
.ssss{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.ssss li{padding:28px;border-radius:var(--r-card);background:rgba(238,242,241,.05);box-shadow:inset 0 0 0 1px var(--hair-dark)}
.ssss b{display:block;font:300 34px/1 var(--sans);letter-spacing:-.045em;margin:12px 0 10px}
.ssss .mins{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lagoon)}
.ssss p{margin:0;color:var(--muted-dark);font-size:16px}
@media (max-width:1000px){.ssss{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ssss{grid-template-columns:minmax(0,1fr)}}
.rights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--hair)}
.rights li{padding:26px 22px 26px 0;border-bottom:1px solid var(--hair)}
.rights li:not(:nth-child(4n+1)){padding-left:22px;border-left:1px solid var(--hair)}
.rights .n{font:500 12px var(--mono);letter-spacing:.12em;color:var(--tide)}
.rights b{display:block;font:300 24px/1.15 var(--sans);letter-spacing:-.035em;margin:8px 0}
.rights span{display:block;font-size:15px;color:var(--muted)}
.rights .o{margin-top:10px;font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:1000px){.rights{grid-template-columns:repeat(2,minmax(0,1fr))}.rights li:not(:nth-child(4n+1)){padding-left:0;border-left:0}.rights li:nth-child(2n){padding-left:22px;border-left:1px solid var(--hair)}}
@media (max-width:560px){.rights{grid-template-columns:minmax(0,1fr)}.rights li:nth-child(2n){padding-left:0;border-left:0}}
.levels{display:grid;gap:0;border-top:1px solid var(--hair)}
.levels div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--hair);align-items:start}
.lvl{display:inline-block;justify-self:start;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px currentColor}
.lvl.Open{color:var(--tide)}.lvl.Guided{color:#7d6c4f}.lvl.Facilitated{color:var(--b-wide)}
@media (max-width:600px){.levels div{grid-template-columns:minmax(0,1fr);gap:8px}}
.faq-list{border-top:1px solid var(--hair);max-width:880px}
.faq-list details{border-bottom:1px solid var(--hair)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:68px;padding:12px 0;font:300 clamp(20px,2vw,26px)/1.2 var(--sans);letter-spacing:-.03em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font:300 30px/1 var(--sans);color:var(--tide);transition:transform .25s;flex:none}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details > div,.faq-list details > p{padding:0 0 22px;margin:0;color:var(--muted);max-width:68ch}

/* slot page */
.slot-box{max-width:820px;padding:34px;border-radius:var(--r-panel);background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair)}
.slot-box .def{font:300 clamp(22px,2.2vw,28px)/1.35 var(--sans);letter-spacing:-.03em;margin:0 0 20px}
.slot-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}

/* partners */
.aud{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding:56px 0;border-top:1px solid var(--hair);align-items:start;scroll-margin-top:24px}
.aud:last-child{border-bottom:1px solid var(--hair)}
.aud .n{font:500 12px var(--mono);letter-spacing:.12em;color:var(--tide)}
.aud h2{font-size:clamp(36px,4vw,56px);margin:10px 0 0}
.aud ul{margin:0 0 26px;padding:0;list-style:none}
.aud li{padding:12px 0 12px 26px;position:relative;border-bottom:1px solid var(--hair)}
.aud li::before{content:"";position:absolute;left:0;top:22px;width:8px;height:8px;border-radius:9px;background:var(--lagoon)}
@media (max-width:900px){.aud{grid-template-columns:minmax(0,1fr);gap:18px}}

/* guardian page */
.pass{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;align-items:start}
.pass-card{padding:36px;border-radius:var(--r-panel)}
.price{font:300 clamp(64px,7vw,104px)/.9 var(--sans);letter-spacing:-.06em}
.price small{font-size:.24em;letter-spacing:0;color:var(--muted-dark);margin-left:8px}
.incl{list-style:none;margin:24px 0 28px;padding:0;border-top:1px solid var(--hair-dark)}
.incl li{padding:14px 0 14px 30px;border-bottom:1px solid var(--hair-dark);position:relative}
.incl li::before{content:"";position:absolute;left:2px;top:19px;width:14px;height:8px;border-left:1.5px solid var(--lagoon);border-bottom:1.5px solid var(--lagoon);transform:rotate(-45deg)}
.incl b{font-weight:500}
.steps-v{list-style:none;margin:0;padding:0;counter-reset:st}
.steps-v li{counter-increment:st;display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--hair)}
.steps-v li::before{content:counter(st);width:44px;height:44px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--tide);color:var(--tide);display:grid;place-items:center;font:300 20px var(--sans)}
.steps-v b{display:block;font:400 21px/1.25 var(--sans);letter-spacing:-.025em;margin-bottom:4px}
.steps-v p{margin:0;color:var(--muted)}
@media (max-width:900px){.pass{grid-template-columns:minmax(0,1fr)}}

/* ------------------------------------------------------------------ footer */
.site-footer{background:var(--abyss-2);color:var(--fog-text);padding:96px 0 40px}
.site-footer a{color:var(--fog-text);text-decoration:none}
.site-footer a:hover{color:var(--lagoon)}
.f-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;padding-bottom:64px;border-bottom:1px solid var(--hair-dark)}
.f-say{font:300 clamp(44px,5vw,72px)/1 var(--sans);letter-spacing:-.055em;margin:28px 0 12px}
.f-mission{color:var(--muted-dark);margin:0}
.f-news .label{color:var(--lagoon);display:block;margin-bottom:14px}
.f-news .zip-pill input{color:var(--fog-text)}
.f-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;padding:56px 0;border-bottom:1px solid var(--hair-dark)}
.f-cols p{margin:0 0 16px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lagoon)}
.f-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.f-cols li a{display:inline-flex;min-height:36px;align-items:center;font-size:15px;color:var(--muted-dark)}
.f-cols li a:hover{color:var(--fog-text)}
.f-bottom{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;padding-top:28px;font-size:13px;color:var(--muted-dark)}
.f-bottom ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.f-bottom a{color:var(--muted-dark)}
.f-tags{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lagoon)}
.social{list-style:none;margin:22px 0 0;padding:0;display:flex;gap:6px}
.social a{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--hair-dark)}
.social svg{width:18px;height:18px}
@media (max-width:1000px){.f-top{grid-template-columns:minmax(0,1fr)}.f-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.f-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* forms (Netlify) */
.js-netlify .gate-row{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(238,242,241,.06);box-shadow:inset 0 0 0 1px var(--hair-dark);max-width:520px}
.js-netlify .gate-row input{flex:1;min-width:0;height:48px;border:0;background:transparent;color:inherit;font:400 16px var(--sans);padding:0 16px}
.js-netlify .gate-row input:focus{outline:none}
.js-netlify .gate-row .btn{background:var(--action);color:var(--abyss)}
.g-fog .js-netlify .gate-row,.g-paper .js-netlify .gate-row,.prose .js-netlify .gate-row,.simple .js-netlify .gate-row,.light-form .gate-row{background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
.consent,.fine{margin:12px 0 0;font-size:13px;color:var(--muted)}
.on-dark .consent,.site-footer .consent,.on-dark .fine{color:var(--muted-dark)}
.site-footer .consent a{text-decoration:underline}
.form-done{display:none;align-items:center;gap:12px;margin-top:14px;font-weight:500}
.form-done .check{width:28px;height:28px;color:var(--lagoon)}
.is-done .gate-row,.is-done .consent,.is-done .fine{display:none}
.is-done .form-done{display:flex}
.form-error{color:var(--b-poor-d)}

/* sticky CTA (one CTA everywhere) */
.sticky-cta{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%,120px);z-index:40;transition:transform .35s cubic-bezier(.2,.7,0,1)}
.sticky-cta.is-on{transform:translate(-50%,0)}
.sticky-cta .btn{box-shadow:0 18px 40px -12px rgba(13,35,40,.6)}
@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,0,1),transform .8s cubic-bezier(.2,.7,0,1)}
  .reveal.is-in{opacity:1;transform:none}
  .reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}
}

/* ------------------------------------------------------------------ carried pages (/learn, /aquaalert, /five-myths, /guardiansk12, legal, simple) */
.page-wrap{max-width:var(--wrap);margin:-48px auto 0;padding:0 var(--gut);position:relative;z-index:2}
.card-row{display:grid;gap:20px}
.rows-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rows-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rows-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.rows-3,.rows-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rows-2,.rows-3,.rows-4{grid-template-columns:minmax(0,1fr)}}
.fact{background:var(--paper);border-radius:var(--r-card);padding:28px;box-shadow:0 20px 40px -30px rgba(13,35,40,.5)}
.fact b{display:block;font:300 clamp(40px,4vw,56px)/1 var(--sans);letter-spacing:-.05em;color:var(--tide);margin-bottom:10px}
.fact p{margin:0 0 10px}
.src{margin:8px 0 0;font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}
.src a,.src-a{color:var(--tide)}
.prose{max-width:760px;margin:0 auto;padding:72px var(--gut) 96px}
.prose h2{font-size:clamp(28px,3vw,40px);margin:56px 0 18px;letter-spacing:-.045em}
.prose h3{font-size:24px;margin:36px 0 12px;letter-spacing:-.035em}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-bottom:8px}
.prose sup a{text-decoration:none;font:500 11px var(--mono)}
.prose-fig{margin:28px 0}
.prose-fig img{border-radius:18px;width:100%;height:auto}
.prose-cta{margin-top:36px}
.news-box{padding:22px;border-radius:var(--r-card);background:var(--paper)}
.news-box .headline{display:block;font:300 22px/1.3 var(--sans);letter-spacing:-.03em;color:var(--ink);text-decoration:none;margin:8px 0}
.news-box .headline:hover{color:var(--tide)}
.press-label{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide)}
.press-logo{display:none}
.caption{font:400 12px var(--mono);letter-spacing:.06em;color:var(--muted);margin:0}
.correction{margin-top:40px;font-size:15px;color:var(--muted)}
.cites,.prose ol.refs{font-size:14px;color:var(--muted)}
.myth{padding:30px 0;border-top:1px solid var(--hair)}
.myth .num{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide);margin:0 0 10px}
.myth blockquote{margin:0 0 14px;font:300 clamp(24px,2.6vw,32px)/1.2 var(--sans);letter-spacing:-.035em}
.page-zip{background:var(--abyss);color:var(--fog-text);padding:96px var(--gut)}
.page-zip-inner{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;align-items:center}
.page-zip h2{font-size:clamp(34px,4vw,56px)}
.page-zip h2 em{font-family:var(--serif);font-style:italic;font-weight:400;background:var(--lagoon-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.page-zip .actions{margin-top:18px}
.page-zip .btn-ghost{color:var(--fog-text);box-shadow:inset 0 0 0 1px rgba(238,242,241,.5)}
@media (max-width:900px){.page-zip-inner{grid-template-columns:minmax(0,1fr)}}
.zip-module label{display:block;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:12px}
.zip-row{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(238,242,241,.06);box-shadow:inset 0 0 0 1px var(--hair-dark);max-width:560px}
.zip-row input{flex:1;min-width:0;height:52px;border:0;background:transparent;color:var(--fog-text);font:400 17px var(--sans);padding:0 16px}
.zip-row input::placeholder{color:rgba(238,242,241,.55)}
.zip-row input:focus{outline:none}
.zip-row .btn{min-height:52px}
/* aquaalert page */
.aa-sec{max-width:var(--wrap);margin:0 auto;padding:88px var(--gut) 0}
.aa-sec h2{font-size:clamp(32px,3.6vw,52px);margin-bottom:28px}
.aa-sec:last-of-type{padding-bottom:96px}
.steps{list-style:none;padding:0;margin:0}
.step{background:var(--paper);border-radius:var(--r-card);padding:30px}
.step-num{font:300 48px/1 var(--sans);letter-spacing:-.05em;color:var(--tide);margin:0 0 12px}
.step h3{font-size:26px;margin-bottom:10px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:12px 18px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair)}
.aa-card{}
.aa-card .lede{font:300 clamp(24px,2.6vw,34px)/1.3 var(--sans);letter-spacing:-.035em;max-width:30ch}
.aa-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}
.aa-h{font:300 clamp(24px,2.4vw,32px)/1.2 var(--sans);letter-spacing:-.035em;color:var(--tide)}
.ticks{padding:0;list-style:none;margin:20px 0 28px}
.ticks li{padding:10px 0 10px 26px;position:relative;border-bottom:1px solid var(--hair)}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:9px;background:var(--lagoon)}
.roadmap{padding-left:22px}
.roadmap li{padding:8px 0}
@media (max-width:900px){.aa-split{grid-template-columns:minmax(0,1fr)}}
.accordion{border-top:1px solid var(--hair);max-width:880px}
.acc-item{border-bottom:1px solid var(--hair)}
.acc-item h3{margin:0;font-size:inherit}
.acc-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 0;background:none;border:0;cursor:pointer;text-align:left;font:300 clamp(20px,2vw,26px)/1.2 var(--sans);letter-spacing:-.03em;color:inherit}
.acc-icon{width:16px;height:16px;position:relative;flex:none}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:0;right:0;top:7px;height:1.5px;background:var(--tide);transition:transform .25s}
.acc-icon::after{transform:rotate(90deg)}
.acc-trigger[aria-expanded="true"] .acc-icon::after{transform:rotate(0)}
.acc-panel{display:none;padding:0 0 22px;color:var(--muted)}
.acc-panel.is-open{display:block}
.acc-panel p{margin:0}
/* legal */
.legal{max-width:760px;margin:0 auto;padding:72px var(--gut) 96px;background:transparent}
.legal h1{font-size:clamp(36px,4.4vw,56px);margin-bottom:32px}
.legal h2{font-size:26px;margin:44px 0 14px;letter-spacing:-.035em}
.legal p,.legal li{font-size:17px;line-height:1.7}
.toc{padding:24px 28px;border-radius:var(--r-card);background:var(--paper);margin-bottom:28px}
.toc-h{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide)}
.toc ul{margin:0;padding-left:18px;columns:2;column-gap:28px}
@media (max-width:640px){.toc ul{columns:1}}
/* simple */
.simple{min-height:70vh;display:grid;place-items:center;padding:96px var(--gut);text-align:center}
.simple > div{max-width:640px}
.simple .eyebrow{justify-content:center}
.simple h1{font-size:clamp(40px,5vw,72px);margin-bottom:18px}
.simple .lead{font-size:20px;color:var(--muted);margin:0 0 28px}
.simple .js-netlify .gate-row{margin:0 auto}
.notfound-num{font:300 clamp(96px,14vw,180px)/1 var(--sans);letter-spacing:-.06em;margin:0;background:var(--tide-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ------------------------------------------------------------------ AquaCivics Menu (ported from V03, scoped) */
.acm{max-width:900px;margin:0 auto;padding:24px var(--gut) 96px}
.acm .step{padding:64px 0 0;background:none;border-radius:0}
.acm .step-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:22px}
.acm .num{width:44px;height:44px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--tide);color:var(--tide);display:flex;align-items:center;justify-content:center;font-weight:300;font-size:22px}
.acm .step-head h2{font-size:clamp(28px,4vw,40px);line-height:1.08}
.acm .step-head p{margin:8px 0 0;color:var(--muted);max-width:58ch}
.acm .chips{display:flex;flex-wrap:wrap;gap:8px}
.acm .chip{font:inherit;font-size:15px;line-height:1.25;color:var(--ink);background:var(--paper);border:0;box-shadow:inset 0 0 0 1px var(--hair);border-radius:999px;padding:10px 16px;cursor:pointer;min-height:44px;text-align:left}
.acm .chip:hover{box-shadow:inset 0 0 0 1px var(--tide)}
.acm .chip[aria-pressed="true"]{background:rgba(79,195,199,.22);box-shadow:inset 0 0 0 1px var(--tide)}
.acm .note{margin-top:18px;padding:14px 16px;border-radius:14px;border:1px dashed var(--sand);font-size:15px;color:var(--muted)}
.acm .note b{color:var(--ink);font-weight:500}
.acm .hint{font-size:14px;color:var(--muted);margin:0 0 14px}
.acm .topics{display:flex;flex-direction:column;gap:12px}
.acm .topic{background:var(--paper);border-radius:16px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:start;box-shadow:inset 0 0 0 1px var(--hair)}
.acm .topic.on{box-shadow:inset 0 0 0 1px var(--tide);background:#fff}
.acm .topic .meta{font:400 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.acm .topic h3{font-size:24px;line-height:1.15;margin-top:6px;letter-spacing:-.035em}
.acm .topic .q{margin:6px 0 0;font-size:17px;color:var(--muted)}
.acm .topic .news{grid-column:1 / -1;font-size:14px;color:var(--muted);border-top:1px solid var(--hair);padding-top:10px}
.acm .topic .news a{color:var(--tide)}
.acm .who{display:inline-block;white-space:nowrap;line-height:1.3;margin-top:10px;font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid currentColor}
.acm .who.Open{color:var(--tide)}.acm .who.Guided{color:#7d6c4f}.acm .who.Facilitated{color:var(--b-wide)}
@media (max-width:560px){.acm .topic{grid-template-columns:minmax(0,1fr)}}
.acm details.all{margin-top:18px;border-top:1px solid var(--hair);padding-top:14px}
.acm details.all summary{cursor:pointer;color:var(--tide);font-weight:500;min-height:44px;display:flex;align-items:center}
.acm .alllist{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:10px}
.acm .alllist button{font:inherit;font-size:14px;text-align:left;color:var(--ink);background:var(--paper);border:0;box-shadow:inset 0 0 0 1px var(--hair);border-radius:12px;padding:10px 12px;cursor:pointer;min-height:44px}
.acm .alllist button[aria-pressed="true"]{background:rgba(79,195,199,.22);box-shadow:inset 0 0 0 1px var(--tide)}
.acm .alllist .grp{grid-column:1/-1;font:400 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.acm .plan{background:var(--abyss);color:var(--fog-text);border-radius:var(--r-panel);padding:clamp(20px,3vw,32px)}
.acm .plan h3{font-size:28px;line-height:1.12}
.acm .facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px;align-items:center}
.acm .facts .who{margin-top:0}
.acm .plan .who.Open{color:var(--lagoon)}.acm .plan .who.Guided{color:#CFC6B1}.acm .plan .who.Facilitated{color:var(--b-wide-d)}
.acm .fact{font:400 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid var(--hair-dark);color:var(--muted-dark);background:none;box-shadow:none}
.acm .ros{margin-top:16px;border-top:1px solid var(--hair-dark)}
.acm .row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--hair-dark)}
.acm .row .part{font:400 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lagoon)}
.acm .row .mins{display:block;color:var(--muted-dark);margin-top:3px}
.acm .row p{margin:0}
.acm .row ul{margin:6px 0 0;padding-left:18px;color:var(--muted-dark);font-size:15px}
.acm .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.acm .plan .btn-ghost{color:var(--fog-text);box-shadow:inset 0 0 0 1px rgba(238,242,241,.5)}
.acm .invite{margin-top:18px;background:rgba(238,242,241,.05);border:1px solid var(--hair-dark);border-radius:14px;padding:16px;font-size:15px;white-space:pre-line;color:var(--muted-dark)}
.acm .empty-plan .row{opacity:.75}
.acm textarea{width:100%;min-height:200px;margin-top:14px;background:rgba(238,242,241,.05);color:var(--fog-text);border:1px solid var(--hair-dark);border-radius:12px;padding:12px;font:inherit}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--abyss);box-shadow:inset 0 0 0 1px var(--lagoon);color:var(--fog-text);padding:10px 18px;border-radius:999px;font-size:14px;z-index:70}
.toast[hidden]{display:none}
.acm-faq{padding-top:72px}
.acm-faq h2{font-size:clamp(26px,3.5vw,34px);margin-bottom:16px}
.hosts{display:grid;gap:12px;margin-top:10px}
.hosts div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px;align-items:start;font-size:15px}
@media (max-width:520px){.hosts div{grid-template-columns:minmax(0,1fr)}}

/* carried: AquaGap cards, timeline, pull quote, sources */
.gap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.gap-grid{grid-template-columns:minmax(0,1fr)}}
.c-card{background:var(--abyss);color:var(--fog-text);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 40px -30px rgba(13,35,40,.7)}
.c-card .src{color:var(--muted-dark)}.c-card .src a{color:var(--lagoon)}
.gap-name{font:300 26px/1.15 var(--sans);letter-spacing:-.035em;margin:0}
.gap-rows{display:grid;gap:10px}
.gap-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gap-label{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lagoon)}
.gap-val{font:300 40px/1 var(--sans);letter-spacing:-.05em}
.gap-val small{font-size:.4em;margin-left:4px;letter-spacing:0;color:var(--muted-dark)}
.gap-bar{position:relative;height:6px;border-radius:9px;background:rgba(238,242,241,.12)}
.gap-bar .g-goal{position:absolute;left:0;top:-3px;width:12px;height:12px;border-radius:9px;background:var(--lagoon)}
.gap-bar .g-span{position:absolute;left:6px;right:0;top:0;bottom:0;border-radius:9px;background:linear-gradient(90deg,var(--lagoon),var(--b-wide-d))}
.gap-note{margin:0;color:var(--muted-dark);font-size:15px}
.timeline{list-style:none;padding:0;margin:24px 0;border-left:1px solid var(--hair)}
.timeline li{padding:0 0 22px 24px;position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:9px;background:var(--tide)}
.timeline b{display:block;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide);margin-bottom:4px}
.pull{margin:44px 0;padding:0}
.pull p{font:300 clamp(30px,3.6vw,46px)/1.12 var(--sans);letter-spacing:-.045em;margin:0;background:var(--tide-text);-webkit-background-clip:text;background-clip:text;color:transparent}
ol.sources{font-size:14px;color:var(--muted);padding-left:22px}
ol.sources li{margin-bottom:8px;overflow-wrap:anywhere}
.plain{margin:0}

/* fixes after first screenshot pass */
img{height:auto}
.hero-media img,.hero-media video{height:100%}
.h1,.h2,.h3{line-height:1.06}
.h2 + .lede,.h2 + p.lede{margin-top:24px}
.card.dark .muted,.answer.dark .muted,.pass-card .muted{color:var(--muted-dark)}
.answer.dark .bracket{color:var(--b-wide-d)}
.site-footer .f-cols li a{color:var(--muted-dark)}
.site-footer .f-cols li a:hover{color:var(--fog-text)}
.site-footer .f-bottom a{color:var(--muted-dark)}
.site-footer .consent a{color:var(--fog-text)}
.sticky-cta{visibility:hidden}
.sticky-cta.is-on{visibility:visible}
@media (max-width:560px){.gap-list li{grid-template-columns:minmax(0,1fr)}.gap-list .vals{text-align:left}}

/* AquaScore bands TRACE…SEVERE (canon 2026-10-09; no codes 2026-10-12). Dark-ground equivalents: Lagoon / #F2B94B / #FF8A6B */
.band-trace,.band-detected{color:var(--lagoon)}.band-elevated{color:var(--b-wide-d)}.band-high,.band-severe{color:var(--b-poor-d)}
.ring.band-trace .val,.ring.band-detected .val{stroke:var(--lagoon)}.ring.band-elevated .val{stroke:var(--b-wide-d)}.ring.band-high .val,.ring.band-severe .val{stroke:var(--b-poor-d)}
.sc-fixed{margin:14px 0 0;font:400 11px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted-dark)}
.readout{margin:4px 0 0;display:grid;gap:10px}
.readout div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;font-size:15px}
.readout dt{font:500 11px/1.9 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark)}
.readout dd{margin:0}
/* The Daily Drip homepage band (rendered by /news/band.js from /news/latest.json, M77) */
.dd-band{border-top:1px solid var(--hair)}
.dd-band .dd-k{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide);margin:24px 0 8px}
.dd-band ol{list-style:none;margin:0;padding:0;counter-reset:dd}
.dd-band li{counter-increment:dd;display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 20px;padding:24px 0;border-bottom:1px solid var(--hair)}
.dd-band li::before{content:"0" counter(dd);grid-row:span 2;font:300 40px/1 var(--sans);letter-spacing:-.05em;color:var(--tide)}
.dd-band li > a{font:300 clamp(22px,2.2vw,30px)/1.2 var(--sans);letter-spacing:-.035em;color:var(--ink);text-decoration:none}
.dd-band li > a:hover{color:var(--tide);text-decoration:underline}
.dd-band li span{font:400 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dd-band li span a{color:var(--tide)}
.dd-band .dd-all{display:inline-flex;margin-top:22px;font-weight:500;text-decoration:none}
[data-daily-drip-band]:has(.dd-band) + .btn-row{display:none}

/* ================================================================== Watershed/Frontier brief + upstream addendum (2026-10-12) */
.announce-bar{position:relative;z-index:85;background:var(--abyss-2);color:var(--fog-text);font-size:14px}
.announce-bar .wrap{display:flex;gap:14px;align-items:center;min-height:40px;flex-wrap:wrap;padding-block:8px}
.announce-bar .label{color:var(--lagoon)}
.announce-bar a{color:var(--fog-text);text-decoration:none}
.announce-bar a:hover{color:var(--lagoon);text-decoration:underline}
.announce-bar + .hero2{margin-top:0}
.hero2{position:relative;background:var(--abyss);color:var(--fog-text);overflow:hidden;padding:150px 0 72px}
.hero2-bg{position:absolute;inset:0;background:url(/images/caustic-dither.png) center/cover no-repeat;image-rendering:pixelated;opacity:.55}
.hero2-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,35,40,.35),rgba(13,35,40,.15) 50%,rgba(13,35,40,1))}
.hero2-in{position:relative;max-width:980px;text-align:center}
.hero2 h1{font-size:clamp(48px,8vw,112px);line-height:1}
.hero2 h1 .serif{font-size:1.06em}
.hero2-sub{margin:24px auto 0;max-width:42ch;font-size:clamp(18px,1.8vw,22px);color:var(--muted-dark)}
.hero2 .addr-form{max-width:620px;margin:36px auto 0}
.hero2 .zip-pill{max-width:none}
.paths{list-style:none;margin:22px 0 0;padding:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.paths a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;color:var(--fog-text);text-decoration:none;box-shadow:inset 0 0 0 1px rgba(238,242,241,.35);font-size:15px}
.paths a:hover{box-shadow:inset 0 0 0 1px var(--lagoon);color:var(--lagoon)}
.stat-chip{margin:26px 0 0;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.recog{background:var(--abyss);color:var(--fog-text);border-top:1px solid var(--hair-dark)}
.recog .wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-block:22px}
.recog .label{color:var(--muted-dark)}
.recog ul{list-style:none;margin:0;padding:0;display:flex;gap:10px 32px;flex-wrap:wrap}
.recog li{font:500 17px var(--sans);letter-spacing:-.01em;color:rgba(238,242,241,.82)}
.story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.story-ph{aspect-ratio:4/5;border-radius:var(--r-card);background:linear-gradient(160deg,#cfccc4,#9d9a92);display:grid;place-items:center;padding:24px;text-align:center}
.story-num{font:300 clamp(64px,8vw,120px)/.95 var(--sans);letter-spacing:-.06em;margin:0}
.arrow-glyph{color:var(--tide);font-size:.6em;vertical-align:.2em}
.story-unit{font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 24px}
.story-q{margin:0 0 12px;font:300 clamp(24px,2.6vw,34px)/1.25 var(--sans);letter-spacing:-.03em}
@media (max-width:900px){.story{grid-template-columns:minmax(0,1fr)}.story-ph{max-width:360px}}
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pillar{background:var(--fog);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.pillar h3{font-size:24px;letter-spacing:-.035em;line-height:1.15}
.pillar p{margin:0}
.pnum{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tide)}
.pillar .score-card{max-width:none;padding:20px;animation:none;justify-self:stretch}
.pillar .ring,.pillar .ring svg{width:96px;height:96px}
.pillar .ring b{font-size:32px}
.screen{background:var(--abyss);color:var(--fog-text);border-radius:18px;padding:18px;margin-top:auto}
.screen ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.screen-test li{display:flex;justify-content:space-between;font:400 13px var(--mono);letter-spacing:.06em;padding-bottom:8px;border-bottom:1px solid var(--hair-dark)}
.screen-test b{color:var(--lagoon);font-weight:500}
.act-links{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:10px}
@media (max-width:1100px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pillars{grid-template-columns:minmax(0,1fr)}}
.up-map{width:100%;height:auto;display:block}
.up-river{stroke:var(--tide)}.up-trib{stroke:rgba(79,195,199,.45)}
.up-site circle{fill:var(--b-wide-d)}.up-intake rect{fill:var(--lagoon)}.up-tap circle{fill:none;stroke:var(--fog-text);stroke-width:2}
.up-pipe{stroke:var(--fog-text)}
.up-map text{fill:var(--fog-text);font:500 12px var(--mono);letter-spacing:.06em}
.up-map .up-ill{fill:var(--muted-dark);font-size:10px;letter-spacing:.14em}
.flint{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;align-items:center}
.src-line{margin-top:22px;font:400 12px/1.6 var(--mono);color:var(--muted-dark)}
.src-line a{color:var(--lagoon)}
@media (max-width:900px){.flint{grid-template-columns:minmax(0,1fr)}}
.askbar{max-width:760px;margin:0 auto}
.askpill{background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
.askpill input{color:var(--ink)}
.askpill input::placeholder{color:var(--muted)}
.ask-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ask-chips button{font:400 14px var(--sans);min-height:44px;padding:8px 16px;border-radius:999px;border:0;background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink);cursor:pointer}
.ask-chips button:hover{box-shadow:inset 0 0 0 1px var(--tide);color:var(--tide)}
.askbar .zip-error{text-align:center;color:var(--b-poor)}
.table-wrap{overflow-x:auto}
.rules{width:100%;border-collapse:collapse;border-top:1px solid var(--hair)}
.rules th,.rules td{text-align:left;vertical-align:top;padding:18px 16px 18px 0;border-bottom:1px solid var(--hair)}
.rules th{font:400 19px/1.3 var(--sans);letter-spacing:-.02em;width:34%}
.rules td{color:var(--muted)}
.statband{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.statband li{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid var(--hair-dark)}
.statband b{font:300 clamp(40px,4vw,56px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.statband span:last-child{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark)}
@media (max-width:800px){.statband{grid-template-columns:repeat(2,minmax(0,1fr))}}
.goal{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.progress{background:var(--paper);border-radius:var(--r-card);padding:28px}
.progress-num{font:300 44px/1 var(--sans);letter-spacing:-.05em;margin:10px 0 16px}
.progress .bar{height:10px;border-radius:9px;background:var(--fog);overflow:hidden}
.progress .bar i{display:block;height:100%;width:2%;background:linear-gradient(90deg,var(--tide),var(--lagoon))}
.progress .sc-fixed{color:var(--muted)}
@media (max-width:900px){.goal{grid-template-columns:minmax(0,1fr)}}
.analogy{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:48px;align-items:center}
.video-slot{aspect-ratio:16/9;border-radius:var(--r-card);background:var(--deep);display:grid;place-items:center;max-width:100%}
@media (max-width:900px){.analogy{grid-template-columns:minmax(0,1fr)}}
.marks{background:var(--fog);padding:0 0 40px}
.marks p{font-size:12px;color:var(--muted);max-width:110ch;margin:0}
.upstream{grid-column:1/-1;min-height:0}
.up-rows{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--hair)}
.up-rows li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.up-rows .label{color:var(--tide)}
.up-rows a{color:var(--ink)}
@media (max-width:640px){.up-rows li{grid-template-columns:minmax(0,1fr);gap:4px}}
.up-case{padding:16px 18px;border-radius:14px;background:var(--fog);display:flex;flex-direction:column;gap:6px}
.up-case[hidden]{display:none}
.answer.light .sc-fixed{color:var(--muted)}
.case{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.timeline2{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.timeline2 li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--hair)}
.timeline2 .d{font:500 12px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tide);margin:0}
.timeline2 p{margin:0}
.timeline2 .src{margin-top:8px}
.case-side{display:grid;gap:20px;position:sticky;top:24px}
.side-box{background:var(--paper);border-radius:var(--r-card);padding:24px;display:grid;gap:14px}
.side-box .up-rows li{grid-template-columns:minmax(0,1fr);gap:4px}
@media (max-width:900px){.case{grid-template-columns:minmax(0,1fr)}.case-side{position:static}.timeline2 li{grid-template-columns:minmax(0,1fr);gap:6px}}
.door4{min-height:280px}
.prose-wide{max-width:980px}
.prose-wide .h3{margin:48px 0 14px}
.prose-wide .h3:first-child{margin-top:0}
.pull-q{margin:0;font:300 clamp(22px,2.4vw,30px)/1.3 var(--sans);letter-spacing:-.03em;padding-left:20px;border-left:2px solid var(--lagoon)}
.band-word{font:500 13px var(--mono);letter-spacing:.12em}
.band-word.band-trace,.band-word.band-detected{color:var(--b-near)}.band-word.band-elevated{color:var(--b-wide)}.band-word.band-high{color:var(--b-poor)}.band-word.band-severe{color:var(--b-crit)}
.src-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.src-grp h3{font-size:18px;letter-spacing:-.02em;margin-bottom:10px}
.src-grp ul,.src-list{margin:0;padding-left:18px;color:var(--muted);font-size:15px;display:grid;gap:6px}
.src-grp a,.src-list a{overflow-wrap:anywhere}
@media (max-width:700px){.src-grid{grid-template-columns:minmax(0,1fr)}}
.f-lang{font-size:13px;color:var(--muted-dark);margin:0}
body:has(.announce-bar) .site-header:not(.is-solid){top:40px}
@media (max-width:640px){body:has(.announce-bar) .site-header:not(.is-solid){top:56px}}
@media (max-width:520px){.hero2 .zip-pill{flex-wrap:wrap;border-radius:26px}.hero2 .zip-pill input{flex-basis:100%}.hero2 .zip-pill .btn{width:100%}}
