/* Shared heading roles; loaded after page layouts, before the shared header. */
/* Scala tipografica unica (30/09/2026). Ogni testo del sito prende corpo e interlinea da qui;
   i fogli di pagina e quelli nuovi (deepcms-v3, intelligence-v3) usano questi nomi invece di
   scrivere misure a mano. Montserrat per i titoli, Raleway per il testo. I valori a sinistra del
   clamp sono il telefono (390 px), quelli a destra lo schermo largo (1440 px e oltre).
   Ruolo              token          interlinea     */
:root {
  --t-display: clamp(42px, 6.4vw, 92px);   --lh-display: 1.04;  /* h1 delle pagine interne e dei casi */
  --t-h2-xl:   clamp(38px, 4.6vw, 66px);   --lh-h2-xl: 1.05;    /* titoli-manifesto: chiusura contatti, sezioni della home */
  --t-h2:      clamp(34px, 3.8vw, 56px);   --lh-h2: 1.08;       /* titolo di sezione: rich, topics, casi, demo */
  --t-h3:      clamp(22px, 1.9vw, 27px);   --lh-h3: 1.25;       /* voce di un elenco (dt), sottotitolo, h3 nel testo */
  --t-lead:    clamp(17px, 1.4vw, 20px);   --lh-lead: 1.65;     /* testo d'apertura sotto h1 e h2 */
  --t-body:    clamp(17px, 1.25vw, 18px);  --lh-body: 1.75;     /* paragrafi, dd, elenchi, risposte FAQ */
  --t-small:   15px;                       --lh-small: 1.6;     /* testo secondario: punti, righe di elenco brevi, descrizioni di card */
  --t-caption: 13px;                       --lh-caption: 1.55;  /* didascalie, note, contesto */
  --t-label:   12px;                       --lh-label: 1;       /* eyebrow maiuscolo, Raleway 600, .14em */
  --label-tracking: .14em;
  --title-weight: 800;
  --heading-weight: 750;
  --title-tracking: -.05em;
  --heading-tracking: -.045em;
}
body h1 {
  font-family: Montserrat, sans-serif;
  font-weight: var(--title-weight) !important;
  letter-spacing: var(--title-tracking) !important;
}
body h2 {
  font-family: Montserrat, sans-serif;
  font-weight: var(--heading-weight) !important;
  letter-spacing: var(--heading-tracking) !important;
}
body h3, body.internal dt {
  font-family: Montserrat, sans-serif;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
}
/* Smaller editorial headings retain space for sustained reading. */
body .side-story h2, body .archive-story h2, body .reading-body h2 {
  letter-spacing: -.035em !important;
}
