@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:italic;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/instrument-sans-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Fragment Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fragment-mono-latin.woff2) format("woff2")}
@font-face{font-family:"Fragment Mono";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fragment-mono-italic-latin.woff2) format("woff2")}
/* Layout: split hero around a live microscope field; a product panel; specimen slides ordered bacteria → human; a five-step immune response; three tiers inside; one inverted proof band.
   Light theme = brightfield H&E stain (eosin pink, hematoxylin violet). Dark theme = immunofluorescence (DAPI blue, Cy5 magenta on black). */
:root{
  --bg:#fbf7f9; --bg-2:#f5ecf1; --surface:#ffffff;
  --ink:#1f1838; --ink-2:#463e5f; --muted:#6a6181;
  --line:#ebe1e8; --line-2:#d8c8d4;
  --hema:#4a3aa8; --eosin:#b83b63; --threat:#9a5806; --threat-bg:#fbeedb;
  --inv-bg:#1f1838; --inv-fg:#f6f2fb; --inv-muted:#bdb4d2; --inv-line:#3b3259; --inv-accent:#c2b8ff;
  --header-bg:rgba(251,247,249,.84);
  --pop-window:#f6f6f7; --pop-group:rgba(0,0,0,.04); --pop-separator:rgba(0,0,0,.1); --pop-label:rgba(0,0,0,.85); --pop-label-2:rgba(0,0,0,.62);
  --pop-link:#0064d2; --pop-green:#34c759; --pop-on-glyph:#fff; --pop-control:#fff; --pop-control-line:rgba(0,0,0,.14);
  --hero-haze:rgba(236,160,189,.22);
  --cv-bg:252,243,247; --cv-cell:236,160,189; --cv-cell-a:.46; --cv-mem:199,92,135; --cv-mem-a:.6;
  --cv-nuc:82,64,170; --cv-core:44,32,110; --cv-threat:226,152,40; --cv-signal:74,58,168; --cv-seal:31,24,56;
  --cv-vig:150,64,104; --cv-glow:0;
  --stain-a:"H&E"; --stain-b:"brightfield";

  --f-display:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --f-body:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"Fragment Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --t-hero:clamp(2.9rem,1.35rem + 5.4vw,6rem);
  --t-h2:clamp(2.1rem,1.35rem + 2.9vw,3.75rem);
  --t-lead:clamp(1.125rem,1.02rem + .35vw,1.3rem);
  --t-small:.9375rem;
  --t-micro:.75rem;
  --radius:18px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#07080d; --bg-2:#0c0e16; --surface:#11131c;
    --ink:#eceef7; --ink-2:#c1c5d8; --muted:#8e93ab;
    --line:#1c1f2d; --line-2:#2c3046;
    --hema:#97a4ff; --eosin:#ff6aae; --threat:#ffb547; --threat-bg:#2b200d;
    --inv-bg:#10121c; --inv-fg:#eceef7; --inv-muted:#9ba1bc; --inv-line:#262a3d; --inv-accent:#97a4ff;
    --header-bg:rgba(7,8,13,.8);
    --pop-window:#2a2a2d; --pop-group:rgba(255,255,255,.06); --pop-separator:rgba(255,255,255,.12); --pop-label:rgba(255,255,255,.85); --pop-label-2:rgba(255,255,255,.62);
    --pop-link:#6cb4ff; --pop-green:#30d158; --pop-on-glyph:#1c1c1e; --pop-control:rgba(255,255,255,.1); --pop-control-line:rgba(255,255,255,.16);
    --hero-haze:rgba(255,70,160,.10);
    --cv-bg:4,5,10; --cv-cell:255,70,160; --cv-cell-a:.07; --cv-mem:255,92,170; --cv-mem-a:.62;
    --cv-nuc:105,128,255; --cv-core:205,214,255; --cv-threat:255,181,71; --cv-signal:140,160,255; --cv-seal:236,238,255;
    --cv-vig:0,0,0; --cv-glow:1;
    --stain-a:"DAPI · Cy5"; --stain-b:"fluorescence";
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#07080d; --bg-2:#0c0e16; --surface:#11131c;
  --ink:#eceef7; --ink-2:#c1c5d8; --muted:#8e93ab;
  --line:#1c1f2d; --line-2:#2c3046;
  --hema:#97a4ff; --eosin:#ff6aae; --threat:#ffb547; --threat-bg:#2b200d;
  --inv-bg:#10121c; --inv-fg:#eceef7; --inv-muted:#9ba1bc; --inv-line:#262a3d; --inv-accent:#97a4ff;
  --header-bg:rgba(7,8,13,.8);
  --pop-window:#2a2a2d; --pop-group:rgba(255,255,255,.06); --pop-separator:rgba(255,255,255,.12); --pop-label:rgba(255,255,255,.85); --pop-label-2:rgba(255,255,255,.62);
  --pop-link:#6cb4ff; --pop-green:#30d158; --pop-on-glyph:#1c1c1e; --pop-control:rgba(255,255,255,.1); --pop-control-line:rgba(255,255,255,.16);
  --hero-haze:rgba(255,70,160,.10);
  --cv-bg:4,5,10; --cv-cell:255,70,160; --cv-cell-a:.07; --cv-mem:255,92,170; --cv-mem-a:.62;
  --cv-nuc:105,128,255; --cv-core:205,214,255; --cv-threat:255,181,71; --cv-signal:140,160,255; --cv-seal:236,238,255;
  --cv-vig:0,0,0; --cv-glow:1;
  --stain-a:"DAPI · Cy5"; --stain-b:"fluorescence";
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
[hidden]{display:none!important}
.svg-defs{position:absolute}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--header-bg)}
a{color:inherit}
p{margin:0;text-wrap:pretty}
h1,h2,h3{margin:0;text-wrap:balance}
ol,ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--hema);outline-offset:3px;border-radius:6px}
::selection{background:rgba(var(--cv-cell),.45)}

.wrap{max-width:1240px;margin-inline:auto;padding-left:max(clamp(16px,4vw,40px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,40px),env(safe-area-inset-right,0px))}
.band{padding-block:clamp(4.5rem,3rem + 5vw,8rem);scroll-margin-top:64px}
.band-wash{background:var(--bg-2)}

/* ---------- type primitives ---------- */
.eyebrow{font-family:var(--f-mono);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--hema)}
.h2{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);line-height:1.04;letter-spacing:-.018em;font-optical-sizing:auto}
.h2 em{font-style:italic;color:var(--hema)}
.lede{font-size:var(--t-lead);line-height:1.55;color:var(--ink-2);max-width:58ch}
.section-head{display:grid;gap:1.1rem;max-width:50rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem)}
.mono-label{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--header-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}
.brand .mark{width:24px;height:24px;color:var(--hema);flex:none}
.wordmark{font-family:var(--f-display);font-size:1.4rem;font-weight:500;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.wordmark span{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);letter-spacing:0;margin-left:1px}
.nav{display:flex;gap:1.6rem;margin-left:auto;font-size:var(--t-small)}
.nav a{text-decoration:none;color:var(--ink-2);white-space:nowrap}
.nav a:hover{color:var(--ink)}
.header-tools{display:flex;align-items:center;gap:.75rem}
.stain-switch{display:inline-flex;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface)}
.stain-switch button{appearance:none;border:0;background:transparent;color:var(--muted);font:500 .8125rem/1 var(--f-body);padding:.5rem .75rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.stain-switch button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.stain-switch .sw-dot{width:8px;height:8px;border-radius:50%;flex:none}
.stain-switch [data-stain="light"] .sw-dot{background:rgb(236,160,189);box-shadow:inset -2px -1px 0 rgb(82,64,170)}
.stain-switch [data-stain="dark"] .sw-dot{background:rgb(105,128,255);box-shadow:0 0 6px rgb(255,92,170)}
.stain-switch .short{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;font:600 1rem/1 var(--f-body);padding:1rem 1.4rem;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{background:var(--hema);color:var(--bg)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{font-size:.875rem;padding:.65rem 1rem}
.btn[disabled]{opacity:.6;cursor:progress}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(60% 70% at 78% 46%,var(--hero-haze),transparent 70%),var(--bg)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:clamp(2rem,1rem + 4vw,5rem);padding-block:clamp(2.5rem,1.5rem + 4vw,5.5rem) clamp(3.5rem,2rem + 4vw,6rem)}
.hero-copy{display:grid;gap:1.6rem;min-width:0}
.pulse{width:8px;height:8px;border-radius:50%;background:rgb(var(--cv-threat));box-shadow:0 0 0 0 rgba(var(--cv-threat),.6);flex:none}
@media (prefers-reduced-motion: no-preference){.pulse{animation:pulse 2.4s ease-out infinite}}
.motion-paused .pulse{animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--cv-threat),.55)}70%{box-shadow:0 0 0 9px rgba(var(--cv-threat),0)}100%{box-shadow:0 0 0 0 rgba(var(--cv-threat),0)}}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:var(--t-hero);line-height:.98;letter-spacing:-.028em;font-optical-sizing:auto}
.hero h1 em{display:block;font-style:italic;color:var(--hema);letter-spacing:-.03em}
.hero h1 .h1-brand{display:block;font-size:1.75rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--ink-2);margin-bottom:.6rem}
.hero .lede{max-width:34rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* copy-for-my-agent: the hero button, an instrument-style label and one line beside it */
.agent-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;max-width:34rem;min-width:0}
.agent-text{display:grid;gap:.3rem;flex:1 1 18.5rem;min-width:0}
.agent-text .mono-label{color:var(--ink-2);white-space:nowrap}
.agent-line{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.btn .btn-mark{width:16px;height:16px;flex:none}
/* the email link shows only where the header button is hidden (phones) */
.agent-line a{display:none;color:var(--hema);text-underline-offset:3px;white-space:nowrap}

/* microscope */
.scope{position:relative;margin:0;justify-self:end;width:min(100%,620px);display:grid;gap:1rem}
.scope-ring{position:relative;aspect-ratio:1;width:100%;max-width:100%}
.reticle{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rt-outer{fill:none;stroke:var(--line-2);stroke-width:.6}
.rt-minor{fill:none;stroke:var(--muted);stroke-width:2.4;stroke-dasharray:.35 4.64;opacity:.55}
.rt-major{fill:none;stroke:var(--ink-2);stroke-width:4;stroke-dasharray:.5 49.37;opacity:.8}
.scope-field{position:absolute;inset:5.5%;border-radius:50%;background:rgb(var(--cv-bg))}
.scope-field::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(var(--cv-seal),.12),inset 0 0 50px 6px rgba(var(--cv-vig),.22)}
#tissue{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;cursor:crosshair;touch-action:manipulation;display:block}
.cell-tip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;font-family:var(--f-mono);font-size:.6875rem;line-height:1;white-space:nowrap;padding:.4rem .55rem;border-radius:6px;background:var(--ink);color:var(--bg);transform:translate(12px,-130%)}
.corner{position:absolute;font-family:var(--f-mono);font-size:.6875rem;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:grid}
.c-tl{top:0;left:0}
.c-tr{top:0;right:0;text-align:right}
.c-tr::before{content:var(--stain-a);color:var(--ink-2)}
.c-tr::after{content:var(--stain-b)}
.c-br{bottom:0;right:0;text-align:right;justify-items:end;gap:.35rem}
.c-br .bar{display:block;width:44px;height:3px;background:var(--ink-2);border-radius:2px}
.readout{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:14px;padding:.8rem .9rem .5rem;box-shadow:0 18px 40px -24px rgba(var(--cv-seal),.45);min-width:0}
.readout-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.readout-head b{font-weight:400;color:var(--ink-2);display:inline-flex;align-items:center;gap:.45rem}
.readout-head b::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--hema)}
#readout{display:grid}
#readout li{display:grid;gap:.15rem;padding:.5rem 0;border-bottom:1px dashed var(--line);font-family:var(--f-mono);font-size:.6875rem;line-height:1.3;min-width:0}
#readout li:last-child{border-bottom:0}
@media (prefers-reduced-motion: no-preference){#readout li.fresh{animation:fresh 1.4s ease-out}}
@keyframes fresh{from{background:rgba(var(--cv-threat),.16)}to{background:transparent}}
.lg-top,.lg-bot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}
.lg-top .who{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.lg-bot .what{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.lg-bot time{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}
.chip{flex:none;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .4rem;border-radius:4px;font-weight:400;line-height:1.2}
.chip-threat{color:var(--threat);background:var(--threat-bg)}
.chip-seal{color:var(--ink);background:var(--line)}
.chip-ok{color:var(--hema);background:color-mix(in srgb,var(--hema) 13%,transparent)}
.chip-signal{color:var(--eosin);background:color-mix(in srgb,var(--eosin) 12%,transparent)}
.scope-cap{font-size:var(--t-small);color:var(--muted);text-align:center}
.sim-line{display:block;margin-top:.45rem;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
.sim-line b{font-weight:400;color:var(--ink-2);font-variant-numeric:tabular-nums}
.link-btn{appearance:none;border:0;background:none;padding:0;font:inherit;color:var(--hema);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---------- why now ---------- */
.fears{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:clamp(3rem,2rem + 3vw,4.5rem)}
.fears li{display:grid;gap:.35rem;align-content:start;padding:1.15rem 1.2rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.fears b{font-family:var(--f-display);font-weight:500;font-size:1.35rem;line-height:1.15;letter-spacing:-.005em}
.fears p{font-size:var(--t-small);color:var(--ink-2)}
.stat{margin:0;display:grid;gap:.8rem;align-content:start;padding-top:1.25rem;border-top:1px solid var(--ink)}
.stat b{font-family:var(--f-display);font-weight:300;font-size:clamp(3.4rem,2.4rem + 3.6vw,5.6rem);line-height:.9;letter-spacing:-.03em;color:var(--hema);font-variant-numeric:lining-nums tabular-nums}
.stat b sup{font-size:.42em;vertical-align:.95em;letter-spacing:0;margin-left:.04em}
.stat figcaption{color:var(--ink-2);max-width:32ch}
.stat cite{font-style:normal;font-family:var(--f-mono);font-size:var(--t-micro);color:var(--muted);letter-spacing:.04em}
.stat cite a{color:inherit;text-underline-offset:3px}
.stat-wide{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:clamp(1.5rem,1rem + 3vw,3.5rem)}
.stat-wide figcaption{font-size:var(--t-lead);line-height:1.5;max-width:44ch}
.stat-wide cite{display:block;margin-top:.6rem}

/* ---------- product ---------- */
.product-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.modes li{display:grid;gap:.3rem;padding:1.15rem 0;border-top:1px solid var(--line-2)}
.modes li:last-child{border-bottom:1px solid var(--line-2)}
.mode-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.mode-head b{font-family:var(--f-display);font-weight:500;font-size:1.6rem;letter-spacing:-.01em;line-height:1.1}
.mode-fever .mode-head b{color:var(--threat)}
.modes p{font-size:var(--t-small);color:var(--ink-2);max-width:40ch}
.lever-note{margin-top:1.4rem;font-size:var(--t-small);color:var(--ink-2);max-width:40ch}
.lever-note b{color:var(--ink);font-weight:600}
.lever-note + .lever-note{margin-top:.6rem}
.device{position:relative;display:grid;min-width:0}
.device{--pop-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",ui-sans-serif,system-ui,sans-serif;--pop-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.pop,.ask-card{background:var(--pop-window);color:var(--pop-label);border:1px solid var(--pop-separator);border-radius:14px;box-shadow:0 18px 44px -18px rgba(var(--cv-seal),.45);font:12px/15px var(--pop-ui);overflow:hidden}
.pop{width:min(344px,100%);justify-self:end}
.pop-zone{padding:12px 14px;border-top:1px solid var(--pop-separator)}
.pop-zone:first-child{border-top:0}
.pop-state{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}
.pop-glyph{width:28px;height:28px;display:block}
.pop-glyph-bg{fill:var(--pop-green)}
.pop-glyph-mark{fill:none;stroke:var(--pop-on-glyph);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pop-head{margin:0;font:600 15px/20px var(--pop-ui);letter-spacing:0;text-wrap:balance}
.pop-head span{display:block}
.pop-glance{margin:2px 0 0;font-size:11px;line-height:14px;color:var(--pop-label-2)}
.pop-foot{display:flex;gap:14px;padding:8px 14px;font-size:11px;line-height:14px;align-items:center}
.pop-tb{display:inline-flex;align-items:center;gap:3px;padding:2px 0;color:var(--pop-label-2)}
.pop-tb svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pop-tb-end{margin-left:auto}
.ask-card{position:relative;justify-self:start;margin-top:12px;width:min(344px,92%);padding:12px 14px;z-index:2}
.pop-find{background:var(--pop-group);border-radius:8px;padding:10px 12px;display:grid;gap:6px}
.pop-find p{margin:0}
.pop-meta{display:flex;align-items:center;gap:6px;font-size:11px;line-height:14px;color:var(--pop-label-2)}
.pop-mono{font-family:var(--pop-mono)}
.pop-show{margin-left:auto;color:var(--pop-link)}
.pop-ttl{font-size:13px;line-height:16px;font-weight:600;color:var(--pop-label)}
.pop-val{font:400 11px/14px var(--pop-mono);color:var(--pop-label-2);overflow-wrap:anywhere}
.pop-now{font-size:12px;line-height:15px;color:var(--pop-label)}
.pop-why summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;width:fit-content;font-size:11px;line-height:14px;color:var(--pop-label-2);padding:1px 0}
.pop-why summary::-webkit-details-marker{display:none}
.pop-why summary::before{content:"";flex:none;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .12s}
.pop-why[open]>summary::before{transform:rotate(45deg)}
.pop-why summary:hover{color:var(--pop-label)}
.pop-why summary:focus-visible{outline:2px solid var(--pop-label-2);outline-offset:2px;border-radius:5px}
@media (prefers-reduced-motion: reduce){.pop-why summary::before{transition:none}}
.pop-whyb{display:grid;gap:4px;font-size:12px;line-height:15px;color:var(--pop-label-2);padding:2px 0 0 11px}
.pop-whyb p{overflow-wrap:anywhere}
.pop-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pop-btn{appearance:none;margin:0;height:22px;padding:0 9px;border-radius:6px;font:400 12px/15px var(--pop-ui);background:var(--pop-control);border:1px solid var(--pop-control-line);color:var(--pop-label);cursor:pointer;white-space:nowrap}
.pop-btn:focus-visible{outline:2px solid var(--pop-label-2);outline-offset:1px}
.ask-result{font:400 12px/15px var(--pop-ui);color:var(--pop-label-2);min-height:15px}
.ask-result:empty{position:absolute;width:1px;height:1px;min-height:0;margin:0;overflow:hidden;clip-path:inset(50%)}
.mock-note{margin-top:1rem;font-family:var(--f-mono);font-size:.6875rem;color:var(--muted);text-align:right}

/* ---------- specimens ---------- */
.specimens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.spec{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 1.4rem 1.3rem;min-width:0;transition:border-color .25s,transform .25s}
.spec:hover{border-color:var(--line-2);transform:translateY(-2px)}
.spec-label{display:flex;justify-content:space-between;gap:1rem;margin:0 -1.4rem;padding:.75rem 1.4rem;border-bottom:1px dashed var(--line-2);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(var(--cv-cell),.07) 6px 7px);border-radius:var(--radius) var(--radius) 0 0}
.spec-label .mech{color:var(--ink-2);text-align:right}
.spec-org{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:1.65rem;line-height:1.1;letter-spacing:-.01em;padding-top:.35rem}
.spec-org.common{font-style:normal}
.spec-nature{color:var(--ink-2);font-size:var(--t-small)}
.spec-xfer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding-top:.85rem;border-top:1px solid var(--line)}
.spec-xfer .arrow{font-family:var(--f-mono);color:var(--hema);line-height:1.6}
.spec-xfer p{font-size:var(--t-small)}
.spec-xfer b{font-weight:600;color:var(--ink)}
.spec-ref{font-family:var(--f-mono);font-size:.6875rem;color:var(--muted);letter-spacing:.03em}
.spec-ref i{font-family:var(--f-display);font-size:.8rem;letter-spacing:0}

/* ---------- response protocol ---------- */
.protocol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;position:relative}
.protocol::before{content:"";position:absolute;top:36px;left:6%;right:6%;border-top:1.5px dashed var(--line-2)}
.step{position:relative;display:grid;gap:.8rem;align-content:start;min-width:0}
.glyph{width:72px;height:72px;background:var(--bg);border-radius:50%;position:relative;overflow:visible}
.g-cell{fill:rgba(var(--cv-cell),var(--cv-cell-a));stroke:rgba(var(--cv-mem),.85);stroke-width:1.3}
.g-nuc{fill:rgb(var(--cv-nuc))}
.g-threat{color:rgb(var(--cv-threat));fill:rgb(var(--cv-threat))}
.g-shield{fill:none;stroke:var(--hema);stroke-width:3;stroke-linecap:round}
.g-q{fill:none;stroke:var(--hema);stroke-width:1.6;stroke-linecap:round}
.g-sealed{fill:url(#hatch);stroke:rgb(var(--cv-seal));stroke-width:2.6}
.g-sealfill{fill:rgba(var(--cv-threat),.28)}
.g-perim{fill:none;stroke:rgb(var(--cv-seal));stroke-width:1.2;stroke-dasharray:3 3.5;opacity:.65}
.g-hatch{stroke:rgb(var(--cv-seal));stroke-opacity:.38;stroke-width:1.2}
.g-msg{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.4}
.g-line{stroke:var(--ink-2);stroke-width:1.4;stroke-linecap:round}
.g-fresh{stroke:var(--hema);stroke-width:1.8}
.g-cycle{fill:none;stroke:var(--hema);stroke-width:1.6;stroke-linecap:round}
.step h3{display:flex;align-items:baseline;gap:.55rem;font-family:var(--f-display);font-weight:500;font-size:1.5rem;letter-spacing:-.01em}
.step h3 .n{font-family:var(--f-mono);font-size:.75rem;font-weight:400;color:var(--muted);letter-spacing:.05em}
.step p{font-size:var(--t-small);color:var(--ink-2)}
.step code{display:block;font-family:var(--f-mono);font-size:.71875rem;line-height:1.5;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem;overflow-wrap:anywhere}
.step code .k{color:var(--threat)}
.step code .h{color:var(--hema)}

/* ---------- inside ---------- */
.tiers{display:grid;max-width:62rem}
.tier{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1.5rem;align-items:start;padding:1.3rem 1.4rem;background:var(--surface);border:1px solid var(--line-2);border-radius:16px}
.tier-name{display:grid;gap:.15rem}
.tier-name b{font-family:var(--f-display);font-weight:500;font-size:1.45rem;line-height:1.15}
.tier-body{display:grid;gap:.75rem;min-width:0}
.tier-body > p{font-size:var(--t-small);color:var(--ink-2)}
.tier-immune{border:1.5px solid var(--hema);box-shadow:0 0 0 5px color-mix(in srgb,var(--hema) 9%,transparent)}
.tier-immune .mono-label{color:var(--hema)}
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.role{display:grid;gap:.25rem;align-content:start;padding:.85rem .95rem;border-radius:12px;background:var(--bg-2)}
.role b{font-family:var(--f-display);font-weight:500;font-size:1.25rem;line-height:1.15}
.role p{font-size:.875rem;color:var(--ink-2)}
.chipset{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.chipset span,.chipset li{font-size:.8125rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--bg)}
.chipset.opt span,.chipset.opt li{border-style:dashed;color:var(--muted)}
.chipset ul{display:contents}
.chipset .mono-label{border:0;background:none;padding:0 .25rem 0 0}
.tier-link{display:flex;align-items:center;gap:.6rem;padding:.6rem 0 .6rem calc(1.4rem + 11rem + 1.5rem);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tier-link::before{content:"";width:1.5px;height:1.4rem;background:var(--line-2)}
.principles-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem;max-width:62rem}
.principles-row li{padding-left:1rem;border-left:2px solid var(--hema);font-family:var(--f-display);font-weight:500;font-size:1.2rem;line-height:1.25}
.principles-row .objection{color:var(--muted)}

/* ---------- access ---------- */
.access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.access-copy{display:grid;gap:1.2rem}
.access-copy .h2{font-size:clamp(2.6rem,1.6rem + 3.6vw,4.6rem)}
.form-card{background:var(--surface);border:1px solid var(--line-2);border-radius:22px;padding:clamp(1.25rem,1rem + 1.2vw,2rem);display:grid;gap:1.25rem;box-shadow:0 30px 60px -40px rgba(var(--cv-seal),.35)}
.field{display:grid;gap:.45rem}
.field label,.chips legend{font-size:.875rem;font-weight:600}
.field input{font:inherit;font-size:1.0625rem;color:var(--ink);background:var(--bg);border:1px solid var(--muted);border-radius:12px;padding:.9rem 1rem;width:100%;min-width:0}
.field input::placeholder{color:var(--muted)}
.field input:focus{outline:2px solid var(--hema);outline-offset:1px;border-color:transparent}
.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips legend{padding:0;margin-bottom:.6rem}
.chip-opt{position:relative}
.chip-opt input{position:absolute;opacity:0;width:1px;height:1px}
.chip-opt span{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .85rem;border:1px solid var(--line-2);border-radius:999px;font-size:.875rem;color:var(--ink-2);cursor:pointer;user-select:none;transition:background-color .15s,border-color .15s,color .15s}
.chip-opt span::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor}
.chip-opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip-opt input:checked+span::before{background:rgb(var(--cv-threat));border-color:rgb(var(--cv-threat))}
.chip-opt input:focus-visible+span{outline:2px solid var(--hema);outline-offset:2px}
.form-card .btn{width:100%}
.form-status{font-size:.875rem;color:var(--muted);min-height:1.4em}
.form-status[data-state="error"]{color:var(--threat)}
.form-status[data-state="ok"]{color:var(--hema)}
.fineprint{font-family:var(--f-mono);font-size:.6875rem;color:var(--muted);letter-spacing:.04em}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding-block:3rem 2.5rem;font-size:var(--t-small);color:var(--ink-2)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem 3rem}
.foot-brand{display:grid;gap:.75rem;align-content:start}
.foot-brand p{color:var(--muted);max-width:30ch}
.sources summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;gap:.5rem}
.sources summary::-webkit-details-marker{display:none}
.sources summary::before{content:"+";font-family:var(--f-mono);color:var(--hema);width:1ch}
.sources[open] summary::before{content:"−"}
.sources ol{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 2rem;font-size:.8125rem;color:var(--muted)}
.sources li{overflow-wrap:anywhere;min-width:0}
.sources a{color:var(--ink-2);text-underline-offset:3px}
.foot-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em;color:var(--muted)}

/* ---------- responsive ---------- */
@media (min-width:1100px){
  .readout{position:absolute;left:-40px;bottom:84px;width:308px;z-index:2}
}
@media (min-width:961px) and (max-width:1099px){
  .readout{position:absolute;left:-24px;bottom:122px;width:290px;z-index:2}
  /* the header row is wider than a 961-975px window otherwise */
  .header-row{gap:1rem}
  .nav{gap:1.1rem}
}
@media (max-width:1100px){
  .specimens{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fears{grid-template-columns:repeat(2,minmax(0,1fr))}
  .protocol{grid-template-columns:minmax(0,1fr);gap:0}
  .protocol::before{display:none}
  .step{grid-template-columns:72px minmax(0,1fr) minmax(0,.85fr);grid-template-areas:"g h c" "g p c";column-gap:1.5rem;row-gap:.5rem;padding-block:1.5rem;border-top:1px solid var(--line)}
  .step .glyph{grid-area:g}
  .step h3{grid-area:h}
  .step p{grid-area:p}
  .step code{grid-area:c;align-self:center}
}
@media (max-width:960px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .hero-copy{display:contents}
  .hero h1{order:2}
  .hero .lede{order:3}
  .cta-row,.agent-cta{order:4}
  .scope{order:5;justify-self:center;width:min(100%,560px);margin-top:1rem}
  .product-grid,.access-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .pop,.ask-card{justify-self:center}
  .ask-card{width:min(100%,344px);margin-top:1rem}
  .mock-note{text-align:center}
  .nav{display:none}
  .header-tools{margin-left:auto}
}
@media (max-width:760px){
  .tier{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .roles,.principles-row{grid-template-columns:minmax(0,1fr)}
  .tier-link{padding-left:1.4rem}
}
@media (max-width:640px){
  body{font-size:1rem}
  .specimens,.fears,.stat-wide{grid-template-columns:minmax(0,1fr)}
  .step{grid-template-columns:56px minmax(0,1fr);grid-template-areas:"g h" "g p" "g c";column-gap:1rem}
  .step .glyph{width:56px;height:56px}
  .step code{align-self:start}
  .sources ol{grid-template-columns:minmax(0,1fr)}
  .header-tools .btn{display:none}
  .agent-line a{display:inline}
  .stain-switch .long{display:none}
  .stain-switch .short{display:inline}
  .header-row{gap:.75rem}
  .wordmark{font-size:1.2rem}
  .corner{font-size:.625rem}
}
@media (max-width:380px){
  .header-row{gap:.5rem}
  .wordmark{font-size:1.05rem}
  .stain-switch button{padding:.45rem .55rem}
  .stain-switch .sw-dot{display:none}
}
@media (prefers-reduced-motion: reduce){
  .spec,.btn,.chip-opt span{transition:none}
  .spec:hover{transform:none}
}
