/* ============================================================
   Route Star — Typography tokens
   Geist (geometric sans) + Geist Mono (data, eyebrows, metrics)
   Clean, techy, premium. @font-face declared in fonts/fonts.css
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-display: "Geist", system-ui, sans-serif; /* same family, tight + heavy */

  /* ---- Type scale (16px base) ---- */
  --text-2xs:  0.6875rem; /* 11px */
  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.8125rem; /* 13px */
  --text-base: 0.9375rem; /* 15px — UI default (data density) */
  --text-md:   1rem;      /* 16px */
  --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:  5rem;      /* 80px */

  /* ---- Weights (Geist is variable 100–900) ---- */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* ---- Line heights ---- */
  --leading-none:    1;
  --leading-tight:   1.08;  /* display headlines */
  --leading-snug:    1.22;  /* headings */
  --leading-normal:  1.5;   /* body */
  --leading-relaxed: 1.65;  /* long-form */

  /* ---- Letter spacing ---- */
  --tracking-tighter: -0.03em; /* big display */
  --tracking-tight:   -0.018em;/* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-eyebrow: 0.10em;  /* mono uppercase kicker */

  /* ---- Composed roles ---- */
  --display-font: var(--weight-bold) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --h1-font:      var(--weight-bold) var(--text-3xl)/var(--leading-snug) var(--font-sans);
  --h2-font:      var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --h3-font:      var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --body-font:    var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);
  --ui-font:      var(--weight-medium) var(--text-base)/var(--leading-normal) var(--font-sans);
  --eyebrow-font: var(--weight-medium) var(--text-xs)/var(--leading-none) var(--font-mono);
}
