:root{
  /* Escala fluida — mobile-first. clamp(min, preferido, max) */
  --text-display-1:clamp(2.5rem,1.6rem + 4.2vw,4.5rem); /* @kind spacing */ /* 40 -> 72 */
  --text-display-2:clamp(2rem,1.4rem + 3vw,3.5rem); /* @kind spacing */ /* 32 -> 56 */
  --text-h1:clamp(1.75rem,1.3rem + 2.2vw,2.75rem); /* @kind spacing */ /* 28 -> 44 */
  --text-h2:clamp(1.5rem,1.2rem + 1.4vw,2.125rem); /* @kind spacing */ /* 24 -> 34 */
  --text-h3:clamp(1.25rem,1.1rem + .8vw,1.625rem); /* @kind spacing */ /* 20 -> 26 */
  --text-h4:1.25rem;                                        /* 20 */
  --text-lead:clamp(1.0625rem,1rem + .5vw,1.375rem); /* @kind spacing */ /* 17 -> 22 */
  --text-body-lg:1.125rem;   /* 18 */
  --text-body:1rem;          /* 16 — mínimo de corpo no mobile */
  --text-body-sm:.9375rem;   /* 15 */
  --text-caption:.8125rem;   /* 13 */
  --text-overline:.75rem;    /* 12 */

  --leading-tight:1.06;
  --leading-snug:1.18;
  --leading-heading:1.24;
  --leading-body:1.65;
  --leading-relaxed:1.75;

  --tracking-display:-.03em;
  --tracking-heading:-.018em;
  --tracking-body:0em;
  --tracking-overline:.14em;

  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --weight-black:800;

  --measure-narrow:34ch;
  --measure-body:66ch;
  --measure-wide:78ch;
}
