/* ============================================================
   Zenflux — Typography Tokens
   One typeface: Inter. Weights 300/400/500/600/700.
   Headings: 600–700, tight tracking. Body: 400, 1.6 line-height.
   Eyebrows: 500–600 uppercase, wide tracking.
   ============================================================ */

:root {
  /* ---- Families -------------------------------------------- */
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);

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

  /* ---- Type scale (px reference in comments) --------------- */
  --text-xs:   0.75rem;   /* 12 — micro labels          */
  --text-sm:   0.875rem;  /* 14 — small / captions      */
  --text-base: 1rem;      /* 16 — body default          */
  --text-md:   1.125rem;  /* 18 — lead body             */
  --text-lg:   1.25rem;   /* 20 — small headings        */
  --text-xl:   1.5rem;    /* 24 — h4                    */
  --text-2xl:  1.875rem;  /* 30 — h3                    */
  --text-3xl:  2.25rem;   /* 36 — h2                    */
  --text-4xl:  3rem;      /* 48 — h1                    */
  --text-5xl:  3.75rem;   /* 60 — display               */
  --text-6xl:  4.5rem;    /* 72 — hero display          */

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

  /* ---- Letter spacing -------------------------------------- */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.02em;
  --tracking-normal:  0em;
  --tracking-wide:    0.06em;
  --tracking-wider:   0.14em;   /* eyebrows / uppercase labels */

  /* ---- Semantic roles -------------------------------------- */
  --font-hero:      var(--weight-bold) var(--text-6xl)/var(--leading-tight) var(--font-display);
  --font-h1:        var(--weight-bold) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --font-h2:        var(--weight-semibold) var(--text-3xl)/var(--leading-snug) var(--font-display);
  --font-h3:        var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --font-h4:        var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-display);
  --font-body-lg:   var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-body);
  --font-body-base: var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-body);
  --font-label:     var(--weight-medium) var(--text-sm)/var(--leading-normal) var(--font-body);

  /* eyebrow: use with text-transform:uppercase; letter-spacing:var(--tracking-wider) */
  --font-eyebrow:   var(--weight-semibold) var(--text-sm)/var(--leading-normal) var(--font-body);
}
