/* ============================================================
   THE LAST FLIGHT — Typography tokens
   Quasimoda for everything structural. Energy Station for punch.
   Headlines run UPPERCASE, tight, heavy. Body stays sentence case.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans:    "Quasimoda", "Helvetica Neue", Arial, sans-serif;
  --font-heavy:   "Quasimoda Heavy", "Quasimoda", sans-serif;
  /* Energy Station is the PUB EDITION sub-brand face only (scores, "Pub Edition"
     lockups). For core TLF display, use --font-heavy (Quasimoda), not this. */
  --font-pub:     "Energy Station", "Quasimoda", sans-serif;
  --font-display: "Energy Station", "Quasimoda", sans-serif; /* alias of --font-pub; Pub Edition only */
  --font-mono:    "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;

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

  /* ---- Fluid type scale (min → max across viewport) ---- */
  --fs-caption: 0.75rem;   /* 12px */
  --fs-small:   0.875rem;  /* 14px */
  --fs-body:    1rem;      /* 16px */
  --fs-body-lg: 1.125rem;  /* 18px */
  --fs-h6:      1.25rem;   /* 20px */
  --fs-h5:      1.5rem;    /* 24px */
  --fs-h4:      2rem;      /* 32px */
  --fs-h3:      clamp(2.25rem, 1.6rem + 2.4vw, 3rem); /* @kind other */
  --fs-h2:      clamp(3rem, 2rem + 3.6vw, 4.5rem); /* @kind other */
  --fs-h1:      clamp(3.75rem, 2rem + 6.4vw, 7rem); /* @kind other */
  --fs-display: clamp(5rem, 2rem + 11vw, 11rem); /* @kind other */

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

  /* ---- Letter spacing ---- */
  --ls-mega:    -0.03em; /* @kind other */
  --ls-tight:   -0.01em; /* @kind other */
  --ls-normal:  0em; /* @kind other */
  --ls-wide:    0.04em; /* @kind other */
  --ls-eyebrow: 0.18em; /* @kind other */

  /* ---- Semantic roles ---- */
  --role-eyebrow-size:   var(--fs-caption); /* @kind other */
  --role-eyebrow-weight: var(--fw-bold); /* @kind other */
  --role-eyebrow-ls:     var(--ls-eyebrow); /* @kind other */
}
