/* ==========================================================================
   TasteWorthy — Typography tokens
   Headings & body: Neue Haas Grotesk Display Pro (Medium for headings,
   Light for body — per guide p.10). Yorkten Slab (→ Zilla Slab) is the
   complementary slab for labels/seal/editorial. Amithen for short CTAs.
   ========================================================================== */
:root {
  /* ---- Families --------------------------------------------------------- */
  --font-display: 'Neue Haas Grotesk Display', 'Helvetica Neue', Arial, sans-serif;
  --font-body:    'Neue Haas Grotesk Display', 'Helvetica Neue', Arial, sans-serif;
  --font-slab:    'Zilla Slab', 'Neue Haas Grotesk Display', Georgia, serif; /* ⚠ Yorkten Slab substitute */
  --font-script:  'Amithen', 'Brush Script MT', cursive;

  /* ---- Weights ---------------------------------------------------------- */
  --fw-xxthin: 100; /* @kind font */
  --fw-thin:   200; /* @kind font */
  --fw-light:  300; /* @kind font */
  --fw-roman:  400; /* @kind font */
  --fw-medium: 500; /* @kind font */
  --fw-bold:   700; /* @kind font */
  --fw-black:  900; /* @kind font */

  /* ---- Type scale (1.250 major-third, 16px base) ------------------------ */
  --text-3xs: 0.694rem;  /* 11.1px — fine print            */
  --text-2xs: 0.75rem;   /* 12px   — captions, table cells */
  --text-xs:  0.833rem;  /* 13.3px — labels                */
  --text-sm:  0.9rem;    /* 14.4px — small body            */
  --text-md:  1rem;      /* 16px   — base body             */
  --text-lg:  1.25rem;   /* 20px   — ingress / lead        */
  --text-xl:  1.563rem;  /* 25px                           */
  --text-2xl: 1.953rem;  /* 31px   — h3                    */
  --text-3xl: 2.441rem;  /* 39px   — h2                    */
  --text-4xl: 3.052rem;  /* 49px   — h1                    */
  --text-5xl: 3.815rem;  /* 61px   — display               */
  --text-6xl: 4.768rem;  /* 76px   — hero display          */

  /* ---- Line heights ----------------------------------------------------- */
  --leading-tight:   1.04;  /* @kind font */
  --leading-snug:    1.18;  /* @kind font */
  --leading-normal:  1.5;   /* @kind font */
  --leading-relaxed: 1.65;  /* @kind font */

  /* ---- Tracking --------------------------------------------------------- */
  --tracking-tighter: -0.03em; /* @kind font */
  --tracking-tight:   -0.015em; /* @kind font */
  --tracking-normal:  0;        /* @kind font */
  --tracking-wide:    0.04em;   /* @kind font */
  --tracking-label:   0.12em;   /* @kind font */

  /* ---- Semantic roles --------------------------------------------------- */
  --role-display-family: var(--font-display);
  --role-display-weight: var(--fw-medium);
  --role-heading-family: var(--font-display);
  --role-heading-weight: var(--fw-medium);
  --role-body-family:    var(--font-body);
  --role-body-weight:    var(--fw-light);
  --role-label-family:   var(--font-slab);
  --role-label-weight:   var(--fw-medium);
  --role-script-family:  var(--font-script);
}
