/* ===================================================================
   ARBOREUM — TYPOGRAPHY TOKENS
   · Display  — Bricolage Grotesque : placeholder for the brand display
                face, pending a licensed alternative.
   · Sans/UI  — Hanken Grotesk : placeholder for the brand body face,
                pending a licensed alternative.
   · Rounded  — Quicksand : eyebrows / friendly callouts.
   · Mono     — Space Mono : tabular figures, data labels, fine print.

   When the licensed brand faces land, add them first in the relevant
   stack below and declare them in fonts.css.
   =================================================================== */

:root {
  --font-display: "Bricolage Grotesque", system-ui, sans-serif;
  --font-sans:    "Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --font-rounded: "Quicksand", "Hanken Grotesk", system-ui, sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  /* weights */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;
  --fw-black:    800;

  /* fluid type scale (1.250 major-third, clamped) */
  --text-3xs: 0.6875rem; /* 11px — micro labels */
  --text-2xs: 0.75rem;   /* 12px */
  --text-xs:  0.8125rem; /* 13px */
  --text-sm:  0.875rem;  /* 14px */
  --text-base:1rem;      /* 16px — body */
  --text-md:  1.125rem;  /* 18px — lead body */
  --text-lg:  1.375rem;  /* 22px */
  --text-xl:  1.75rem;   /* 28px */
  --text-2xl: clamp(2rem, 1.4rem + 2.4vw, 2.75rem);
  --text-3xl: clamp(2.5rem, 1.6rem + 3.6vw, 3.75rem);
  --text-4xl: clamp(3rem, 1.8rem + 5vw, 5rem);

  /* line heights */
  --leading-tight:  1.04;
  --leading-snug:   1.18;
  --leading-normal: 1.5;
  --leading-relaxed:1.65;

  /* letter spacing */
  --tracking-tight:  -0.02em;
  --tracking-snug:   -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-eyebrow:0.14em;

  /* semantic roles */
  --type-display-family: var(--font-display);
  --type-body-family:    var(--font-sans);
  --type-eyebrow-family: var(--font-rounded);
  --type-figure-family:  var(--font-mono);
}
