/* Outrun design tokens. One file, same names everywhere.
   Light is the default; dark applies via prefers-color-scheme or [data-theme="dark"].
   Fonts: Inter (UI, body, and display at its display optical size) + JetBrains Mono (labels, data). Both OFL. */



:root {
  /* ---- colour: light ---- */
  --bg: #F7F7F8;            /* page */
  --surface: #FFFFFF;       /* cards, inputs */
  --surface-2: #F0F1F3;     /* wells, hover rows, chips */
  --line: #E4E5E9;          /* hairlines */
  --line-strong: #D2D4DA;   /* borders that must read */
  --fg: #0A0C12;            /* text, logo ink */
  --fg-muted: #474C59;      /* secondary text, 8.0:1 */
  --fg-subtle: #686E7D;     /* labels, captions, 4.8:1 */
  --accent: #2F5FF5;        /* the one accent: links, the logo corner, picked signals. 4.8:1 on --bg */
  --accent-strong: #1F48D6; /* accent text at small sizes, pressed states. 6.6:1 */
  --accent-soft: #E8EEFE;   /* accent tint behind chips/rows */
  --on-accent: #FFFFFF;     /* text on --accent, 5.2:1 */
  --success: #0E7A42;       /* the only secondary: "sent", "matched", thumbs-up confirmed */
  --success-soft: #E3F4EA;

  /* ---- type ---- */
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Inter", ui-sans-serif, system-ui, sans-serif; /* use with font-variation-settings: "opsz" 32 */
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --text-display-xl: 72px;  /* lh 1.0, tracking -0.035em, 600 */
  --text-display: 56px;     /* lh 1.04, -0.03em, 600 */
  --text-h1: 40px;          /* lh 1.1, -0.025em, 600 */
  --text-h2: 28px;          /* lh 1.2, -0.02em, 600 */
  --text-h3: 20px;          /* lh 1.3, -0.01em, 600 */
  --text-body-lg: 18px;     /* lh 1.55, 400 */
  --text-body: 16px;        /* lh 1.55, 400 */
  --text-small: 14px;       /* lh 1.5, 400 */
  --text-label: 12px;       /* mono, lh 1.4, +0.06em, uppercase, 500 */
  --text-micro: 11px;       /* mono, lh 1.4, +0.02em */

  /* ---- shape ---- */
  --radius-xs: 4px;   /* chips, badges */
  --radius-sm: 8px;   /* buttons, inputs */
  --radius-md: 12px;  /* cards */
  --radius-lg: 16px;  /* panels, hero frame */
  --hairline: 1px;
  --icon-stroke: 1.5px;

  /* ---- space (4px base) ---- */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px;
  --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px; --space-10: 128px;

  /* ---- motion ---- */
  --dur-instant: 120ms;  /* hovers, toggles */
  --dur-quick: 200ms;    /* chips, menus */
  --dur-base: 320ms;     /* cards, panels */
  --dur-slow: 600ms;     /* section reveals, hero beats */
  --ease-out: cubic-bezier(0.2, 0, 0, 1);         /* default for anything entering */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);  /* things moving between two places */
  --ease-lead: cubic-bezier(0.16, 1, 0.3, 1);     /* signature: fast start, long settle, for the "picked" moment */

  --shadow-card: 0 1px 0 rgba(10, 12, 18, 0.04), 0 8px 24px -12px rgba(10, 12, 18, 0.12);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #04060C; --surface: #0C0F17; --surface-2: #121621; --line: #1A1F2B; --line-strong: #283040;
    --fg: #EEF0F4; --fg-muted: #A4AAB8; --fg-subtle: #7C8394;
    --accent: #5B8CFF; --accent-strong: #84A8FF; --accent-soft: #111C3A; --on-accent: #04060C;
    --success: #34C77B; --success-soft: #0D2219;
    --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 12px 32px -16px rgba(0, 0, 0, 0.6);
    color-scheme: dark;
  }
}
[data-theme="dark"] {
  --bg: #04060C; --surface: #0C0F17; --surface-2: #121621; --line: #1A1F2B; --line-strong: #283040;
  --fg: #EEF0F4; --fg-muted: #A4AAB8; --fg-subtle: #7C8394;
  --accent: #5B8CFF; --accent-strong: #84A8FF; --accent-soft: #111C3A; --on-accent: #04060C;
  --success: #34C77B; --success-soft: #0D2219;
  --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 12px 32px -16px rgba(0, 0, 0, 0.6);
  color-scheme: dark;
}

/* force light inside a dark page */
[data-theme="light"] {
  --bg: #F7F7F8; --surface: #FFFFFF; --surface-2: #F0F1F3; --line: #E4E5E9; --line-strong: #D2D4DA;
  --fg: #0A0C12; --fg-muted: #474C59; --fg-subtle: #686E7D;
  --accent: #2F5FF5; --accent-strong: #1F48D6; --accent-soft: #E8EEFE; --on-accent: #FFFFFF;
  --success: #0E7A42; --success-soft: #E3F4EA;
  --shadow-card: 0 1px 0 rgba(10, 12, 18, 0.04), 0 8px 24px -12px rgba(10, 12, 18, 0.12);
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-instant: 0ms; --dur-quick: 0ms; --dur-base: 0ms; --dur-slow: 0ms; }
}

/* ===== Outrun v12 ===== */
:root{--error:#B42318;--error-soft:#FDECEA;--wrap:1200px;--gutter:var(--space-6);--nav-h:72px;--nav-hc:56px}
[data-theme="dark"]{--error:#FF8A80;--error-soft:#2A1214}
[data-theme="light"]{--error:#B42318;--error-soft:#FDECEA}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{background:var(--bg);color:var(--fg);font:400 var(--text-body)/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
a{color:inherit;text-decoration:none}img,svg{display:block}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
.sr,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--fg);color:var(--bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.skip:focus{left:8px}
.wrap{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.mono,.lbl,.chip{font-family:var(--font-mono)}
.lbl{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-label);line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--fg-subtle)}
.tab{font-variant-numeric:tabular-nums}
.sq{display:inline-block;width:7px;height:7px;background:var(--accent);flex:none}
h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance;color:var(--fg)}
h1{font-size:var(--text-display-xl);line-height:1;letter-spacing:-.035em;font-variation-settings:"opsz" 32}
h2{font-size:var(--text-h1);line-height:1.1;letter-spacing:-.025em;font-variation-settings:"opsz" 32}
h3{font-size:var(--text-h3);line-height:1.3;letter-spacing:-.01em}
p{text-wrap:pretty}
.ic{width:24px;height:24px;color:var(--fg-muted);flex:none}.ic-lg{width:24px;height:24px;color:var(--accent)}
.badge{width:16px;height:16px;flex:none}
.arr{width:14px;height:14px;display:inline-block;vertical-align:-2px;margin-left:2px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:48px;padding:0 var(--space-5);border-radius:var(--radius-sm);font:500 var(--text-label)/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border:var(--hairline) solid transparent;transition:background-color var(--dur-instant) var(--ease-out),border-color var(--dur-instant) var(--ease-out),transform var(--dur-instant) var(--ease-out)}
.btn:active{transform:translateY(1px)}
.btn-ink{background:var(--fg);color:var(--bg)}.btn-ink:hover{background:color-mix(in srgb,var(--fg) 86%,var(--bg))}
.btn-line{border-color:var(--line-strong);color:var(--fg)}.btn-line:hover{border-color:var(--fg)}
.btn-sm{height:36px;padding:0 var(--space-4)}
.btn-link{display:inline-flex;align-items:center;gap:2px;color:var(--accent-strong);font-size:var(--text-small);font-weight:500;background:none;border:0;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline;text-underline-offset:3px}
.chip{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--radius-xs);font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;background:var(--surface-2);color:var(--fg-muted);white-space:nowrap}
.chip-acc{background:var(--accent-soft);color:var(--accent-strong)}
/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out);border-bottom:var(--hairline) solid transparent}
.nav-in{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);height:var(--nav-h);display:flex;align-items:center;gap:var(--space-7);transition:height var(--dur-base) var(--ease-out)}
.logo{display:flex;align-items:center;padding:var(--space-2) var(--space-3) var(--space-2) 0;color:var(--fg);flex:none}
.wmk{height:22px;width:auto;min-width:72px;transition:height var(--dur-base) var(--ease-out)}
.nav-links{display:flex;gap:var(--space-6);font-size:var(--text-small);color:var(--fg-muted)}
.nav-links a{padding:var(--space-2) 0;transition:color var(--dur-instant)}.nav-links a:hover,.nav-links a[aria-current]{color:var(--fg)}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}
.toggle{display:flex;border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);padding:2px}
.toggle button{width:30px;height:28px;display:grid;place-items:center;border:0;background:none;border-radius:6px;cursor:pointer;color:var(--fg-subtle)}
.toggle button[aria-pressed=true]{background:var(--surface-2);color:var(--fg)}
.toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
.compact .nav{background:var(--bg);border-bottom-color:var(--line)}
.compact .nav-in{height:var(--nav-hc)}.compact .wmk{height:19px}
.burger{display:none;width:40px;height:40px;border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:none;cursor:pointer;place-items:center;align-content:center;gap:5px}
.burger span{display:block;width:16px;height:1.5px;background:var(--fg);transition:transform var(--dur-quick) var(--ease-out)}
.menu-open .burger span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-open .burger span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.mnav{display:none}
/* sections */
main{padding-top:var(--nav-h)}
.sec{padding:var(--space-9) 0;border-top:var(--hairline) solid var(--line)}
.sec-alt{background:var(--surface)}
.sh{max-width:640px;margin-bottom:var(--space-7)}.sh .lbl{margin-bottom:var(--space-4)}.sh-p{margin-top:var(--space-4);font-size:var(--text-body-lg);color:var(--fg-muted);max-width:60ch}
.split{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-8);align-items:start}
.split-t{position:sticky;top:calc(var(--nav-hc) + var(--space-6))}
.fine{margin-top:var(--space-5);font-size:var(--text-small);color:var(--fg-subtle)}
.mut{color:var(--fg-muted)}.mt{margin:var(--space-3) 0 var(--space-5)}
/* hero */
.hero{padding:var(--space-9) 0 var(--space-9)}
.hero-in{display:grid;grid-template-columns:6fr 6fr;gap:var(--space-8);align-items:center}
.hero-t .lbl{margin-bottom:var(--space-5)}
.hero-p{margin-top:var(--space-5);font-size:var(--text-body-lg);line-height:1.55;color:var(--fg-muted);max-width:52ch}
.phero{padding:var(--space-9) 0 var(--space-8)}.phero h1{font-size:var(--text-display);line-height:1.04;letter-spacing:-.03em;max-width:16ch;margin-top:var(--space-4)}
/* signup form */
.su{margin-top:var(--space-6);max-width:520px}
.su-row{display:flex;gap:var(--space-2);padding:var(--space-1);background:var(--surface);border:var(--hairline) solid var(--line-strong);border-radius:calc(var(--radius-sm) + 4px);transition:border-color var(--dur-instant)}
.su-row:focus-within{border-color:var(--fg)}
.su input[type=email]{flex:1;min-width:0;border:0;background:none;padding:0 var(--space-3);font-size:var(--text-body);outline:none}
.su input::placeholder{color:var(--fg-subtle)}
.su.err .su-row{border-color:var(--error)}
.su-note{margin-top:var(--space-3);font-size:var(--text-small);color:var(--fg-subtle)}
.su-msg{font-size:var(--text-small);margin-top:var(--space-2);min-height:0}.su-msg:empty{display:none}
.su-msg.err{color:var(--error)}.su-msg.ok{color:var(--success)}
.su.busy button{opacity:.6;cursor:progress}
.step{margin-top:var(--space-6);max-width:520px;padding:var(--space-6);background:var(--surface);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-md);outline:none}
.step-k{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}
.step h3{margin-top:var(--space-3);font-size:var(--text-h2);line-height:1.2;letter-spacing:-.02em}
.step-p{margin-top:var(--space-3);color:var(--fg-muted);font-size:var(--text-small)}
.icp{margin-top:var(--space-5);padding-top:var(--space-5);border-top:var(--hairline) solid var(--line)}
.step-q{font-size:var(--text-small);font-weight:500;margin-bottom:var(--space-4)}
.seg{border:0;margin-bottom:var(--space-4)}.seg legend{margin-bottom:var(--space-2)}
.seg{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.seg legend{width:100%}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-3);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--text-small);transition:all var(--dur-instant)}
.seg input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.icp-a{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2)}
/* digest artefact */
.dg{background:var(--surface);border:var(--hairline) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}
.sec-alt .dg{background:var(--bg)}
.dg-h{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--hairline) solid var(--line)}
.dg-h b{display:block;font-size:var(--text-small);font-weight:600}.dg-h .mono{font-size:var(--text-micro);color:var(--fg-subtle)}
.dg-mk{display:grid;place-items:center;width:32px;height:32px;border:var(--hairline) solid var(--line);border-radius:var(--radius-sm)}.dg-mk .mk{width:16px;height:16px;color:var(--fg)}
.dg-funnel{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);font-size:var(--text-micro);color:var(--fg-subtle);border-bottom:var(--hairline) solid var(--line);background:var(--surface-2)}
.dg-funnel b{color:var(--fg);font-weight:500}.dg-funnel i{flex:1;height:1px;background:var(--line-strong);position:relative}
.dg-funnel i::after{content:"";position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left:5px solid var(--line-strong);border-right:0}
.dg-list{list-style:none}
.dg-row{padding:var(--space-4) var(--space-5);border-bottom:var(--hairline) solid var(--line)}
.dg-row:last-child{border-bottom:0}
.dg-top{display:flex;align-items:center;gap:var(--space-2)}
.dg-rk{display:inline-flex;align-items:center;gap:var(--space-2);font:500 var(--text-micro)/1 var(--font-mono);color:var(--fg-subtle);margin-right:var(--space-1);font-variant-numeric:tabular-nums}
.dg-sc{margin-left:auto;font:500 var(--text-micro)/1 var(--font-mono);color:var(--fg-subtle);font-variant-numeric:tabular-nums}
.dg-co{margin-top:var(--space-2);font-size:var(--text-body);line-height:1.4}.dg-co b{font-weight:600}.dg-co span{color:var(--fg-muted)}
.dg-why{margin-top:var(--space-1);font-size:var(--text-small);color:var(--fg-muted);line-height:1.5}
.dg-why .lbl{display:inline;margin-right:var(--space-2);font-size:10px;color:var(--fg)}
.dg-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);font:400 var(--text-micro)/1.4 var(--font-mono);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.02em}
.dg-meta a{color:var(--accent-strong)}.dg-meta a:hover{text-decoration:underline}
.dg-more{padding:var(--space-3) var(--space-5);font-size:var(--text-small)}.dg-more a{color:var(--accent-strong)}
.dg-f{padding:var(--space-4) var(--space-5);border-top:var(--hairline) solid var(--line);font-size:var(--text-micro);line-height:1.5;color:var(--fg-subtle);background:var(--surface-2)}
.dg-hero .dg-row{padding:var(--space-3) var(--space-5)}
.dg .sq{transform-origin:center}
.js .dg-hero .sq{transform:scale(0)}
.dg-hero.go .sq{transform:scale(1);transition:transform var(--dur-slow) var(--ease-lead)}
@media (prefers-reduced-motion:reduce){.js .dg-hero .sq{transform:none}}
/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--hairline) solid var(--line)}
.steps li{padding:var(--space-6) var(--space-6) 0 0;margin-right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.steps li+li{padding-left:var(--space-6);border-left:var(--hairline) solid var(--line)}
.step-n{font-size:var(--text-label);color:var(--fg-subtle)}
.steps .ic{color:var(--fg);margin-top:var(--space-2)}
.steps p{color:var(--fg-muted);font-size:var(--text-small);max-width:34ch}
/* anatomy */
.anat{list-style:none;margin:var(--space-2) 0 var(--space-6);display:grid;gap:var(--space-5)}
.anat li{display:flex;gap:var(--space-3)}.anat .sq{margin-top:8px}.anat b{font-weight:600}.anat p{color:var(--fg-muted);font-size:var(--text-small);margin-top:2px}
/* signals */
.sigs{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--hairline) solid var(--line);margin-bottom:var(--space-6)}
.sigs li{display:flex;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-5) 0;border-bottom:var(--hairline) solid var(--line)}
.sigs p{color:var(--fg-muted);font-size:var(--text-small);margin-top:var(--space-1)}
.sigs h3{font-size:var(--text-body);letter-spacing:0}
.sig-t{border-top:var(--hairline) solid var(--fg)}
.sig-r{display:grid;grid-template-columns:3fr 4fr 3fr 1.4fr;gap:var(--space-5);padding:var(--space-5) 0;border-bottom:var(--hairline) solid var(--line);align-items:start;font-size:var(--text-small)}
.sig-th{font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);padding:var(--space-3) 0}
.sig-n{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-body)}.sig-n b{font-weight:600}
.srcs,.rules,.nots,.next,.flow{list-style:none}
.srcs li{padding:var(--space-5) 0;border-bottom:var(--hairline) solid var(--line)}.srcs li:first-child{padding-top:0}
.srcs b{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.srcs p{color:var(--fg-muted);font-size:var(--text-small);margin-top:var(--space-1);max-width:60ch}
.rules{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--hairline) solid var(--line)}
.rules li{padding:var(--space-5) var(--space-5) 0 0;font-size:var(--text-small);display:flex;flex-direction:column;gap:var(--space-2)}.rules .mono{color:var(--fg-subtle);font-size:var(--text-label)}
.nots{display:grid;gap:var(--space-4);max-width:640px}.nots li{display:flex;gap:var(--space-3);align-items:baseline}
.flow li{display:grid;grid-template-columns:72px 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-top:var(--hairline) solid var(--line);font-size:var(--text-small)}
.flow .mono{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);padding-top:2px}.flow p{color:var(--fg-muted)}
/* delivery */
.dls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.dl{background:var(--surface);border:var(--hairline) solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.dl-h{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:var(--hairline) solid var(--line);font-size:var(--text-small)}.dl-h b{font-weight:600}.dl-h .mono{margin-left:auto;font-size:var(--text-micro);color:var(--fg-subtle)}
.dl-b{padding:var(--space-5);font-size:var(--text-small);display:grid;gap:var(--space-2)}
.dl-card{border-left:2px solid var(--line-strong);padding:var(--space-2) 0 var(--space-2) var(--space-4)}
.dl-btns{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-2);color:var(--fg-subtle);font-size:var(--text-micro)}.dl-btns .ic{width:20px;height:20px;color:var(--fg-subtle)}
/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.tier{display:flex;flex-direction:column;padding:var(--space-6);background:var(--bg);border:var(--hairline) solid var(--line);border-radius:var(--radius-md)}
.sec:not(.sec-alt) .tier{background:var(--surface)}
.tier-hot{border-color:var(--fg)}
.tier-h{display:flex;align-items:center;justify-content:space-between}
.tier-p{margin-top:var(--space-4);display:flex;align-items:baseline;gap:var(--space-1)}.tier-p b{font:600 var(--text-display)/1 var(--font-display);letter-spacing:-.03em;font-variation-settings:"opsz" 32}.tier-p span{color:var(--fg-subtle);font-size:var(--text-small)}
.tier-v{margin-top:var(--space-3);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}.tier-d{margin-top:var(--space-2);color:var(--fg-muted);font-size:var(--text-small)}
.ticks{list-style:none;margin:var(--space-5) 0 var(--space-6);padding-top:var(--space-5);border-top:var(--hairline) solid var(--line);display:grid;gap:var(--space-2);font-size:var(--text-small);flex:1}
.ticks li{display:flex;gap:var(--space-3);align-items:baseline}.ticks .sq{width:6px;height:6px;background:var(--fg-subtle)}.tier-hot .ticks .sq{background:var(--accent)}
.tier .btn{width:100%}
/* faq */
.faq{border-top:var(--hairline) solid var(--line)}
.faq details{border-bottom:var(--hairline) solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0;cursor:pointer;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;width:12px;height:12px;flex:none;margin-top:6px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:5.25px;width:12px;height:1.5px;background:var(--fg-muted);transition:transform var(--dur-quick) var(--ease-out)}
.faq summary i::after{transform:rotate(90deg)}.faq details[open] summary i::after{transform:rotate(0)}
.faq p{padding:0 var(--space-6) var(--space-5) 0;color:var(--fg-muted);max-width:62ch}
/* start */
.next{display:grid;gap:0;border-top:var(--hairline) solid var(--line);margin-top:var(--space-4)}
.next li{display:grid;grid-template-columns:48px 1fr;gap:var(--space-3);padding:var(--space-5) 0;border-bottom:var(--hairline) solid var(--line)}
.next .mono{font-size:var(--text-label);color:var(--fg-subtle);padding-top:3px}.next b{font-weight:600}.next p{color:var(--fg-muted);font-size:var(--text-small)}
/* final cta */
.final{padding:var(--space-9) 0;border-top:var(--hairline) solid var(--line)}
.final-in{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:end}
.final h2{margin-top:var(--space-4);max-width:18ch}.final .su{margin-top:0}
/* prose */
.prose{max-width:65ch}.prose h2{font-size:var(--text-h2);line-height:1.2;letter-spacing:-.02em;margin:var(--space-7) 0 var(--space-3)}.prose h2:first-child{margin-top:0}.prose p{color:var(--fg-muted)}
/* footer */
.foot{border-top:var(--hairline) solid var(--line);padding:var(--space-8) 0 var(--space-6)}
.foot-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-7)}
.foot-b p{margin-top:var(--space-4);color:var(--fg-muted);font-size:var(--text-small);max-width:30ch}
.foot-c{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-small)}.foot-c .lbl{margin-bottom:var(--space-1)}.foot-c a{color:var(--fg-muted)}.foot-c a:hover{color:var(--fg)}
.foot-fine{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-5);border-top:var(--hairline) solid var(--line);font-size:var(--text-micro);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.06em}
/* responsive */
@media (max-width:1024px){
 h1{font-size:56px;line-height:1.04;letter-spacing:-.03em}
 .hero-in,.split,.final-in{grid-template-columns:1fr;gap:var(--space-7)}
 .split-t{position:static}
 .sigs{grid-template-columns:1fr 1fr}.rules{grid-template-columns:1fr 1fr;gap:var(--space-5) 0}
 .tiers{grid-template-columns:1fr;max-width:560px}
}
@media (max-width:760px){
 :root{--gutter:var(--space-5);--nav-h:64px}
 h1,.phero h1{font-size:40px;line-height:1.08;letter-spacing:-.03em}
 h2{font-size:var(--text-h2);line-height:1.2;letter-spacing:-.02em}
 .sec,.hero,.final{padding:var(--space-8) 0}.phero{padding:var(--space-8) 0 var(--space-7)}
 .nav-links,.nav-cta{display:none}.burger{display:grid}
 .nav-in{gap:var(--space-4)}
 .mnav{position:fixed;inset:var(--nav-h) 0 auto;background:var(--bg);border-bottom:var(--hairline) solid var(--line);padding:var(--space-2) var(--gutter) var(--space-5);flex-direction:column}
 .compact .mnav{top:var(--nav-hc)}
 .menu-open .mnav{display:flex}.mnav a{padding:var(--space-4) 0;border-bottom:var(--hairline) solid var(--line);font-size:var(--text-body-lg)}.mnav a:last-child{border:0;font-weight:600}
 .su-row{flex-direction:column;padding:0;border:0;background:none;gap:var(--space-2)}
 .su input[type=email]{flex:none;height:48px;background:var(--surface);border:var(--hairline) solid var(--line-strong);border-radius:var(--radius-sm);padding:0 var(--space-4)}
 .su input[type=email]:focus{border-color:var(--fg)}
 .su.err input[type=email]{border-color:var(--error)}
 .su .btn{width:100%}
 .steps,.sigs,.rules,.dls{grid-template-columns:1fr}
 .steps li,.steps li+li{padding:var(--space-5) 0;margin:0;border-left:0;border-bottom:var(--hairline) solid var(--line)}
 .sig-th{display:none}.sig-r{grid-template-columns:1fr;gap:var(--space-2)}
 .foot-in{grid-template-columns:1fr 1fr}.foot-b{grid-column:1/-1}
 .foot-fine{flex-direction:column}
 .dg-row,.dg-h,.dg-funnel,.dg-f{padding-left:var(--space-4);padding-right:var(--space-4)}
 .step{padding:var(--space-5)}
}

/* v13: centred hero, compact visual */
.hero{padding:var(--space-9) 0 var(--space-8)}
.hero-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-7)}
.hero-t{display:flex;flex-direction:column;align-items:center}
.hero-t h1{max-width:18ch;margin-inline:auto}
.hero-t .hero-p{margin-inline:auto;max-width:60ch}
.hero-t .su{margin-inline:auto;width:100%;max-width:540px}
.hero-v{width:100%;max-width:560px;text-align:left}
.dg-hero .dg-h{padding:var(--space-3) var(--space-4)}.dg-hero .dg-row{padding:var(--space-3) var(--space-4)}
.dg-hero .dg-funnel{padding:var(--space-2) var(--space-4)}.dg-hero .dg-f{padding:var(--space-3) var(--space-4)}
.dg-hero .dg-co{font-size:var(--text-small);margin-top:var(--space-1)}
/* logo strip */
.badge{width:16px;height:16px;flex:none}
.badge-gen{color:var(--fg-muted)}
.lgs{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4) var(--space-6)}
.lgs-g{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center}
.lgs-g .lbl{color:var(--fg-subtle)}
.lgs ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}
.lg{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-small);color:var(--fg);white-space:nowrap}
.lg em{font:500 10px/1 var(--font-mono);font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle)}
.lgs-sec{justify-content:flex-start;margin-bottom:var(--space-6)}.lgs-sec .lgs-g{justify-content:flex-start}
/* billing toggle */
.bill-w{display:flex;justify-content:center;margin-bottom:var(--space-6)}
.bill{display:inline-flex;align-items:center;gap:var(--space-3);border:0}
.bill label{position:relative;cursor:pointer}
.bill input{position:absolute;opacity:0;width:1px;height:1px}
.bill label span{display:inline-flex;align-items:center;height:34px;padding:0 var(--space-4);border:var(--hairline) solid var(--line);font-size:var(--text-small);color:var(--fg-muted);background:var(--surface)}
.bill label:first-of-type span{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.bill label:nth-of-type(2){margin-left:calc(-1 * var(--space-3) - 1px)}
.bill label:nth-of-type(2) span{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.bill input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.bill input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.tier-bill{margin-top:var(--space-1);font-size:var(--text-micro);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:760px){.hero-in{gap:var(--space-6)}.lgs{gap:var(--space-3)}.lgs-g{flex-direction:column;gap:var(--space-2)}}

/* v14: hero signal field (canvas; opacity falloff on the dots themselves, no gradients) */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* v14 logo rows */
.lgs2{display:flex;flex-direction:column;gap:var(--space-5);width:100%;max-width:880px}
.lr{display:grid;grid-template-columns:112px 1fr;align-items:start;gap:var(--space-4)}
.lr>.lbl{padding-top:12px;text-align:right;color:var(--fg-subtle)}
.lr ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}
.lt{display:flex;flex-direction:column;align-items:center;gap:6px;width:72px}
.lt-i{display:grid;place-items:center;width:40px;height:40px;border:var(--hairline) solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.lt-i .badge{width:20px;height:20px}.lt-i img.badge{border-radius:4px}
.lt-l{font-size:11px;line-height:1.25;color:var(--fg-muted);text-align:center}
.lt-more .lt-i{font:500 16px/1 var(--font-mono);color:var(--fg-subtle);border-style:dashed}
.lgs-sec.lgs2{margin-bottom:var(--space-6)}
.anat-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin:var(--space-6) 0}
@media (max-width:760px){.lr{grid-template-columns:1fr;gap:var(--space-3)}.lr>.lbl{text-align:center;padding:0}.lr ul{justify-content:center;gap:var(--space-3) var(--space-2)}.lt{width:64px}.anat-3{grid-template-columns:1fr}}
.lgs2{max-width:1040px}.lr>.lbl{justify-self:end}
@media (max-width:760px){.lr>.lbl{justify-self:center}.lt{width:58px}.lt-l{font-size:10.5px}.lr ul{gap:var(--space-3) 8px}}
/* v14 pipeline: reads -> score -> enriches -> delivers */
.pipe{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center}
.pr{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%}
.pr>.lbl{color:var(--fg-subtle)}
.pr ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-3)}
.pipe .lt{width:66px}.pipe .lt-i{width:36px;height:36px}.pipe .lt-i .badge{width:18px;height:18px}
.pf{position:relative;width:100%;height:132px;margin:var(--space-2) 0}
.pf-cv{position:absolute;inset:0;width:100%;height:100%}
.pf-c{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-micro);color:var(--fg-subtle);background:var(--bg);padding:4px 10px;border:var(--hairline) solid var(--line);border-radius:999px;white-space:nowrap}
.pf-c b{color:var(--fg);font-weight:500;font-variant-numeric:tabular-nums}
.pf-out b{color:var(--accent-strong)}
.js .pipe .pf-out{opacity:.25;transition:opacity var(--dur-slow) var(--ease-lead)}
.js .pipe.s1 .pf-out{opacity:1}
.js .pipe [data-e] .lt-i{transition:border-color 300ms,transform 300ms var(--ease-lead)}
.pipe.s2 [data-e].on .lt-i{border-color:var(--accent);transform:translateY(-2px)}
.pf2{height:40px;width:1px;background:var(--line-strong);position:relative;margin:var(--space-3) 0}
.pf2 i{position:absolute;left:-2.5px;top:0;width:6px;height:6px;background:var(--accent);opacity:0}
.pipe.s3 .pf2 i{animation:pf2 700ms var(--ease-lead) forwards}
@keyframes pf2{0%{top:0;opacity:1}100%{top:34px;opacity:1}}
.pcard{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:var(--hairline) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:left;max-width:440px;width:100%}
.pcard-mk .mk{width:20px;height:20px;color:var(--fg);display:block}
.pcard b{display:block;font-size:var(--text-small);font-weight:600}
.pcard-t{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pcard-t .chip{font-style:normal}
.pcard-time{margin-left:auto;font-size:var(--text-small);color:var(--accent-strong);align-self:flex-start}
.js .pcard{opacity:0;transform:translateY(8px);transition:opacity 500ms var(--ease-lead),transform 500ms var(--ease-lead)}
.pipe.s4 .pcard{opacity:1;transform:none}
@media (max-width:760px){.pipe .lt{width:56px}.pipe .lt-l{font-size:10px}.pf{height:104px}.pcard-t .chip:nth-child(n+3){display:none}}
@media (prefers-reduced-motion:reduce){.js .pipe .pf-out,.js .pcard{opacity:1;transform:none;transition:none}.pf2 i{display:none}}
/* v15 */
.lt-soon{display:block;margin-top:2px;font:500 9px/1 var(--font-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle)}
[data-theme=dark] .lt-i.lt-light{background:#F7F7F8;border-color:#F7F7F8}
.pipe .pr-filters .lt-i{transition:border-color 300ms}
.pipe.s1 .pr-filters .lt-i{border-color:var(--accent)}
.pipe .pr+.pr{margin-top:var(--space-5)}
.pipe{max-width:900px}.pipe .pr-reads .lt{width:70px}
/* v16: refined logo rows - bare marks, monochrome ink by default, brand colour on hover/focus or when the stage is active */
.tier-p b,.tier-bill{font-variant-numeric:tabular-nums}
.pipe{max-width:1080px}
.pipe .pr,.lgs2 .lr{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:var(--space-4);width:100%}
.pipe .pr>.lbl,.lgs2 .lr>.lbl{justify-self:end;padding:0;text-align:right;font-size:10px;letter-spacing:.08em;color:var(--fg-subtle)}
.pipe .pr ul,.lgs2 .lr ul{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2) var(--space-5)}
.pipe .lt,.lgs2 .lt{flex-direction:row;width:auto;gap:7px;align-items:center}
.pipe .lt-i,.lgs2 .lt-i,[data-theme=dark] .pipe .lt-i.lt-light,[data-theme=dark] .lgs2 .lt-i.lt-light{width:auto;height:auto;border:0;background:none;border-radius:0;transform:none!important}
.pipe .lt-i .badge,.lgs2 .lt-i .badge{width:18px;height:18px;color:var(--fg);opacity:.62;transition:opacity 200ms,filter 200ms}
.pipe .lt:not(:hover):not(.on) svg.badge:not(.badge-gen),.lgs2 .lt:not(:hover) svg.badge:not(.badge-gen){filter:grayscale(1) contrast(1.1)}
.pipe .lt-i img.badge,.lgs2 .lt-i img.badge{filter:grayscale(1) brightness(.35);border-radius:3px}
[data-theme=dark] .pipe .lt-i img.badge,[data-theme=dark] .lgs2 .lt-i img.badge{filter:grayscale(1) invert(1) brightness(1.4)}
.pipe .lt-l,.lgs2 .lt-l{font-size:12px;color:var(--fg-muted);text-align:left;white-space:nowrap}
.lt-soon{display:inline;margin:0 0 0 3px;font:500 8px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);vertical-align:super}
.lt-more .lt-i{font:500 13px/1 var(--font-mono);color:var(--fg-subtle);border:0}
/* colour on hover / when lit */
.pipe .lt:hover .badge,.lgs2 .lt:hover .badge,.pipe [data-e].on .badge,.pipe.s1 .pr-filters .badge{opacity:1}
.pipe .lt:hover img.badge,.lgs2 .lt:hover img.badge{filter:none}
.pipe [data-e].on .badge-gen,.pipe.s1 .pr-filters .badge-gen,.pipe .lt:hover .badge-gen{color:var(--accent)}
.pipe .pr+.pr{margin-top:var(--space-4)}
.pipe .pr-dl .pcard{grid-column:1/-1;justify-self:center}
.pf{height:116px}
@media (max-width:760px){.pipe .pr,.lgs2 .lr{grid-template-columns:1fr;gap:var(--space-2)}.pipe .pr>.lbl,.lgs2 .lr>.lbl{justify-self:center}
 .pipe .pr ul,.lgs2 .lr ul{justify-content:center;gap:var(--space-2) var(--space-4)}.pipe .lt-l,.lgs2 .lt-l{font-size:11.5px}.pipe .lt,.lgs2 .lt{width:auto}}
.hero-t h1.h-xl{font-size:clamp(52px,8vw,104px);line-height:.98;letter-spacing:-.04em;max-width:none}
.hero-sub{margin-top:var(--space-4);font:600 clamp(20px,2.4vw,30px)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--fg);font-variation-settings:"opsz" 32}
.hero-t .hero-p{font-size:var(--text-body);max-width:54ch}

.pipe .pr-reads .lt,.pipe .lt{width:auto}
@media (max-width:760px){.pipe .pr-reads .lt{width:auto}}
.pipe{max-width:1180px}@media (min-width:761px){.pipe .pr ul{gap:var(--space-2) var(--space-4)}.pipe .lt-l{font-size:11.5px}}

/* v19: connections row */
.cn{margin-top:var(--space-6);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;max-width:100%}
.cn-i{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;list-style:none;margin:0;padding:0}
.cn-i li{display:flex;line-height:0}
.cn-i .badge{width:20px;height:20px;display:block;object-fit:contain;flex:none}
.cn-i li svg[fill="currentColor"]{color:var(--fg)}
.cn-t{font-size:var(--text-small);color:var(--fg-muted);white-space:nowrap}
[data-theme="dark"] .cn-inv{filter:invert(1)}
@media (max-width:700px){.cn-i{gap:10px;max-width:300px}.cn-i .badge{width:18px;height:18px}}
/* v19: pulsing eyebrow dot */
.hero-t .lbl .sq{position:relative;border-radius:50%;width:8px;height:8px}
.hero-t .lbl .sq::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:sqpulse 2.4s var(--ease-out,ease-out) infinite}
@keyframes sqpulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.8);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero-t .lbl .sq::after{animation:none;display:none}}
/* v19: favicon cursor (dark icon on light, light icon on dark) */
html{cursor:url(/assets/cursor-dark.png) 2 2,auto;cursor:-webkit-image-set(url(/assets/cursor-dark.png) 1x,url(/assets/cursor-dark@2x.png) 2x) 2 2,auto;cursor:image-set(url(/assets/cursor-dark.png) 1x,url(/assets/cursor-dark@2x.png) 2x) 2 2,auto}
html[data-theme="dark"]{cursor:url(/assets/cursor-light.png) 2 2,auto;cursor:-webkit-image-set(url(/assets/cursor-light.png) 1x,url(/assets/cursor-light@2x.png) 2x) 2 2,auto;cursor:image-set(url(/assets/cursor-light.png) 1x,url(/assets/cursor-light@2x.png) 2x) 2 2,auto}
a,button,summary,label,[role=button],select{cursor:pointer}
input[type=email],input[type=text],textarea{cursor:text}

/* v19: four-step section */
.sp-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--hairline) solid var(--line)}
.sp{position:relative;padding:var(--space-6) var(--space-5) 0 0;display:flex;flex-direction:column;gap:var(--space-3)}
.sp+.sp{padding-left:var(--space-5);border-left:var(--hairline) solid var(--line)}
.sp::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--accent)}
.sp+.sp::before{left:-4px}
.sp-n{font-size:var(--text-micro,11px);color:var(--accent-strong);letter-spacing:.06em}
.sp-t{font-size:var(--text-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}
.sp-d{font-size:var(--text-small);color:var(--fg-muted);line-height:1.5;min-height:3em}
.sp-l,.sp-c{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.sp-l li{display:flex;line-height:0;position:relative}
.sp-l .badge,.sp-c .badge{width:18px;height:18px;display:block;object-fit:contain;flex:none}
.sp-l svg[fill="currentColor"],.sp-l .badge-gen,.sp-c .badge-gen{color:var(--fg)}
.sp-more{display:block!important;line-height:1.4!important;font-size:var(--text-micro,12px);color:var(--fg-subtle);white-space:nowrap}
.sp-more .mono{color:var(--accent-strong)}
.sp-c{flex-direction:column;align-items:flex-start;gap:8px}
.sp-c li{display:flex;align-items:center;gap:8px;font-size:var(--text-small);color:var(--fg)}
.sp-c .badge{width:16px;height:16px;color:var(--accent-strong)}
.sp-pre .sp{opacity:0;transform:translateY(8px)}
.sp-in .sp{opacity:1;transform:none;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.sp-in .sp:nth-child(2){transition-delay:80ms}.sp-in .sp:nth-child(3){transition-delay:160ms}.sp-in .sp:nth-child(4){transition-delay:240ms}
@media (max-width:860px){.sp-g{grid-template-columns:1fr;border-top:0;border-left:var(--hairline) solid var(--line);margin-left:4px}
 .sp,.sp+.sp{padding:0 0 var(--space-6) var(--space-5);border-left:0}
 .sp::before,.sp+.sp::before{top:4px;left:-4px}
 .sp-d{min-height:0}}
