/* ============================================================
   QUALITUM — TYPOGRAPHY TOKENS
   DM Sans for everything visible; JetBrains Mono for eyebrows,
   labels, metrics-units and technical/regulatory tags (uppercase,
   wide tracking). Display headings are tight-tracked DM Sans.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --font-display: var(--font-sans);

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

  /* ---- Type scale (px) ---- */
  --fs-display: 62px;   /* hero H1 */
  --fs-h1: 44px;        /* section H2 */
  --fs-h2: 32px;        /* sub-section H3 */
  --fs-h3: 22px;        /* card title H4 */
  --fs-h4: 18px;        /* small heading H5 */
  --fs-lede: 19px;      /* hero/section lede */
  --fs-body: 16px;      /* body copy */
  --fs-sm: 14px;        /* secondary body / UI */
  --fs-xs: 12.5px;      /* fine print */
  --fs-label: 11px;     /* mono eyebrow / label */
  --fs-label-sm: 10.5px;/* mono chip / tag */

  /* ---- Line heights ---- */
  --lh-tight: 1.05; /* @kind other */
  --lh-heading: 1.18; /* @kind other */
  --lh-snug: 1.4; /* @kind other */
  --lh-body: 1.6; /* @kind other */
  --lh-relaxed: 1.7; /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-display: -0.025em; /* @kind other */
  --ls-heading: -0.015em; /* @kind other */
  --ls-tight: -0.005em; /* @kind other */
  --ls-normal: 0; /* @kind other */
  --ls-label: 0.12em; /* @kind other */
  --ls-label-wide: 0.14em; /* @kind other */

  /* ============================================================
     SEMANTIC TYPE ALIASES
     ============================================================ */
  --type-display-family: var(--font-display); /* @kind other */
  --type-display-size:   var(--fs-display);
  --type-display-weight: var(--fw-bold); /* @kind other */
  --type-display-ls:     var(--ls-display); /* @kind other */
  --type-display-lh:     var(--lh-tight); /* @kind other */

  --type-eyebrow-family: var(--font-mono); /* @kind other */
  --type-eyebrow-size:   var(--fs-label);
  --type-eyebrow-weight: var(--fw-medium); /* @kind other */
  --type-eyebrow-ls:     var(--ls-label); /* @kind other */
  --type-eyebrow-transform: uppercase; /* @kind other */

  --type-body-family: var(--font-sans); /* @kind other */
  --type-body-size:   var(--fs-body);
  --type-body-lh:     var(--lh-body); /* @kind other */
}
