/* ============================================================
   MONTEITH CONSTRUCTION — TYPOGRAPHY TOKENS
   One family: Montserrat. Hierarchy comes from WEIGHT and TRACKING,
   not from mixing typefaces. Two signature moves:
     1. Display headlines — heavy (800/900), tight, often UPPERCASE.
     2. Eyebrows / labels — light, UPPERCASE, very wide tracking
        (echoes "M O N T E I T H" in the logo).
   ============================================================ */

:root {
  /* --- Families --- */
  --font-sans: "Montserrat", ui-sans-serif, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-display: "Montserrat", ui-sans-serif, system-ui, sans-serif; /* same family, heavier weights */
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

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

  /* --- Type scale (rem; 1rem = 16px) --- */
  --text-display-xl: 5.5rem;   /* 88px — hero statements */
  --text-display-l:  4rem;     /* 64px */
  --text-display-m:  3rem;     /* 48px */
  --text-h1:         2.25rem;  /* 36px */
  --text-h2:         1.75rem;  /* 28px */
  --text-h3:         1.375rem; /* 22px */
  --text-h4:         1.125rem; /* 18px */
  --text-body-lg:    1.125rem; /* 18px */
  --text-body:       1rem;     /* 16px */
  --text-body-sm:    0.875rem; /* 14px */
  --text-caption:    0.75rem;  /* 12px */
  --text-eyebrow:    0.8125rem;/* 13px — uppercase label */

  /* --- Line heights --- */
  --leading-tight: 1.02;   /* display */
  --leading-snug:  1.15;   /* headings */
  --leading-normal: 1.5;   /* body */
  --leading-relaxed: 1.65; /* long-form body */

  /* --- Letter spacing --- */
  --tracking-tighter: -0.03em;  /* big display */
  --tracking-tight:  -0.015em;  /* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em;   /* eyebrows / labels */
  --tracking-widest:  0.22em;   /* logo-style spacing, small caps labels */

  /* --- Semantic roles --- */
  --type-eyebrow-size: var(--text-eyebrow);
  --type-eyebrow-weight: var(--weight-semibold);
  --type-eyebrow-tracking: var(--tracking-wider);
}
