/*
 * fonts.css — i font dell'interfaccia, ospitati in proprio.
 *
 * Niente richieste a Google Fonts: il Garante considera il caricamento remoto
 * un trasferimento di IP verso gli USA (vedi fonts.md). I WOFF2 stanno in
 * fonts/ accanto a questo file, e gli url() sono relativi a lui: chi lo
 * importa cosi' com'e' (submodule, @import) non deve riscrivere niente; chi lo
 * concatena in un altro foglio deve riscrivere gli url().
 *
 * Variable font scaricati da Google Fonts (SIL OFL 1.1, attribuzioni in
 * fonts/NOTICE.md): Fraunces (opsz 9..144, wght 400..800, tondo e corsivo),
 * Inter (400..600), JetBrains Mono (400..600). Subset latin + latin-ext, e gli
 * unicode-range replicano la risposta css2 di Google: il browser scarica solo
 * i subset che servono davvero. Inter e JetBrains Mono non hanno il corsivo
 * e il browser lo sintetizza.
 */

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 800;
  font-optical-sizing: auto;
  font-display: swap;
  src: url('fonts/fraunces-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 800;
  font-optical-sizing: auto;
  font-display: swap;
  src: url('fonts/fraunces-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 800;
  font-optical-sizing: auto;
  font-display: swap;
  src: url('fonts/fraunces-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 800;
  font-optical-sizing: auto;
  font-display: swap;
  src: url('fonts/fraunces-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/inter-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/inter-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/jetbrains-mono-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/jetbrains-mono-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
 * Font di ripiego con le metriche del font vero.
 *
 * Finche' Fraunces o Inter non arrivano (font-display: swap) il testo esce
 * nel ripiego della pila di --pt-font-display e --pt-font-body, e quando il
 * font arriva le righe si riallineano: e' il salto di layout (CLS) del cambio
 * di font. Qui i ripieghi NOMINATI in quelle pile ricevono size-adjust e
 * ascent/descent/line-gap override, cosi' occupano quasi lo stesso spazio del
 * font che sostituiscono.
 *
 * Le pile non si toccano: invece di aggiungere un nome («Fraunces Fallback»,
 * come fa next/font) si ridefiniscono i nomi che ci sono gia', con local()
 * dello stesso font. Su Linux, dove Times New Roman e Arial non ci sono,
 * local() trova Liberation Serif e Liberation Sans, che hanno le stesse
 * metriche. Restano fuori -apple-system, BlinkMacSystemFont, Segoe UI e
 * Roboto: i primi due non si possono ridefinire, gli altri due li usa anche
 * la barra di amministrazione di WordPress, che con un size-adjust
 * cambierebbe misura. Lo stesso vale per il ripiego generico serif (Android).
 *
 * Valori: metriche di @capsizecss/metrics 4.3.0, formula di next/font
 * (size-adjust = rapporto delle larghezze medie; gli override divisi per
 * size-adjust). Verificati in Chromium con le Liberation: la stessa riga nel
 * ripiego misura fra 0,98 e 1,02 di quella nel font vero, contro 0,88-0,92
 * senza.
 */

/* Fraunces -> Georgia (Windows, macOS, iOS). */
@font-face {
  font-family: 'Georgia';
  font-style: normal;
  font-weight: 1 549;
  src: local('Georgia');
  size-adjust: 105.2%;
  ascent-override: 92.96%;
  descent-override: 24.24%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Georgia';
  font-style: normal;
  font-weight: 550 1000;
  src: local('Georgia Bold'), local('Georgia-Bold');
  size-adjust: 105.2%;
  ascent-override: 92.96%;
  descent-override: 24.24%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Georgia';
  font-style: italic;
  font-weight: 1 549;
  src: local('Georgia Italic'), local('Georgia-Italic');
  size-adjust: 98.55%;
  ascent-override: 99.24%;
  descent-override: 25.88%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Georgia';
  font-style: italic;
  font-weight: 550 1000;
  src: local('Georgia Bold Italic'), local('Georgia-BoldItalic');
  size-adjust: 98.55%;
  ascent-override: 99.24%;
  descent-override: 25.88%;
  line-gap-override: 0%;
}

/* Fraunces -> Times New Roman (dove Georgia manca: Linux, con Liberation Serif). */
@font-face {
  font-family: 'Times New Roman';
  font-style: normal;
  font-weight: 1 549;
  src: local('Times New Roman'), local('TimesNewRomanPSMT'), local('Liberation Serif'), local('LiberationSerif');
  size-adjust: 115.45%;
  ascent-override: 84.71%;
  descent-override: 22.09%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Times New Roman';
  font-style: normal;
  font-weight: 550 1000;
  src: local('Times New Roman Bold'), local('TimesNewRomanPS-BoldMT'), local('Liberation Serif Bold'), local('LiberationSerif-Bold');
  size-adjust: 115.45%;
  ascent-override: 84.71%;
  descent-override: 22.09%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Times New Roman';
  font-style: italic;
  font-weight: 1 549;
  src: local('Times New Roman Italic'), local('TimesNewRomanPS-ItalicMT'), local('Liberation Serif Italic'), local('LiberationSerif-Italic');
  size-adjust: 109.75%;
  ascent-override: 89.11%;
  descent-override: 23.23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Times New Roman';
  font-style: italic;
  font-weight: 550 1000;
  src: local('Times New Roman Bold Italic'), local('TimesNewRomanPS-BoldItalicMT'), local('Liberation Serif Bold Italic'), local('LiberationSerif-BoldItalic');
  size-adjust: 109.75%;
  ascent-override: 89.11%;
  descent-override: 23.23%;
  line-gap-override: 0%;
}

/* Inter -> Arial (l'ultimo ripiego nominato della pila; Linux con Liberation Sans).
   Inter qui non ha corsivo e lo sintetizza: niente corsivo nemmeno nel ripiego. */
@font-face {
  font-family: 'Arial';
  font-style: normal;
  font-weight: 1 549;
  src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('LiberationSans');
  size-adjust: 107.12%;
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Arial';
  font-style: normal;
  font-weight: 550 1000;
  src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold');
  /* Arial Bold e' molto piu' larga del tondo, Inter 600 un poco meno: col
     valore del tondo la riga in grassetto usciva larga 1,056. Misurato con
     Liberation Sans Bold (metriche di Arial Bold): 100,2% la riporta a 1. */
  size-adjust: 100.2%;
  ascent-override: 96.68%;
  descent-override: 24.07%;
  line-gap-override: 0%;
}
