/* ============================================================
   Protectors — Typography tokens
   Display & titles: Termina (geometric sans), ALL CAPS.
   Body: Helvetica Neue (system), AP-style sentence case.
   ============================================================ */

:root {
  /* Families */
  --font-display: "Termina", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Display weights (Heavy = 800 is the hero weight) */
  --fw-display: 800;        /* @kind font */
  --fw-display-bold: 700;   /* @kind font */
  --fw-display-black: 900;  /* @kind font */
  --fw-display-medium: 500; /* @kind font */

  /* Body weights */
  --fw-body: 400;           /* @kind font */
  --fw-body-medium: 500;    /* @kind font */
  --fw-body-bold: 700;      /* @kind font */

  /* Tracking */
  --track-display: -0.03em;   /* @kind other */
  --track-tight: -0.01em;     /* @kind other */
  --track-caps: 0.04em;       /* @kind other */
  --track-caps-wide: 0.12em;  /* @kind other */

  /* ---- Type scale (px) ----
     Display is large relative to body. Slide-scale at the top. */
  --fs-display-xxl: 400px;  /* section count numeral */
  --fs-display-xl: 120px;
  --fs-display-lg: 72px;
  --fs-display-md: 60px;
  --fs-title: 48px;
  --fs-headline: 32px;
  --fs-subhead: 24px;
  --fs-body-lg: 20px;
  --fs-body: 16px;
  --fs-caption: 14px;
  --fs-micro: 12px;

  /* Line heights */
  --lh-display: 1.0;  /* @kind other */
  --lh-tight: 1.08;   /* @kind other */
  --lh-snug: 1.2;     /* @kind other */
  --lh-body: 1.5;     /* @kind other */
}

/* ---- Helper classes ---- */
.t-display {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  text-transform: uppercase;
  letter-spacing: var(--track-display);
  line-height: var(--lh-display);
}
.t-title {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  text-transform: uppercase;
  letter-spacing: var(--track-tight);
  line-height: var(--lh-tight);
}
.t-eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  text-transform: uppercase;
  letter-spacing: var(--track-caps-wide);
  font-size: var(--fs-caption);
}
.t-body {
  font-family: var(--font-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  letter-spacing: 0;
}
.t-label {
  font-family: var(--font-body);
  font-weight: var(--fw-body-medium);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
}
