:root {
  /* ---- Size scale (font-size only) ------------------------------------- */
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   20px;
  --text-xl:   24px;
  --text-2xl:  30px;
  --text-3xl:  38px;
  --text-4xl:  48px;
  --text-5xl:  64px;

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

  /* ---- Line heights ---------------------------------------------------- */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.45;
  --leading-relaxed: 1.65;

  /* ---- Tracking -------------------------------------------------------- */
  --tracking-logotype: 0.18em;
  --tracking-overline: 0.14em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0em;

  /* ---- Composite roles (font shorthand) -------------------------------- */
  /* Display — Cormorant Garamond, hero + section headings only */
  --type-display-1: var(--weight-semibold) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --type-display-2: var(--weight-semibold) var(--text-4xl)/1.12 var(--font-display);
  --type-display-3: var(--weight-semibold) var(--text-3xl)/1.18 var(--font-display);
  /* Headings — Golos Text, inside UI and cards */
  --type-h1: var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-body);
  --type-h2: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-body);
  --type-h3: var(--weight-semibold) var(--text-lg)/1.3 var(--font-body);
  --type-h4: var(--weight-semibold) var(--text-md)/1.35 var(--font-body);
  /* Body */
  --type-lead: var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-body);
  --type-body: var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-body);
  --type-body-sm: var(--weight-regular) var(--text-sm)/1.6 var(--font-body);
  --type-caption: var(--weight-regular) var(--text-xs)/var(--leading-normal) var(--font-body);
  --type-label: var(--weight-medium) var(--text-sm)/1.2 var(--font-body);
  --type-button: var(--weight-semibold) var(--text-base)/1 var(--font-body);
  --type-overline: var(--weight-medium) var(--text-xs)/1.2 var(--font-body);
}
