/* mosaic/lab design tokens — single source. Every page imports this file.
   No literal hex colors or font-sizes in page CSS; use these tokens. */
:root{
  color-scheme:dark;
  /* brand */
  --bg:#121110;
  --bg-panel:#1B1916;
  --bg-sunken:#0C0B0A;
  --ink:#F4EFE2;
  --ink-2:#C8C1AD;
  --ink-3:#8A8371;
  --line:#2A261F;
  --line-hard:#3D3729;
  --orange:#F26A3A;
  --on-orange:#1A0D08;
  /* legacy aliases — old var() references keep working.
     NOTE: --ink-2/--ink-3 intentionally NOT aliased: canonical values are
     higher-contrast and old references resolve to them safely. */
  --bg-0:#0C0B0A;
  --bg-1:#121110;
  --bg-2:#1B1916;
  --bg-3:#24211C;
  --ink-0:#F4EFE2;
  --ink-1:#C8C1AD;
  --rule:#2A261F;
  --rule-hard:#3D3729;
  --orange-ink:#1A0D08;
  /* mosaic tile palette (Project cards + restrained accents only) */
  --t-rust:#B8553A;
  --t-ochre:#D4A04A;
  --t-moss:#6E8B42;
  --t-slate:#4A6B7A;
  --t-plum:#7D4E69;
  --t-bone:#C9BDA2;
  --t-midnight:#1F2A33;
  --t-clay:#9C6244;
  /* type */
  --font-sans:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-serif:'Instrument Serif',Georgia,serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
  --f-d:var(--font-sans);
  --f-s:var(--font-serif);
  --f-m:var(--font-mono);
  --fs-display:clamp(44px,7vw,88px);
  --fs-h1:clamp(32px,4.5vw,52px);
  --fs-h2:clamp(24px,3vw,32px);
  --fs-h3:20px;
  --fs-body:16px;
  --fs-small:13px;
  --fs-label:11px;
  --lh-tight:1.05;
  --lh-head:1.15;
  --lh-body:1.65;
  /* spacing */
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;
  --sp-8:72px;
  /* shape + chrome */
  --radius:3px;
  --border:1px solid var(--line);
  --border-hard:1px solid var(--line-hard);
  --w:1280px;
  --w-narrow:960px;
  /* hero rhythm — one spacing + one measure for every hero.
     Heroes use padding-top:var(--hero-pad-top); H1s use max-width:var(--h1-max)
     (≈2–3 lines at 1280px). */
  --hero-pad-top:clamp(48px,7vw,96px);
  --h1-max:24ch;
}
