/* ============================================================
   Extuno - Typography tokens
   Display: Space Grotesk (restraint, headlines)
   Body:    IBM Plex Sans (all running text)
   Data:    IBM Plex Mono (versions, file:line, payloads, counts)
   ============================================================ */
:root {
  /* --- Families ------------------------------------------- */
  --font-display: "Space Grotesk", "Space Grotesk Fallback", system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", "IBM Plex Sans Fallback", system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* --- Type scale (1.250 major-third, deliberate) --------- */
  --fs-micro: 11px;   /* mono micro-labels, line numbers */
  --fs-xs:    13px;   /* captions, chips */
  --fs-sm:    14px;   /* secondary body, dense tables */
  --fs-base:  16px;   /* body */
  --fs-md:    18px;   /* lead paragraph */
  --fs-lg:    22px;   /* card / section subtitle */
  --fs-xl:    28px;   /* h3 */
  --fs-2xl:   36px;   /* h2 */
  --fs-3xl:   48px;   /* h1 */
  --fs-4xl:   64px;   /* hero display */
  --fs-5xl:   84px;   /* mega stat / hero on desktop */

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

  /* --- Line heights --- @kind font ------------------------ */
  --lh-tight:  1.05;  /* @kind font */
  --lh-snug:   1.2;   /* @kind font */
  --lh-normal: 1.5;   /* @kind font */
  --lh-relaxed:1.65;  /* @kind font */
  --lh-mono:   1.55;  /* @kind font */

  /* --- Letter spacing --- @kind font ---------------------- */
  --ls-tight:  -0.02em;  /* @kind font */
  --ls-snug:   -0.01em;  /* @kind font */
  --ls-normal: 0;        /* @kind font */
  --ls-wide:   0.04em;   /* @kind font */
  --ls-caps:   0.12em;   /* @kind font */

  /* --- Semantic roles ------------------------------------- */
  --type-hero:    var(--fw-medium) var(--fs-4xl)/var(--lh-tight) var(--font-display);
  --type-h1:      var(--fw-medium) var(--fs-3xl)/var(--lh-snug)  var(--font-display);
  --type-h2:      var(--fw-medium) var(--fs-2xl)/var(--lh-snug)  var(--font-display);
  --type-h3:      var(--fw-medium) var(--fs-xl)/var(--lh-snug)   var(--font-display);
  --type-body:    var(--fw-regular) var(--fs-base)/var(--lh-normal) var(--font-body);
  --type-lead:    var(--fw-regular) var(--fs-md)/var(--lh-relaxed) var(--font-body);
  --type-mono:    var(--fw-regular) var(--fs-sm)/var(--lh-mono) var(--font-mono);
  --type-eyebrow: var(--fw-medium) var(--fs-micro)/1.2 var(--font-mono);
}
