/* SPIRA — tokens.css
   Single source of identity. style.css reads ONLY var(--token).
   Inherently dark template; .is-dark mirrors base (no light variant in source). */
:root{
  /* COLOR — monochrome dark with a faint champagne accent (divergence 2 vs v1) */
  --bg:#09090B;
  --bg-deep:#050506;
  --surface:#131318;
  --surface-2:#1A1A20;
  --ink:#F3F0E9;
  --body:#8B8990;
  --muted:#8B8990;
  --accent:#E6DECB;
  --accent-dim:#C7B998;
  --accent-ink:#0A0A0C;
  --line:#24242E;
  --line-soft:#1C1C24;
  --card:#131318;

  /* TYPOGRAPHY (KEEP — the inspiration's identity) */
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Hanken Grotesk",system-ui,sans-serif;
  --w-reg:400;
  --w-med:500;
  --w-semi:600;
  --w-bold:700;
  --tracking-tight:-0.02em;
  --tracking-label:0.12em;
  --lh-body:1.6;
  --lh-display:1.05;

  /* TYPE SCALE — hard 65px cap wraps every heading (R3) */
  --fs-cap:65px;
  --fs-hero:min(clamp(2.75rem,6vw + 0.5rem,4.375rem), var(--fs-cap));
  --fs-h2:min(clamp(1.875rem,3vw + 0.5rem,2.75rem), var(--fs-cap));
  --fs-h3:min(clamp(1.25rem,1vw + 0.75rem,1.5rem), var(--fs-cap));
  --fs-lead:clamp(1.0625rem,0.4vw + 0.95rem,1.25rem);
  --fs-body:clamp(0.9375rem,0.25vw + 0.875rem,1rem);
  --fs-label:clamp(0.6875rem,0.15vw + 0.66rem,0.75rem);
  --fs-footer-mark:clamp(4rem,14vw,12rem);
  --fs-prose:clamp(1.0625rem,0.4vw + 0.95rem,1.2rem);

  /* LAYOUT — radii nudged vs v1 */
  --maxw:1200px;
  --maxw-narrow:760px;
  --maxw-prose:720px;
  --gutter:26px;
  --section-pad-y:clamp(5rem,10vw,9rem);
  --gap:clamp(1rem,2vw,1.5rem);
  --tile-radius:16px;
  --card-radius:22px;
  --radius-pill:40px;

  /* ORBIT (signature hero) */
  --orbit-stage:min(86vmin,820px);
  --tile:clamp(56px,8.5vmin,104px);
  --ring-outer-r:min(43vmin,405px);
  --ring-inner-r:min(25vmin,205px);

  /* MOTION (baseline reveal + orbit + marquee + count-up) */
  --ease:cubic-bezier(0.22,1,0.36,1);
  --dur:0.6s;
  --reveal-shift:24px;
  --base-x:-24px;          /* baseline R2: fade from the left */
  --base-delay:.15s;       /* DELAY, not duration */
  --stagger:0.08s;
  --spin-outer:88s;
  --spin-inner:64s;
  --marquee-title:30s;
  --marquee-foot:40s;

  --vignette:radial-gradient(circle,transparent 22%,rgba(5,5,6,.45) 50%,var(--bg-deep) 72%);

  /* derived overlay / shadow tints (tokens keep style.css literal-free) */
  --header-bg:rgba(6,6,8,.72);
  --menu-bg:rgba(255,255,255,.05);
  --tile-shadow:rgba(0,0,0,.4);
  --case-grad:linear-gradient(180deg,rgba(5,5,6,.1),rgba(5,5,6,.86));
  --price-grad:linear-gradient(160deg,rgba(19,19,24,.6),var(--surface) 70%);
  --mask-edge:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}

/* .is-dark mirrors base (no light-mode variant in source) */
.is-dark{
  --bg:#09090B; --ink:#F3F0E9; --body:#8B8990;
  --line:#24242E; --card:#131318;
}
