/* ============================================================
   Legion Comps — Typography
   Cinzel for display/headings (heraldic lore), Inter for body
   & UI, JetBrains Mono for data/ticket numbers/hashes.
   Pixel fonts are RETIRED from primary UI (easter-egg only).
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Cinzel', Georgia, 'Times New Roman', serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', 'SF Mono', ui-monospace, monospace;
  /* Eyebrows, chips and badges. Classic keeps them in Inter; a theme may
     swap in its display face. Body copy, prices and compliance text always
     stay on --font-body. */
  --font-label:   var(--font-body);

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

  /* ---- Type scale (rem, 16px base) ---- */
  --text-2xs:   0.6875rem;  /* 11px — micro labels */
  --text-xs:    0.75rem;    /* 12px — captions, meta */
  --text-sm:    0.875rem;   /* 14px — secondary body */
  --text-base:  1rem;       /* 16px — body */
  --text-lg:    1.125rem;   /* 18px — lead body */
  --text-xl:    1.375rem;   /* 22px — card titles */
  --text-2xl:   1.75rem;    /* 28px — section sub */
  --text-3xl:   2.25rem;    /* 36px — section heading */
  --text-4xl:   3rem;       /* 48px — page hero */
  --text-5xl:   4rem;       /* 64px — landing display */
  --text-6xl:   5.25rem;    /* 84px — oversize numbers */

  /* ---- Small print. Card, rail and table copy sits between the scale
     steps; a theme lifts these to enlarge it without touching templates. ---- */
  --text-fine:       9.5px;   /* tags over prize photos */
  --text-kicker:     10px;    /* category kickers */
  --text-caption:    11.5px;  /* card stats, table notes, postal line */
  --text-meta:       12.5px;  /* card subtitles, step copy, ticker */
  --text-lead-sm:    14.5px;  /* short intro lines under page titles */
  --text-card-title: 14.5px;
  --fw-card-title:   700;

  /* ---- Line heights ---- */
  --leading-tight:   1.08;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing ---- */
  --tracking-display:  0.01em;
  --tracking-tight:   -0.01em;
  --tracking-normal:   0;
  --tracking-wide:     0.04em;
  --tracking-wider:    0.10em;   /* Cinzel eyebrow labels */
  --tracking-widest:   0.22em;   /* uppercase micro-labels */
}

.font-display { font-family: var(--font-display); }
.font-body    { font-family: var(--font-body); }
.font-mono    { font-family: var(--font-mono); }
