/* ============================================================
   Tierra Firme — Typography Tokens
   Display: Zilla Slab (slab serif) · Body: Hanken Grotesk
   Stamp:   Special Elite (typewriter, for eyebrows/tags)
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Zilla Slab', 'Bitter', Georgia, serif;
  --font-sans:    'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-stamp:   'Special Elite', 'Courier New', monospace;
  --font-mono:    'Special Elite', ui-monospace, 'SFMono-Regular', monospace;

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

  /* ---- Type scale (1.250 major-third-ish, tuned) ---- */
  --text-2xs: 0.6875rem;  /* 11px */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.875rem;   /* 14px */
  --text-md:  1rem;       /* 16px — base */
  --text-lg:  1.125rem;   /* 18px */
  --text-xl:  1.375rem;   /* 22px */
  --text-2xl: 1.75rem;    /* 28px */
  --text-3xl: 2.25rem;    /* 36px */
  --text-4xl: 3rem;       /* 48px */
  --text-5xl: 4rem;       /* 64px */
  --text-6xl: 5.25rem;    /* 84px */

  /* ---- Line heights ---- */
  --leading-tight:   1.08;  /* display headings */
  --leading-snug:    1.25;  /* sub-heads */
  --leading-normal:  1.55;  /* body copy */
  --leading-relaxed: 1.7;   /* long-form */

  /* ---- Letter spacing ---- */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-stamp:  0.12em;  /* uppercase stamped eyebrows */

  /* ============================================================
     Semantic roles
     ============================================================ */
  --type-display-font: var(--font-display);
  --type-display-weight: var(--weight-bold);
  --type-display-leading: var(--leading-tight);
  --type-display-tracking: var(--tracking-tight);

  --type-heading-font: var(--font-display);
  --type-heading-weight: var(--weight-semibold);

  --type-body-font: var(--font-sans);
  --type-body-weight: var(--weight-regular);
  --type-body-leading: var(--leading-normal);

  --type-eyebrow-font: var(--font-stamp);
  --type-eyebrow-tracking: var(--tracking-stamp);
}
