/* ============================================================
   SAUCE WRITING — TYPOGRAPHY TOKENS
   One warm grotesque (Hanken Grotesk) carries the whole system:
   heavy weights for friendly, punchy display; medium/regular for
   editorial reading. Mono for code & micro-labels.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-display: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-mono:    'Spline Sans Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-regular: 400; /* @kind other */
  --fw-medium:  500; /* @kind other */
  --fw-semibold:600; /* @kind other */
  --fw-bold:    700; /* @kind other */
  --fw-xbold:   800; /* @kind other */
  --fw-black:   900; /* @kind other */

  /* ---- Fluid display scale (clamped for big marketing headers) ---- */
  --fs-display: clamp(2.75rem, 1.4rem + 5.4vw, 5rem); /* @kind other */
  --fs-h1: clamp(2.2rem, 1.3rem + 3.4vw, 3.5rem); /* @kind other */
  --fs-h2: clamp(1.7rem, 1.1rem + 2.3vw, 2.6rem); /* @kind other */
  --fs-h3: clamp(1.35rem, 1rem + 1.3vw, 1.85rem); /* @kind other */
  --fs-h4: 1.3rem; /* @kind other */
  --fs-h5: 1.125rem; /* @kind other */

  /* ---- Fixed text scale ---- */
  --fs-xl:   1.375rem; /* @kind other */
  --fs-lg:   1.125rem; /* @kind other */
  --fs-base: 1rem; /* @kind other */
  --fs-sm:   0.9375rem; /* @kind other */
  --fs-xs:   0.8125rem; /* @kind other */
  --fs-2xs:  0.6875rem; /* @kind other */

  /* ---- Line heights ---- */
  --lh-tight:   1.05; /* @kind other */
  --lh-snug:    1.18; /* @kind other */
  --lh-normal:  1.45; /* @kind other */
  --lh-relaxed: 1.65; /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-tight:   -0.022em; /* @kind other */
  --ls-snug:    -0.012em; /* @kind other */
  --ls-normal:  0em; /* @kind other */
  --ls-eyebrow:  0.14em; /* @kind other */
  --ls-label:    0.04em; /* @kind other */
}
