/* CoreSparc token spine — every value lives here; pages use var() only. */
:root{
  color-scheme: only light;
  /* ink ramp (family ink #0f1d28) */
  --ink-950:#0a141d; --ink-900:#0f1d28; --ink-800:#172a38; --ink-700:#243a4a;
  --dim:#4c5a66; --mute:#7c8994; --line:#e1e7ea; --paper:#ffffff; --paper-2:#f5f7f8;
  /* family spectrum */
  --teal-300:#3ce6c8; --teal-400:#1fd3b4; --teal-600:#0b8f74; --amber-400:#ff9e2c; --amber-600:#d9730a;
  --spectrum: linear-gradient(100deg,var(--teal-300),var(--teal-400) 45%,var(--amber-400));
  /* semantics */
  --bg:var(--paper); --surface:var(--paper-2); --text:var(--ink-900); --text-dim:var(--dim);
  --dark-bg:var(--ink-900); --dark-text:#eef3f6; --dark-dim:#9fb0bc; --dark-line:rgba(255,255,255,.10);
  --accent:var(--teal-600);
  /* type */
  --font-display:'Space Grotesk',system-ui,sans-serif; --font-body:'Inter',system-ui,sans-serif;
  --fs-hero:clamp(2.6rem,1.4rem + 5.2vw,5.6rem); --fs-h2:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);
  --fs-h3:clamp(1.15rem,1rem + .5vw,1.4rem); --fs-lead:clamp(1.1rem,1rem + .45vw,1.35rem);
  --fs-body:1rem; --fs-small:.875rem; --fs-eyebrow:.78rem;
  /* 8pt spacing */
  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2rem; --s-5:3rem; --s-6:4rem; --s-7:5rem; --s-8:7rem; --s-9:9rem;
  --wrap:1200px; --gutter:clamp(1rem,.5rem + 2.5vw,2.5rem);
  --radius:4px; --radius-lg:10px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
