/* ---------------------------------------------------------------
   Typography — human on top, system underneath.
   Two weights only: regular (400) and medium (500). No bold, no light.
   Sentence case everywhere; lowercase for mono labels.
   --------------------------------------------------------------- */
:root {
  /* ---- Families ---- */
  --font-display: 'Familjen Grotesk', system-ui, sans-serif; /* display + wordmark */
  --font-body:    'Inter', system-ui, sans-serif;            /* body */
  --font-mono:    'IBM Plex Mono', ui-monospace, monospace;  /* utility / labels / data */

  /* ---- Weights (only two in use) ---- */
  --fw-regular: 400; /* @kind other */
  --fw-medium:  500; /* @kind other */

  /* ---- Type scale (px) ---- */
  --fs-display-xl: 3.25rem;  /* 52 — hero wordmark */
  --fs-display:    2.125rem; /* 34 — display */
  --fs-h1:         1.625rem; /* 26 */
  --fs-h2:         1.375rem; /* 22 — section heading */
  --fs-h3:         1.15rem;  /* 18.4 */
  --fs-lead:       1.35rem;  /* 21.6 — lead sentence */
  --fs-body:       1rem;     /* 16 — body copy */
  --fs-body-sm:    0.9375rem;/* 15 */
  --fs-label:      0.75rem;  /* 12 — mono label */
  --fs-caption:    0.8125rem;/* 13 — mono caption */

  /* ---- Line-height ---- */
  --lh-tight:   1.1;  /* @kind other */
  --lh-display: 0.98; /* @kind other */
  --lh-heading: 1.15; /* @kind other */
  --lh-body:    1.7;  /* @kind other */
  --lh-snug:    1.4;  /* @kind other */

  /* ---- Tracking ---- */
  --ls-display: -0.02em;  /* tight display */
  --ls-heading: -0.015em;
  --ls-wordmark:-0.02em;
  --ls-mono:     0.04em;   /* mono labels breathe slightly */
  --ls-mono-wide:0.06em;

  /* ---- Semantic aliases ---- */
  --text-display-font: var(--font-display);
  --text-body-font:    var(--font-body);
  --text-label-font:   var(--font-mono);
}
