/* ============================================================
   KRAHNBORN — TYPOGRAPHY TOKENS
   Display: Space Grotesk  (techy, geometric, distinctive)
   Body:    IBM Plex Sans  (precise, engineered, readable)
   Mono:    IBM Plex Mono  (labels, code, data, kickers)
   ============================================================ */

:root {
  /* Families */
  --font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;

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

  /* Type scale (1.250 major-third, 16px base) */
  --text-2xs:  11px;
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   20px;
  --text-xl:   25px;
  --text-2xl:  31px;
  --text-3xl:  39px;
  --text-4xl:  49px;
  --text-5xl:  61px;
  --text-6xl:  76px;

  /* Line heights */
  --leading-tight:   1.05;
  --leading-snug:    1.2;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* Letter spacing */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.015em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em;  /* mono kickers / eyebrows */

  /* Semantic roles */
  --display-font:   var(--font-display);
  --display-weight: var(--fw-bold);
  --display-tracking: var(--tracking-tighter);

  --heading-font:   var(--font-display);
  --heading-weight: var(--fw-semibold);

  --body-font:      var(--font-body);
  --body-weight:    var(--fw-regular);

  --kicker-font:    var(--font-mono);
  --kicker-weight:  var(--fw-medium);
  --kicker-tracking: var(--tracking-wider);
}
