/* TOSHIFT — Typography tokens */

:root {
  /* ----- Families ----- */
  --font-display: 'Space Grotesk', 'Hanken Grotesk', system-ui, sans-serif;
  --font-sans:    'Hanken Grotesk', system-ui, -apple-system, Segoe UI, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

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

  /* ----- Type scale (1.25 major-third-ish, tuned) ----- */
  --fs-display-2xl: 88px;
  --fs-display-xl:  68px;
  --fs-display-lg:  52px;
  --fs-h1: 40px;
  --fs-h2: 32px;
  --fs-h3: 25px;
  --fs-h4: 20px;
  --fs-body-lg: 18px;
  --fs-body:    16px;
  --fs-body-sm: 14px;
  --fs-caption: 13px;
  --fs-micro:   11px;

  /* ----- Line heights ----- */
  --lh-tight:   1.04; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-heading: 1.12; /* @kind font */
  --lh-body:    1.55; /* @kind font */
  --lh-relaxed: 1.7;  /* @kind font */

  /* ----- Letter spacing ----- */
  --ls-tighter: -0.03em;  /* @kind font */
  --ls-tight:   -0.015em; /* @kind font */
  --ls-normal:  0;        /* @kind font */
  --ls-wide:    0.04em;   /* @kind font */
  /* --ls-wider: eyebrows / overlines (UPPERCASE) */
  --ls-wider:   0.12em;   /* @kind font */

  /* ----- Semantic roles ----- */
  --text-display-font: var(--font-display);
  --text-heading-font: var(--font-display);
  --text-body-font:    var(--font-sans);
}
