/* Type scale. Exact values from uploads/DESIGN (1).md §3.3 — do not round to a 4px grid.
   Negative tracking (-0.02em) is applied ONLY at display sizes (36px and up). */

:root {
  /* ---- Sizes ---- */
  --text-display-xl: 64px;
  --text-display-l: 48px;
  --text-display-m: 36px;
  --text-heading-xl: 32px;
  --text-heading-l: 24px;
  --text-heading-m: 20px;
  --text-heading-s: 18px;
  --text-body-l: 18px;
  --text-body-m: 16px;
  --text-body-s: 14px;
  --text-caption: 12px;
  --text-overline: 11px;
  --text-code: 14px;

  /* ---- Line heights (absolute, as specified) ---- */
  --leading-display-xl: 72px;
  --leading-display-l: 56px;
  --leading-display-m: 44px;
  --leading-heading-xl: 40px;
  --leading-heading-l: 32px;
  --leading-heading-m: 28px;
  --leading-heading-s: 26px;
  --leading-body-l: 28px;
  --leading-body-m: 26px;
  --leading-body-s: 22px;
  --leading-caption: 18px;
  --leading-overline: 16px;
  --leading-code: 21px;

  /* ---- Ratios, for fluid contexts ---- */
  --leading-tight: 1.125; /* @kind other */
  --leading-snug: 1.25; /* @kind other */
  --leading-normal: 1.44; /* @kind other */
  --leading-relaxed: 1.625; /* @kind other */

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

  /* ---- Tracking ---- */
  --tracking-display: -0.02em; /* @kind other */
  --tracking-normal: normal; /* @kind other */
  --tracking-overline: 0.045em; /* @kind other */
  --tracking-brand-label: 0.32em; /* @kind other */
}

/* Responsive display step-down, per DESIGN.md §8 */
@media (max-width: 1023px) {
  :root {
    --text-display-xl: 40px;  --leading-display-xl: 48px;
    --text-display-l: 36px;   --leading-display-l: 44px;
    --text-display-m: 30px;   --leading-display-m: 38px;
    --text-heading-xl: 26px;  --leading-heading-xl: 34px;
  }
}
@media (max-width: 767px) {
  :root {
    --text-display-xl: 32px;  --leading-display-xl: 40px;
    --text-display-l: 28px;   --leading-display-l: 36px;
    --text-display-m: 24px;   --leading-display-m: 32px;
    --text-heading-xl: 22px;  --leading-heading-xl: 30px;
  }
}
