/* ============================================================
   wildLOGIC — Typography tokens
   Three voices:
     • SERIF (Bodoni Moda) — the "wild" editorial voice. High
       contrast, expressive, often italic. Big statements, pull
       quotes, hero words. Never body copy.
     • SANS (Hanken Grotesk) — the workhorse. UI, body, most
       headings. Clean, warm, legible.
     • MONO (Space Mono) — the "logic" signal. Eyebrows, labels,
       metadata, the "LABS" register. Always uppercase + tracked.
   ============================================================ */

:root {
  /* ---- Families --------------------------------------------- */
  --font-serif: 'Bodoni Moda', 'Times New Roman', Georgia, serif;
  /* Alternative editorial serif under evaluation (used by the team
     on other platforms). Swap --font-serif to this to adopt it. */
  --font-serif-libre: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --font-sans:  'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:  'Space Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

  /* ---- Type scale (rem, 16px base) -------------------------- */
  --text-2xs:  0.6875rem;  /* 11 — mono micro-labels */
  --text-xs:   0.75rem;    /* 12 */
  --text-sm:   0.875rem;   /* 14 */
  --text-base: 1rem;       /* 16 */
  --text-md:   1.125rem;   /* 18 */
  --text-lg:   1.375rem;   /* 22 */
  --text-xl:   1.75rem;    /* 28 */
  --text-2xl:  2.25rem;    /* 36 */
  --text-3xl:  3rem;       /* 48 */
  --text-4xl:  4rem;       /* 64 */
  --text-5xl:  5.5rem;     /* 88 */
  --text-6xl:  7.5rem;     /* 120 */

  /* ---- Line heights ----------------------------------------- */
  --leading-none:    1;
  --leading-tight:   1.08;
  --leading-snug:    1.22;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing --------------------------------------- */
  --tracking-tighter: -0.04em;  /* big display sans */
  --tracking-tight:   -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em;    /* mono eyebrows */
  --tracking-widest:  0.22em;    /* "LABS" register */

  /* ---- Composite role tokens -------------------------------- */
  /* Editorial display (serif italic — the wild hero word) */
  --type-display-family:  var(--font-serif);
  --type-display-weight:  var(--weight-medium);
  --type-display-style:   italic;
  --type-display-leading: var(--leading-tight);
  --type-display-tracking: var(--tracking-tight);

  /* Headings (sans) */
  --type-heading-family:  var(--font-sans);
  --type-heading-weight:  var(--weight-bold);
  --type-heading-leading: var(--leading-snug);
  --type-heading-tracking: var(--tracking-tight);

  /* Body (sans) */
  --type-body-family:  var(--font-sans);
  --type-body-weight:  var(--weight-regular);
  --type-body-leading: var(--leading-relaxed);
  --type-body-size:    var(--text-md);

  /* Eyebrow / label (mono) */
  --type-eyebrow-family:  var(--font-mono);
  --type-eyebrow-weight:  var(--weight-regular);
  --type-eyebrow-size:    var(--text-xs);
  --type-eyebrow-tracking: var(--tracking-wider);
  --type-eyebrow-transform: uppercase;
}
