/* ============================================================
   Axorum — Typography tokens (clean-slate direction, 2026-07)
   Newsreader (serif)      → editorial / display / statements
   Libre Franklin (sans)   → product UI, body, headings
   Spline Sans Mono        → eyebrows, ledger figures, labels, basis
   One family across two modes: editorial gravity + engineered data.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-serif: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-sans:  'Libre Franklin', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:  'Spline Sans Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Semantic family aliases */
  --font-display:   var(--font-serif);  /* the editorial signature — big statements */
  --font-editorial: var(--font-serif);
  --font-heading:   var(--font-sans);   /* product-UI headings */
  --font-body:      var(--font-sans);
  --font-label:     var(--font-mono);

  /* ---- Type scale ---- */
  --text-3xs: 0.6875rem;  /* 11px — micro labels */
  --text-2xs: 0.75rem;    /* 12px — eyebrows, captions */
  --text-xs:  0.8125rem;  /* 13px — fine print, table meta */
  --text-sm:  0.875rem;   /* 14px — secondary UI text */
  --text-base:1rem;       /* 16px — body */
  --text-md:  1.125rem;   /* 18px — lead body */
  --text-lg:  1.375rem;   /* 22px — small headings */
  --text-xl:  1.75rem;    /* 28px — section headings */
  --text-2xl: 2.25rem;    /* 36px — page titles */
  --text-3xl: 3rem;       /* 48px — display */
  --text-4xl: 4rem;       /* 64px — hero */
  --text-5xl: 5.25rem;    /* 84px — statement hero */

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

  /* ---- Line heights ---- */
  --leading-tight:   1.02;  /* serif display */
  --leading-snug:    1.18;  /* headings */
  --leading-normal:  1.5;   /* body */
  --leading-relaxed: 1.62;  /* long-form prose */

  /* ---- Letter spacing ---- */
  --tracking-eyebrow: 0.18em;  /* mono eyebrows / labels — uppercase */
  --tracking-tight:  -0.025em; /* large serif display */
  --tracking-snug:   -0.01em;  /* sans headings */
  --tracking-normal:  0;
}
