/* INTER 4, UN FILE SOLO (18 ottobre 2026, scelta di Marco).
   Prima: cinque file statici (300-700, circa 120 KB) con il solo disegno «da testo».
   Ora: un file variabile, 71 KB con le sole lettere latine (Google Fonts, Inter v4,
   licenza OFL, ospitato da noi: il browser non chiama Google), con tutti i pesi e
   l'asse «opsz» del disegno: 14 = da testo, 32 = Display, piu' stretto e fine, per
   i titoli grandi (come il carattere di iPhone sopra i 20 punti).
   Il TESTO resta col disegno da testo (font-optical-sizing: none, piu' sotto):
   misurato, e' identico al millimetro ai file di prima (0,00% a 14, 16 e 18 px, a
   tutti i pesi), quindi la riserva tarata il 1 ottobre vale ancora. Lasciando al
   browser la scelta per grandezza, il testo a 16-18 px veniva piu' stretto
   dell'1-2%: la differenza che il 1 ottobre faceva saltare le pagine.
   I file inter-300/400/500/600/700.woff2 restano sul server: una pagina con un
   inter.css vecchio in memoria li chiede ancora. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-4-variabile.woff2') format('woff2');
}

/* IL CARATTERE DI RISERVA HA LE MISURE DI INTER (1 ottobre 2026).
   Con font-display: swap, finche' Inter non arriva il testo e' disegnato con il
   carattere di sistema, che e' piu' stretto: quando Inter arriva le righe si
   allungano, vanno a capo diversamente, e tutta la pagina scende. Misurato sul
   sito vero, al telefono: CLS fino a 0.25 (soglia di Google 0.1) su 9 pagine,
   0.000 bloccando i font. Precaricare i font non bastava (rete lenta: 7 pagine
   su 9 ancora sopra soglia).
   Qui il carattere di riserva e' Arial ridimensionato sulle misure di Inter
   (size-adjust e ascent/descent, i valori di Next.js e Fontaine): occupa lo
   stesso spazio, e all'arrivo di Inter non si sposta niente. Provato: 0 pagine
   su 9 sopra soglia, CLS medio 0.001, con rete veloce e lenta.
   Dove Arial non c'e' (Android) il riserva non si applica e resta il
   comportamento di prima: nessun peggioramento.
   `html body` e non `body`: le pagine dichiarano il loro `body{font-family}`
   inline, e a parita' di forza vincerebbe chi viene dopo. */
/* Una misura per gruppo di pesi (1 ottobre 2026): con una sola, al peso
   normale la riserva era l'1% piu' larga di Inter (il percorso di Benevento
   andava a capo e poi risaliva: CLS 0.25) e al grassetto l'1,2% piu' stretta.
   ascent/descent si ricalcolano perche' size-adjust li scala: l'altezza della
   riga resta quella di Inter. */
/* testo normale */
@font-face {
  font-family: 'Inter Riserva';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 100 450;
  size-adjust: 106.6%;
  ascent-override: 90.9%;
  descent-override: 22.65%;
  line-gap-override: 0%;
}
/* medio */
@font-face {
  font-family: 'Inter Riserva';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 451 550;
  size-adjust: 107.7%;
  ascent-override: 89.9%;
  descent-override: 22.42%;
  line-gap-override: 0%;
}
/* semi-grassetto e grassetto */
@font-face {
  font-family: 'Inter Riserva';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 551 900;
  size-adjust: 108.7%;
  ascent-override: 89.1%;
  descent-override: 22.21%;
  line-gap-override: 0%;
}
html body, html button, html input, html select, html textarea {
  font-family: 'Inter', 'Inter Riserva', -apple-system, BlinkMacSystemFont, sans-serif;
  font-optical-sizing: none;
}
/* I TITOLI IN DISPLAY (18 ottobre 2026): solo gli h1 (32 px al telefono, 44 al computer)
   col disegno 32, con una riserva loro. Gli h2 no: sono a 24 px e molte pagine li
   stringono gia' di -0,02 em, e col Display le lettere si toccavano («diffusa»);
   il Display rende sopra i 30 px. Nemmeno gli h1 piccoli di .auth-status (20 px). Il Display e' piu' stretto del testo (8,8% al peso normale, 5,9% al
   grassetto): con la riserva del testo un titolo andrebbe a capo in un altro punto
   all'arrivo di Inter, e la pagina scenderebbe. Misure prese come quelle del
   1 ottobre (Arial normale con il grassetto del browser, come la riserva vera):
   larghezza del Display su quella di Arial, per gruppo di peso; ascent e descent
   ricalcolati perche' la riga resti alta come Inter (96,9% e 24,14% / size-adjust). */
@font-face {
  font-family: 'Inter Riserva Titoli';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 100 450;
  size-adjust: 97.3%;
  ascent-override: 99.59%;
  descent-override: 24.81%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Riserva Titoli';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 451 550;
  size-adjust: 99.4%;
  ascent-override: 97.48%;
  descent-override: 24.29%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Riserva Titoli';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 551 650;
  size-adjust: 101.5%;
  ascent-override: 95.47%;
  descent-override: 23.79%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Riserva Titoli';
  src: local('Arial'), local('Helvetica'), local('Liberation Sans');
  font-weight: 651 900;
  size-adjust: 103.5%;
  ascent-override: 93.62%;
  descent-override: 23.33%;
  line-gap-override: 0%;
}
html body h1 {
  font-family: 'Inter', 'Inter Riserva Titoli', -apple-system, BlinkMacSystemFont, sans-serif;
  font-variation-settings: 'opsz' 32;
}
html body .auth-status h1 {
  font-family: 'Inter', 'Inter Riserva', -apple-system, BlinkMacSystemFont, sans-serif;
  font-variation-settings: normal;
}

/* LA TESTATA NASCE GIA' ALTA QUANTO SARA' (3 ottobre 2026).
   Fra 768 e 1023 px ogni pagina disegna la sua testata (menu da computer, 76 px,
   o pulsanti da 38, 78 px), poi js/common.js mette il menu da telefono e la
   porta a 80: mezzo secondo dopo il primo disegno tutta la pagina scendeva di
   2-4 px. Misurato sul sito vero: CLS della home 0,19-0,24 a quelle larghezze,
   0,214 anche con la chat bloccata; 0,004 da 1024 px in su. Le pagine dei
   centri nascevano gia' a 80 e non saltavano. Sta qui e non nelle pagine
   perche' questo file lo leggono TUTTE prima del primo disegno (165 statiche,
   i modelli del server, il generatore delle scuole), come la riserva qui sopra.
   Non vale a pagina scorsa: li' common.js compatta la testata. */
@media (max-width: 1023px) {
  .header:not(.header-scrolled) .header-inner { min-height: 80px; }
  /* Freccia indietro e ricerca sono cerchi da 44 (18 ottobre 2026, js/common.js): con il
     margine di 20 px la testata arriverebbe a 84 e la pagina scenderebbe di 4 px dopo il
     primo disegno. 18 + 44 + 18 = 80, come prima. */
  .header:not(.header-scrolled) .header-inner { padding-top: 18px; padding-bottom: 18px; }
}
