/* ==========================================================================
   TYPOGRAPHY TOKENS
   One family (Hanken Grotesk ← stand-in for PP Neue Montreal) + a mono stack.
   Headings are set MEDIUM (500), never bold-black — a defining trait of the
   reference. Tight negative tracking on large display sizes.
   ========================================================================== */

:root {
  /* ---- Families ---- */
  --font-sans: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font-sans);
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas,
    "Liberation Mono", "Courier New", monospace;

  /* ---- Type scale: --text-* size, --leading-* matched line-height ---- */
  --text-xs:   .75rem;    --leading-xs:  1rem;
  --text-sm:   .875rem;   --leading-sm:  1.25rem;
  --text-base: 1rem;      --leading-base:1.5rem;
  --text-lg:   1.125rem;  --leading-lg:  1.75rem;
  --text-xl:   1.25rem;   --leading-xl:  1.75rem;
  --text-2xl:  1.5rem;    --leading-2xl: 2rem;
  --text-3xl:  1.875rem;  --leading-3xl: 2.25rem;
  --text-4xl:  2.25rem;   --leading-4xl: 2.5rem;
  --text-5xl:  3rem;      --leading-5xl: 1.08;
  --text-6xl:  3.75rem;   --leading-6xl: 1.04;
  --text-7xl:  4.5rem;    --leading-7xl: 1.0;
  --text-8xl:  6rem;      --leading-8xl: .98;

  /* ---- Weights (variable font 300–800) ---- */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;   /* default heading weight */
  --weight-semibold: 600;
  --weight-bold:     700;

  /* ---- Tracking ---- */
  --tracking-tighter: -0.03em;  /* hero display */
  --tracking-tight:   -0.02em;  /* headings */
  --tracking-normal:   0em;     /* body */
  --tracking-wide:     0.06em;  /* uppercase eyebrow labels */

  /* ---- Semantic role tokens ---- */
  --font-body: var(--font-sans);
  --font-heading: var(--font-display);
}
