:root{
  /* AUTHORITATIVE roles */
  --js-font-display:"Instrument Serif",Georgia,serif;
  --js-font-body:"Manrope",Arial,sans-serif;

  /* AUTHORITATIVE minimums and hero */
  --js-font-size-body-desktop-min:18px;
  --js-font-size-body-mobile-min:16px;
  --js-font-size-navigation-min:13px;
  --js-font-size-hero:clamp(3.4rem,7.6vw,8.5rem);
  --js-line-height-hero:0.94; /* @kind other */
  --js-text-measure-long:65ch; /* @kind other */

  /* v1.1 — CLOSED. 14px is authorised ONLY for legal copy and captions; body
     stays 18px desktop / 16px mobile. */
  --js-text-hero:var(--js-font-size-hero);
  --js-text-display:clamp(2.6rem,5vw,4.75rem);
  --js-text-h2:clamp(2rem,3.4vw,3.25rem);
  --js-text-h3:clamp(1.5rem,2.2vw,2rem);
  --js-text-lead:clamp(1.25rem,1.6vw,1.5rem);
  --js-text-body:1.125rem;
  --js-text-body-sm:1rem;
  --js-text-label:0.8125rem;
  --js-text-legal:0.875rem;   /* 14px — legal + captions only */
  --js-text-caption:0.875rem; /* 14px — captions only */

  --js-leading-display:1.02; /* @kind other */
  --js-leading-heading:1.1; /* @kind other */
  --js-leading-body:1.55; /* @kind other */
  --js-leading-label:1.2; /* @kind other */

  --js-tracking-display:-0.015em; /* @kind other */
  --js-tracking-body:0em; /* @kind other */
  --js-tracking-label:0.16em; /* @kind other */
  --js-tracking-nav:0.08em; /* @kind other */

  --js-weight-body:380; /* @kind other */
  --js-weight-medium:500; /* @kind other */
  --js-weight-label:600; /* @kind other */
}
