/* Heg.ai — self-hosted webfonts (CSP-safe: 'self').
 *
 * WOFF2 с сабсетом latin+cyrillic, собирается из исходных TTF скриптом
 * scripts/build-webfonts.sh. Было 10 TTF на 1237 KB, стало 10 WOFF2 на 220 KB.
 *
 * Пути абсолютные: файл подключают страницы разной вложенности, а тот же набор
 * @font-face продублирован в _heg/heg-ds.css для остальных 240 страниц.
 *
 * Имена файлов не менять без причины — nginx отдаёт шрифты с
 * Cache-Control: immutable на год. Изменил шрифт → новое имя файла.
 */
@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/Onest-Regular.woff2") format("woff2")}
@font-face{font-family:"Onest";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/Onest-Medium.woff2") format("woff2")}
@font-face{font-family:"Onest";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/Onest-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Onest";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/Onest-Bold.woff2") format("woff2")}
@font-face{font-family:"Onest";font-style:normal;font-weight:800;font-display:swap;src:url("/assets/fonts/Onest-ExtraBold.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/SourceSerif4-Regular.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/SourceSerif4-Italic.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/IBMPlexMono-Regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/IBMPlexMono-Medium.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/IBMPlexMono-SemiBold.woff2") format("woff2")}

/* Фолбэк с метриками Onest — против сдвига вёрстки при подмене шрифта.
   У Onest строчный бокс выше системного Arial (ascent 97% против 90.5%,
   descent 30.5% против 21.2%), поэтому в момент swap текстовые блоки
   становились выше и всё под ними уезжало вниз: это давало основной CLS
   на /events/, /learn/, /platform/ и в cookie-баннере.
   Переопределяем метрики фолбэка ровно под Onest — свап становится
   геометрически незаметным. Средняя ширина строчной у Onest 0.5274 em
   против 0.5279 у Arial, поэтому size-adjust остаётся 100%. */
@font-face{
  font-family:"Onest Fallback";
  src:local("Arial"),local("Helvetica"),local("Liberation Sans"),local("Arimo");
  size-adjust:100%;
  ascent-override:97%;
  descent-override:30.5%;
  line-gap-override:0%;
}
