/* ============================================================
   Roulsen — Typography tokens
   One neutral grotesk; hierarchy from weight + scale.
   Mono reserved for credits, metadata, eyebrows.
   ============================================================ */

:root {
  /* --- Families --- */
  --font-grotesk: 'Hanken Grotesk', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono:    'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

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

  /* --- Type scale (px) — editorial, large headlines --- */
  --fs-display:  88px;  /* hero statements */
  --fs-h1:       64px;
  --fs-h2:       44px;
  --fs-h3:       30px;
  --fs-h4:       22px;
  --fs-lead:     20px;  /* intro paragraphs */
  --fs-body:     17px;
  --fs-small:    15px;
  --fs-caption:  13px;
  --fs-eyebrow:  12px;  /* mono, uppercase, tracked */

  /* --- Line heights --- */
  --lh-tight:    1.02; /* @kind other */
  --lh-snug:     1.1;  /* @kind other */
  --lh-normal:   1.5;  /* @kind other */
  --lh-relaxed:  1.65; /* @kind other */

  /* --- Letter spacing --- */
  --ls-display: -0.03em; /* @kind other */
  --ls-head:    -0.02em; /* @kind other */
  --ls-body:     0em; /* @kind other */
  --ls-eyebrow:  0.18em; /* @kind other */
  --ls-button:   0.01em; /* @kind other */
}
