/* Variate Health — concept build. Shared styles.
   Aesthetic: evidence-forward editorial. Paper, ink, one teal accent, mono metadata. */

:root{
  --ink:#101828; --sub:#475467; --line:#e4e7ec; --paper:#fbfbfa; --card:#ffffff;
  --accent:#0d6e6e; --accent-2:#0b3b39; --accent-soft:#e6f2f0;
  --ok:#067647; --ok-bg:#ecfdf3; --part:#b54708; --part-bg:#fffaeb;
  --miss:#b42318; --miss-bg:#fef3f2; --pend:#475467; --pend-bg:#f2f4f7;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;font-size:16px}
a{color:var(--accent)}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}

/* demo banner */
.demo{background:#101828;color:#e6f2f0;font-size:12.5px;padding:8px 16px;text-align:center}
.demo b{color:#7ce0d8}
.demo a{color:#7ce0d8}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(251,251,250,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:20px;padding:12px 0;flex-wrap:wrap}
.brand{font-weight:700;font-size:16.5px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px}
.brand .dot{width:10px;height:10px;border-radius:3px;background:var(--accent);display:inline-block}
.nav .links{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}
.nav .links a{font-size:13.5px;color:var(--sub);text-decoration:none;padding:6px 10px;border-radius:7px}
.nav .links a:hover{background:var(--accent-soft);color:var(--accent-2)}
.nav .links a.proof{color:var(--accent);font-weight:600;border:1px solid var(--accent)}

/* buttons */
.btn{display:inline-block;font-size:14.5px;font-weight:600;text-decoration:none;border-radius:9px;padding:11px 18px;margin:4px 6px 4px 0}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-2)}
.btn.ghost{border:1.5px solid var(--accent);color:var(--accent)}
.btn.ghost:hover{background:var(--accent-soft)}
.btn.quiet{color:var(--sub);border:1.5px solid var(--line)}
.btn.quiet:hover{border-color:var(--sub)}

/* hero */
.hero{padding:64px 0 36px}
.kicker{font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h1{font-size:clamp(30px,5vw,46px);line-height:1.08;letter-spacing:-.025em;margin:14px 0 12px;max-width:20ch}
h1 .em{color:var(--accent)}
.lede{font-size:18px;color:var(--sub);max-width:62ch;margin:0 0 20px}
.lede b{color:var(--ink)}

/* stats strip */
.stats{display:flex;gap:26px;flex-wrap:wrap;margin:26px 0 8px}
.stat{min-width:120px}
.stat .v{font:700 26px/1.1 var(--sans);letter-spacing:-.02em;color:var(--accent-2)}
.stat .k{font-size:12.5px;color:var(--sub);margin-top:3px}

/* three doors */
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:30px 0 10px}
.door{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;color:var(--ink);position:relative;transition:border-color .15s}
.door:hover{border-color:var(--accent)}
.door .who{font:600 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.door h3{margin:8px 0 6px;font-size:18.5px;letter-spacing:-.01em}
.door p{margin:0;font-size:14px;color:var(--sub)}
.door .go{position:absolute;right:18px;top:20px;color:var(--accent);font-size:15px}

/* proof band */
.band{background:var(--accent-2);color:#e6f2f0;border-radius:16px;padding:28px 28px 22px;margin:38px 0}
.band .kicker{color:#7ce0d8}
.band h2{color:#fff;font-size:22px;margin:10px 0 14px;letter-spacing:-.01em}
.bandgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.bcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:16px}
.bcard .t{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7ce0d8;margin-bottom:6px}
.bcard p{margin:0;font-size:14px;color:#d9ece9}
.bcard a{color:#7ce0d8}
.synth{font:500 10.5px var(--mono);color:#0b3b39;background:#fde68a;border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:2px}

/* thesis strip */
.thesis{display:flex;gap:18px;align-items:flex-start;border-left:3px solid var(--accent);padding:6px 0 6px 18px;margin:34px 0;color:var(--sub);font-size:15px;max-width:72ch}
.thesis b{color:var(--ink)}

/* sections */
section{padding:34px 0}
h2.sec{font-size:26px;letter-spacing:-.015em;margin:0 0 6px}
.sub{color:var(--sub);font-size:16px;max-width:66ch}
.why{font-size:14px;color:var(--sub);border-left:3px solid var(--accent);padding:2px 0 2px 14px;margin:14px 0 18px}

/* role blocks */
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:22px}
.role{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:20px}
.role .who{font:600 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.role h3{margin:8px 0 8px;font-size:17px}
.role ul{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--sub)}
.role ul li{margin:5px 0}
.role ul li b{color:var(--ink)}

/* tables */
table{border-collapse:collapse;width:100%;font-size:13.5px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:14px 0}
th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);background:#f9fafb;padding:9px 10px;border-bottom:1px solid var(--line)}
td{padding:9px 10px;border-bottom:1px solid #f2f4f7;vertical-align:top}
tr:last-child td{border-bottom:none}
.mono{font-family:var(--mono);font-size:12.5px}

/* receipt + badges (shared w/ specimens) */
.receipt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.receipt .meta{display:flex;flex-wrap:wrap;gap:18px;font:500 12px var(--mono);color:var(--sub);border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:14px}
.receipt .meta b{color:var(--ink)}
.q{font-size:18px;font-weight:600;background:var(--accent-soft);border-radius:8px;padding:11px 15px;margin:6px 0 12px}
.tag{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 7px}
.badge{font:600 11px var(--mono);border-radius:999px;padding:2px 9px;white-space:nowrap}
.b-ok{color:var(--ok);background:var(--ok-bg)} .b-part{color:var(--part);background:var(--part-bg)}
.b-miss{color:var(--miss);background:var(--miss-bg)} .b-pend{color:var(--pend);background:var(--pend-bg)}
.box{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:12px 0;background:#f9fafb;font-size:13.5px}
.stable{border-color:#a6f4c5;background:var(--ok-bg)}
.actor{display:flex;flex-wrap:wrap;gap:10px;font:500 12px var(--mono);color:var(--sub);margin-top:10px}
.actor span{background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 8px}

/* faq */
.faq{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:8px 22px;margin:16px 0}
.faq details{border-bottom:1px dashed var(--line);padding:12px 0}
.faq details:last-child{border-bottom:none}
.faq summary{font-weight:600;font-size:15.5px;cursor:pointer;list-style-position:outside}
.faq .a{color:var(--sub);font-size:14.5px;margin-top:8px}
.faq .a b{color:var(--ink)}

/* field notes hub */
.notes{display:grid;gap:12px;margin-top:20px}
.note{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink)}
.note:hover{border-color:var(--accent)}
.note .meta{font:500 12px var(--mono);color:var(--sub);display:flex;gap:14px;flex-wrap:wrap}
.note h3{margin:7px 0 5px;font-size:17px}
.note p{margin:0;color:var(--sub);font-size:14px}
.note.flag{border-style:dashed}
.note.flag .meta{color:var(--part)}

/* figure/map */
.figure{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin:14px 0;text-align:center}
.figure svg{max-width:100%;height:auto}
.cap{font-size:12.5px;color:var(--sub);margin-top:8px;text-align:left}

/* pull quote */
.pull{font-size:21px;line-height:1.35;letter-spacing:-.01em;border-left:4px solid var(--accent);padding:8px 0 8px 20px;margin:22px 0;color:var(--accent-2);font-weight:600;max-width:34ch}
.prose{max-width:70ch;font-size:16px}
.prose p{margin:14px 0}
.prose h3{margin:28px 0 6px;font-size:19px}

/* cta ladder */
.ladder{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:18px 0}
.ladder .or{font-size:12.5px;color:var(--sub);margin:0 8px}

/* footer */
footer.site{border-top:1px solid var(--line);margin-top:70px;padding:30px 0 50px;font-size:13.5px;color:var(--sub)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.fgrid h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin:0 0 8px}
.fgrid ul{list-style:none;padding:0;margin:0}
.fgrid li{margin:5px 0}
.fgrid a{color:var(--sub);text-decoration:none}
.fgrid a:hover{color:var(--accent)}
.fine{margin-top:26px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;display:flex;gap:18px;flex-wrap:wrap}

/* aeo note */
.aeo{background:#f2f4f7;border:1px dashed #cbd5e1;border-radius:10px;padding:12px 16px;font:500 12px var(--mono);color:var(--sub);margin:20px 0}
.aeo b{color:var(--ink)}

@media (max-width:760px){ .fgrid{grid-template-columns:1fr} .nav .links{margin-left:0} }
