/* ============================================================
   TYPOGRAPHY  —  Morflax Design System
   Display  : Space Grotesk  (headlines, hero, numerics)
   Sans     : Hanken Grotesk (UI + body)
   Mono     : JetBrains Mono (code, timecodes, technical labels)
   ============================================================ */

:root {
  /* ---- Families ------------------------------------------- */
  --font-display: 'Space Grotesk', 'Hanken Grotesk', system-ui, sans-serif;
  --font-sans:    'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

  /* ---- Type scale (px) ------------------------------------ */
  --text-2xs: 0.6875rem;   /* 11 — micro labels        */
  --text-xs:  0.75rem;     /* 12 — captions, meta       */
  --text-sm:  0.8125rem;   /* 13 — dense UI, secondary  */
  --text-base:0.9375rem;   /* 15 — UI default           */
  --text-md:  1rem;        /* 16 — body copy            */
  --text-lg:  1.125rem;    /* 18 — lead body            */
  --text-xl:  1.375rem;    /* 22 — card titles          */
  --text-2xl: 1.75rem;     /* 28 — section heads        */
  --text-3xl: 2.25rem;     /* 36 — page titles          */
  --text-4xl: 3rem;        /* 48 — display              */
  --text-5xl: 4rem;        /* 64 — hero                 */
  --text-6xl: 5.25rem;     /* 84 — mega hero            */

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

  /* ---- Letter spacing ------------------------------------- */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.02em;
  --tracking-snug:    -0.01em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-wider:   0.08em;
  --tracking-caps:    0.14em;   /* uppercase nav / eyebrows */

  /* ---- Semantic display roles ----------------------------- */
  --display-hero-size:    var(--text-6xl);
  --display-hero-weight:  var(--weight-medium);
  --display-hero-leading: var(--leading-tight);
  --display-hero-tracking:var(--tracking-tight);

  --display-title-size:   var(--text-4xl);
  --display-title-weight: var(--weight-medium);

  --heading-size:    var(--text-2xl);
  --heading-weight:  var(--weight-semibold);

  --body-size:    var(--text-md);
  --body-weight:  var(--weight-regular);
  --body-leading: var(--leading-normal);

  --label-size:    var(--text-sm);
  --label-weight:  var(--weight-medium);

  --eyebrow-size:    var(--text-xs);
  --eyebrow-weight:  var(--weight-semibold);
  --eyebrow-tracking:var(--tracking-caps);
}
