/* ============================================================
   KLART · TYPOGRAPHY TOKENS
   Two families: Geist (UI/display) + Geist Mono (data).
   Mono is reserved for engineered values — SKUs, quantities,
   currency totals — which gives the quotation tool its precise,
   ledger-like credibility.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  /* aliases the web app references */
  --font-geist-sans: var(--font-sans);
  --font-geist-mono: var(--font-mono);

  /* ---- Type scale (rem) ---- */
  --text-xs:   0.75rem;    /* 12 — captions, table heads (uppercase) */
  --text-sm:   0.8125rem;  /* 13 — secondary UI text */
  --text-base: 0.875rem;   /* 14 — default UI body */
  --text-md:   1rem;       /* 16 — comfortable body / prose */
  --text-lg:   1.125rem;   /* 18 — card titles, section leads */
  --text-xl:   1.375rem;   /* 22 — page titles */
  --text-2xl:  1.75rem;    /* 28 — minor display */
  --text-3xl:  2.25rem;    /* 36 — display */
  --text-4xl:  3rem;       /* 48 — hero */
  --text-5xl:  3.75rem;    /* 60 — marketing hero */

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

  /* ---- Line heights ---- */
  --leading-tight:   1.15;  /* display */
  --leading-snug:    1.3;   /* headings */
  --leading-normal:  1.5;   /* UI body */
  --leading-relaxed: 1.65;  /* prose */

  /* ---- Letter spacing ---- */
  --tracking-tighter: -0.02em; /* large display */
  --tracking-tight:   -0.01em; /* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.04em;  /* uppercase eyebrows / table heads */
  --tracking-wider:   0.08em;
}
