/* ============================================================
   OGOPOGO EXTREME — Typography tokens
   Display/athletic: Archivo (heavy, frequently italic + uppercase)
   Impact numerals:  Anton  (huge distances / elevation)
   Body/UI:          Hanken Grotesk
   Data/timing:      Spline Sans Mono  (race clock, GPS, splits)
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Archivo', 'Hanken Grotesk', system-ui, sans-serif;
  --font-impact:  'Anton', 'Archivo', system-ui, sans-serif;
  --font-body:    'Hanken Grotesk', system-ui, sans-serif;
  --font-mono:    'Spline Sans Mono', ui-monospace, 'SFMono-Regular', monospace;

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

  /* ---- Type scale (rem steps) ---- */
  --text-2xs: 0.6875rem;   /* 11px — micro labels */
  --text-xs:  0.75rem;     /* 12 */
  --text-sm:  0.8125rem;   /* 13 */
  --text-base:0.9375rem;   /* 15 */
  --text-md:  1.0625rem;   /* 17 */
  --text-lg:  1.25rem;     /* 20 */
  --text-xl:  1.5rem;      /* 24 */
  --text-2xl: 1.9375rem;   /* 31 */
  --text-3xl: 2.5rem;      /* 40 */
  --text-4xl: 3.25rem;     /* 52 */
  --text-5xl: 4.5rem;      /* 72 */
  --text-6xl: 6.5rem;      /* 104 */

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

  /* ---- Letter spacing ---- */
  --tracking-tighter: -0.02em; /* @kind font */
  --tracking-tight:   -0.01em; /* @kind font */
  --tracking-normal:  0em; /* @kind font */
  --tracking-wide:    0.04em; /* @kind font */
  --tracking-wider:   0.08em; /* @kind font */
  --tracking-label:   0.16em; /* @kind font */

  /* ---- Semantic aliases ---- */
  --leading-body: var(--lh-normal); /* @kind font */
  --tracking-eyebrow: var(--tracking-label); /* @kind font */
}

/* ============================================================
   Utility type classes (optional helpers for cards / kits)
   ============================================================ */
.t-impact {
  font-family: var(--font-impact);
  font-weight: 400;
  line-height: var(--lh-solid);
  letter-spacing: var(--tracking-tight);
  text-transform: uppercase;
}
.t-display {
  font-family: var(--font-display);
  font-weight: var(--fw-black);
  font-style: italic;
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  text-transform: uppercase;
}
.t-heading {
  font-family: var(--font-display);
  font-weight: var(--fw-extra);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
}
.t-eyebrow {
  font-family: var(--font-body);
  font-weight: var(--fw-bold);
  font-size: var(--text-xs);
  line-height: 1;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.t-body {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-size: var(--text-base);
  line-height: var(--lh-normal);
  letter-spacing: var(--tracking-normal);
}
.t-data {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-tight);
  font-variant-numeric: tabular-nums;
}
