/* Self-hosted шрифты. Geist (Vercel, OFL) в теле — снимает главный AI-tell (Inter).

   Приёмка 31.07: переведены на variable-начертания.
   Было: по отдельному файлу на каждый вес — но у всех трёх семейств
   Google отдаёт ОДИН И ТОТ ЖЕ variable-файл под разными именами.
   Проверено побайтово: unbounded-600/700/800-cyrillic — один md5.
   Браузер грузил два идентичных файла (Unbounded 700 + 800 = 62 КБ вместо 31).

   Что это чинит:
   1. Веса, которых не существовало. Страница использует Geist 300/700/800
      (49 узлов) и JetBrains Mono 700, а объявлены были только 400/500/600 —
      браузер молча брал ближайший, и 700 рисовался как 600. Иерархия
      заголовков схлопывалась в плоскую. Диапазон 100..900 закрывает всё.
   2. Дубль-загрузку одинаковых байтов под разными URL.
   3. У Geist не было unicode-range — тянулся весь файл (45 КБ) даже на
      латинской странице. Теперь latin 29 КБ / cyrillic 15 КБ раздельно.

   Итог: 505 КБ статики → 167 КБ, и все веса наконец работают.
   Синтаксис `font-weight: 100 900` обязателен — при одиночном значении
   браузер не задействует ось wght. */

/* ═══════════ Geist — тело, ось wght 100–900 ═══════════ */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-var-cyrillic.woff2') format('woff2-variations'),
       url('../assets/fonts/geist-var-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/geist-var-latin.woff2') format('woff2-variations'),
       url('../assets/fonts/geist-var-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;
}

/* ═══════════ JetBrains Mono — цифры и код, ось wght 400–800 ═══════════ */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../assets/fonts/jetbrains-mono-var-cyrillic.woff2') format('woff2-variations'),
       url('../assets/fonts/jetbrains-mono-var-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../assets/fonts/jetbrains-mono-var-latin.woff2') format('woff2-variations'),
       url('../assets/fonts/jetbrains-mono-var-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;
}

/* ═══════════ Unbounded — заголовки, ось wght 200–900 ═══════════ */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('../assets/fonts/unbounded-var-cyrillic.woff2') format('woff2-variations'),
       url('../assets/fonts/unbounded-var-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('../assets/fonts/unbounded-var-latin.woff2') format('woff2-variations'),
       url('../assets/fonts/unbounded-var-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;
}
