/* GeoClear Health — canonical token system per Brand Standard v1.0 §4.2 (same proof DNA, clinical skin).
   Cool white/slate surfaces, deep-ocean navy headings, AA-compliant deep teal for text, bright teal
   fill-only, blue = system-hold only, slate = isolation-by-design, red = safety/tamper only. */
:root{
  /* Family anchors (§4.2) */
  --gc-mark-teal:#00C2B8; --gc-aurora-teal:#22D3A6; --gc-deep-ocean:#0B1F3B;
  /* Health clinical surfaces */
  --gh-surface:#FFFFFF; --gh-surface-2:#F4F7F8; --gh-line:#D8DEE0;
  --gh-heading:#0B1F3B; --gh-text:#1A2B3C; --gh-muted-text:#53616A;
  /* Health clinical accents */
  --gh-teal-bright:#00C2B8;  /* fills/icons/rules ONLY, never small text on white */
  --gh-teal-deep:#0C6B6B;    /* teal text, links, AA small UI */
  /* Status semantics (§4.2) — each with a -bg */
  --gh-verified:#1F7A5C;     --gh-verified-bg:#EAF7F1;
  --gh-review:#B7791F;       --gh-review-bg:#FFF3D6;
  --gh-system-hold:#0B57D0;  --gh-system-hold-bg:#EAF2FE;
  --gh-isolation:#475569;    --gh-isolation-bg:#F1F5F9;
  --gh-safety:#9B2C2C;       --gh-safety-bg:#FCEEEE;
  --gh-neutral:#64748B;      --gh-neutral-bg:#F8FAFC;
  /* Typography (§5): Inter body; headings stay Inter (council: defer serif, keep parent kinship) */
  --gh-font-body:Inter,-apple-system,BlinkMacSystemFont,"system-ui","Segoe UI",Roboto,sans-serif;
  --gh-font-head:var(--gh-font-body);
  --radius:14px; --maxw:1080px; --shadow:0 1px 2px rgba(11,31,59,.04),0 6px 20px rgba(11,31,59,.06);
  /* back-compat aliases (existing rules + 1 inline use) -> canonical */
  --bg:var(--gh-surface); --bg2:var(--gh-surface-2); --panel:var(--gh-surface); --panel2:var(--gh-surface-2);
  --ink:var(--gh-text); --ink2:var(--gh-text); --muted:var(--gh-muted-text); --line:var(--gh-line); --line2:#C9D4DE;
  --teal:var(--gh-teal-bright); --teal-d:var(--gh-teal-deep); --accent:var(--gh-teal-deep);
  --green:var(--gh-verified); --amber:var(--gh-review); --blue:var(--gh-system-hold); --red:var(--gh-safety);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f6fbfc 0%,var(--gh-surface) 320px);color:var(--gh-text);
  font:16px/1.62 var(--gh-font-body);-webkit-font-smoothing:antialiased}
a{color:var(--gh-teal-deep);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--gh-teal-deep);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
/* nav */
header.site{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--gh-line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;color:var(--gh-heading);letter-spacing:-.01em}
.brand .logo{color:var(--gh-teal-bright);font-size:22px}
.brand .tm{font-size:9px;font-weight:700;vertical-align:super;color:var(--gh-muted-text);margin-left:1px}
nav.main{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--gh-text);font-size:13.5px;font-weight:600;padding:7px 10px;border-radius:8px}
nav.main a:hover{color:var(--gh-heading);background:var(--gh-surface-2);text-decoration:none}
nav.main a.active{color:var(--gh-teal-deep);background:rgba(12,107,107,.08)}
.nav-cta{background:var(--gh-teal-deep);color:#fff !important;padding:8px 15px;border-radius:9px;font-weight:700;font-size:13.5px}
.nav-cta:hover{text-decoration:none;background:#0a5a5a}
/* hero + sections */
section{padding:54px 0}
.hero{padding:74px 0 40px}
.eyebrow{color:var(--gh-teal-deep);font-weight:700;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase}
h1{font-family:var(--gh-font-head);font-size:clamp(31px,5vw,47px);line-height:1.07;margin:12px 0 16px;letter-spacing:-.025em;color:var(--gh-heading)}
h2{font-family:var(--gh-font-head);font-size:clamp(22px,3vw,31px);margin:0 0 14px;letter-spacing:-.018em;color:var(--gh-heading)}
h3{font-size:17.5px;margin:0 0 8px;color:var(--gh-heading);letter-spacing:-.01em}
p.lead{font-size:19px;color:var(--gh-text);max-width:64ch}
p{color:var(--gh-text);max-width:70ch}
.muted{color:var(--gh-muted-text)}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-block;border-radius:11px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer;border:1px solid var(--line2);transition:all .12s}
.btn.primary{background:var(--gh-teal-deep);color:#fff;border:1px solid var(--gh-teal-deep)}
.btn.primary:hover{background:#0a5a5a;border-color:#0a5a5a}
.btn.ghost{background:#fff;color:var(--gh-heading)}
.btn.ghost:hover{border-color:var(--gh-teal-deep);color:var(--gh-teal-deep)}
.btn:hover{text-decoration:none}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:10px}
.card{background:var(--gh-surface);border:1px solid var(--gh-line);border-radius:var(--radius);padding:20px 20px 21px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gh-teal-bright),rgba(0,194,184,0))}
.card h3{display:flex;align-items:center;gap:8px}
.card .note,.card p{color:var(--gh-text)}
/* status dots (pair with text labels per §7/§16) */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.dot.green{background:var(--gh-verified)}.dot.amber{background:var(--gh-review)}.dot.red{background:var(--gh-safety)}
.dot.blue{background:var(--gh-system-hold)}.dot.teal{background:var(--gh-teal-bright)}.dot.slate{background:var(--gh-isolation)}
.ck{color:var(--gh-verified);font-weight:800}
.pill{display:inline-flex;gap:6px;align-items:center;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}
.pill.green{background:var(--gh-verified-bg);color:var(--gh-verified);border-color:rgba(31,122,92,.25)}
.pill.amber{background:var(--gh-review-bg);color:#8a5a10;border-color:rgba(183,121,31,.3)}
.pill.blue{background:var(--gh-system-hold-bg);color:var(--gh-system-hold);border-color:rgba(11,87,208,.22)}
.pill.slate{background:var(--gh-isolation-bg);color:var(--gh-isolation);border-color:rgba(71,85,105,.25)}
.pill.neutral{background:var(--gh-neutral-bg);color:var(--gh-neutral);border-color:rgba(100,116,139,.25)}
.alt{background:var(--gh-surface-2);border-top:1px solid var(--gh-line);border-bottom:1px solid var(--gh-line)}
ol.loop{counter-reset:s;list-style:none;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:8px}
ol.loop li{counter-increment:s;background:#fff;border:1px solid var(--gh-line);border-radius:11px;padding:12px 14px 12px 12px;font-size:14px;color:var(--gh-text);display:flex;align-items:flex-start;gap:9px;box-shadow:var(--shadow)}
ol.loop li::before{content:counter(s);display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--gh-teal-deep);color:#fff;font-weight:800;font-size:12px;align-items:center;justify-content:center;flex:none;margin-top:1px}
table.stage{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px;background:#fff;border:1px solid var(--gh-line);border-radius:12px;overflow:hidden}
table.stage th,table.stage td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--gh-line)}
table.stage tr:last-child td{border-bottom:none}
table.stage th{color:var(--gh-muted-text);font-weight:600;background:var(--gh-surface-2)}
table.stage td{color:var(--gh-text)}
.note{color:var(--gh-muted-text);font-size:13px}
.shield{border-left:3px solid var(--gh-teal-deep);background:rgba(12,107,107,.05);padding:12px 14px;border-radius:0 10px 10px 0;color:var(--gh-text);font-size:14px}
footer.site{border-top:1px solid var(--gh-line);margin-top:34px;padding:34px 0 30px;color:var(--gh-muted-text);font-size:13.5px;background:var(--gh-surface-2)}
footer.site .cols{display:grid;gap:20px;grid-template-columns:2fr 1fr 1fr 1fr}
footer.site b{color:var(--gh-heading)}
footer.site a{color:var(--gh-muted-text)}footer.site a:hover{color:var(--gh-teal-deep)}
.brandline{font-size:13px;color:var(--gh-muted-text);margin-top:8px;max-width:62ch;line-height:1.55}
@media(max-width:760px){nav.main a:not(.nav-cta){display:none}footer.site .cols{grid-template-columns:1fr 1fr}h1{word-break:break-word}}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}
