/* Broker — generated by _toolkit/tokens.mjs.
   Do not hand-edit. Change the spec and regenerate, so the direction
   stays internally consistent. */
:root{
  /* ground + ink */
  --ground: #0D1117;
  --surface-1: #131922;
  --surface-2: #1b232f;
  --line: #222c3a;
  --line-strong: #334257;
  --ink: #EEF2F6;
  --ink-2: #9bb0c4;
  --ink-3: #7891aa;
  --accent: #F0B429;
  --accent-ink: #000000;
  --accent-soft: color-mix(in srgb, #F0B429 14%, transparent);
  --accent-2: #6FA8FF;
  --scheme: dark;
  /* type */
  --font-display: 'Archivo', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, sans-serif;
  --fw-display: 800;
  --ls-display: -0.032em;
  --lh-display: 0.88;
  --lh-body: 1.5;
  --tn2: clamp(10.33px, 10.18px + 0.040vw, 10.76px);
  --tn1: clamp(12.40px, 12.22px + 0.049vw, 12.92px);
  --t0: clamp(14.88px, 14.66px + 0.058vw, 15.50px);
  --t1: clamp(15.90px, 14.95px + 0.253vw, 18.60px);
  --t2: clamp(18.08px, 16.59px + 0.398vw, 22.32px);
  --t3: clamp(20.49px, 18.27px + 0.591vw, 26.78px);
  --t4: clamp(23.14px, 19.97px + 0.845vw, 32.14px);
  --t5: clamp(26.03px, 21.62px + 1.177vw, 38.57px);
  --t6: clamp(34.02px, 26.98px + 1.876vw, 54.00px);
  --t7: clamp(44.22px, 33.18px + 2.946vw, 75.60px);
  --t8: clamp(57.15px, 40.01px + 4.571vw, 105.83px);
  --t9: clamp(73.34px, 47.00px + 7.026vw, 148.17px);
  --measure: 46ch;
  --measure-tight: 33ch;
  /* space */
  --s0: 0px;
  --s1: 6px;
  --s2: 7px;
  --s3: 9px;
  --s4: 11px;
  --s5: 13px;
  --s6: 16px;
  --s7: 20px;
  --s8: 24px;
  --s9: 29px;
  --s10: 36px;
  --gutter: clamp(12px, 4vw, 18px);
  --section-y: clamp(40px, 5.28vw, 76px);
  --section-y-tight: clamp(25px, 3.45vw, 47px);
  --container: 1200px;
  --rail: 52px;
  /* form */
  --radius: 2px;
  --radius-lg: 4px;
  --e1: inset 0 0 0 1px #222c3a;
  --e2: inset 0 0 0 1px #222c3a;
  --e3: inset 0 0 0 1px #222c3a;
  /* motion */
  --dur-fast: 90ms;
  --dur: 150ms;
  --dur-slow: 200ms;
  --ease: cubic-bezier(.2,0,0,1);
  --reveal-shift: 0px;
  --stagger: 25ms;
  /* identity — read back by qa.mjs to prove directions differ */
  --hero-pattern: "H9-product";
  --archetype: "operator";
  --signature: "product mockup + register of true facts";
}

/* reveal primitive — the motion runtime only toggles .is-in */
[data-reveal]{opacity:0}
[data-reveal].is-in{opacity:1}
[data-reveal]{clip-path:inset(0 0 100% 0)}
[data-reveal].is-in{clip-path:inset(0 0 0 0)}
[data-reveal]{transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), clip-path var(--dur) var(--ease)}
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal].is-in{opacity:1;transform:none;clip-path:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}