/* Canonical shared tokens. */
:root {
  color-scheme: dark;
  --page:#000000; --text:#FFFFFF; --text-2:#A2A7B1; --text-3:#70757F; --hair:rgba(255,255,255,.12);
  --violet:#8B5CF6; --violet-bright:#A78BFA; --font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; --pixel:"GeistPixel",ui-monospace,Menlo,monospace;
  --gutter:clamp(24px,4.5vw,48px); --max:1200px; --header:76px;
  --t-h2:clamp(34px,4.7vw,56px); --t-lead:17px; --t-h3:19px; --t-body:16px; --t-small:14px; --t-micro:12px;
  --frame-bg:#FFFFFF; --frame-shadow:0 1px 2px rgba(0,0,0,.2),0 30px 60px -30px rgba(0,0,0,.7); --doc-bg:#F5F6F8; --line:#E3E6EA; --line-strong:#AEB4BE; --field-bg:#FFFFFF;
  --ink:#111418; --ink-2:#5B6270; --bar:#C9CDD5; --start-ink:#7C3AED; --ok:#1A814C; --diff:rgba(139,92,246,.10); --note:rgba(139,92,246,.08); --ease-ui:cubic-bezier(.23,1,.32,1);
  --row:#090909; --box:#151517; --panel:#FFFFFF; --seg:#F1F2F5; --doc-line:#E6E8EC; --band:#D9DCE2; --violet-ink:#7C3AED; --ease:cubic-bezier(.22,1,.36,1);
  --panel-radius:4px; --panel-paper:#fffefb; --panel-recess:#eae9e3; --signal-wash:#e7def7; --motion-time:420ms;
  --black:#000; --paper:#f7f6f2; --violet-ink-legacy:#7041d1; --violet-light:#baa0f7; --muted:#aaa9a5; --ink-muted:#5f5e5a; --legacy-line:#30302f; --paper-line:#d5d4cf; --ease:cubic-bezier(.16,1,.3,1); --radius:4px; --shadow:0 18px 48px #00000012;
  /* direction */
  --t-h1:clamp(58px,8.6vw,128px);
  --t-h2x:clamp(40px,5.4vw,76px);
  --sec:clamp(88px,10.5vw,152px);
  --dim:rgba(255,255,255,.42);
  --dur-1:160ms; --dur-2:420ms; --dur-3:900ms;
  /* shell: one spacing scale, one reveal timing */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:72px;
  /* defects-r7: heading tracking, one source */
  --track-h2:-.03em; --track-h1:-.035em;
  --reveal-rise:18px; --reveal-time:720ms;
  /* spacing: one rhythm for every home section and page. Section padding, eyebrow to heading, heading block to content,
     content to the closing element (a closing line, a caption's button). The heading size is --t-h2x above. */
  --sp-section:clamp(88px,10.5vw,152px); --sp-eyebrow:22px; --sp-head:clamp(44px,5.2vw,72px); --sp-after:clamp(28px,3vw,40px);
  --sp-page-top:clamp(56px,8vw,112px); --sp-page-bottom:var(--sp-section); --sp-head-gap:48px; --sp-lead-col:340px;
}
@media (max-width:700px) { :root { --header:64px; } }
/* Light-band secondary heading line: keep it quieter than body ink, above 4.5:1 on white when settled. */
.section--light { --dim:rgba(17,20,24,.58); }
