/* ==========================================================================
   Заголовки без второго шрифта.

   Подключается, когда ABTB_DISPLAY_FONT = 'roboto' (см. functions.php).
   Вернуть пару гарнитур — поменять там одну строку; этот файл тогда просто
   перестаёт грузиться, а общие файлы остаются нетронутыми.

   ПОЧЕМУ ФАЙЛ, А НЕ ПРАВКА НА МЕСТЕ. Playfair Display назначен в abtb-2026-*.css,
   а это те же самые файлы, что отдаёт живой сайт на UMI: их источник — прототипы,
   и tools/theme-assets.py перезаписывает их при каждой сборке. Отмена пары
   гарнитур живёт здесь и только здесь.

   СПИСОК СЕЛЕКТОРОВ ПОЛНЫЙ, и это главное в этом файле. В прошлый раз здесь
   стоял только `.display`, потому что я решил, что Playfair назначен ровно в
   одном месте. На самом деле их пятнадцать: один в trendy, четыре в home, шесть
   в pages, четыре в news — заголовок новости, имя проекта на заставке, заголовки
   блоков главной, имя сотрудника, «Свяжитесь с нами», заголовки внутри текста
   статьи. Поэтому сайт и выглядел набранным двумя шрифтами вперемешку.

   Проверять так: grep -rn "Playfair" wp/themes/abtb-2026/assets/css/ и сверить,
   что каждый селектор оттуда есть ниже. @font-face не в счёт — это объявления
   самих файлов шрифта, они безвредны: ничего не ссылается, ничего не грузится.

   ПОЧЕМУ ОДНА ГАРНИТУРА — ЭТО ПОЗИЦИЯ, А НЕ ОБЕДНЕНИЕ. Модернистская типографика
   строит иерархию не сменой шрифта, а размером, весом и пробелом: так работают и
   швейцарская школа, и собственные подписи бюро на чертежах. Антиква с высоким
   контрастом штриха тянет в сторону «журнального» и с транспортной
   инфраструктурой спорит.

   Чтобы крупный заголовок не читался просто «увеличенным текстом», потерю
   характера компенсируем тем, чем и положено: вес 700 вместо 600 и плотнее
   межбуквенное. Плотность разная по кеглю — то, что верно для 76 px, на 21 px
   склеивает буквы.
   ========================================================================== */

/* ==========================================================================
   ОДИН ФАЙЛ НА ВСЕ НАЧЕРТАНИЯ: Roboto здесь ПЕРЕМЕННЫЙ.

   Измерено 25.08.2026 на живой главной: шрифты весили 276 КБ — больше всех
   картинок вместе взятых. Причина — Roboto приезжал ДВАЖДЫ. В теме лежат
   нарезанные по алфавитам файлы, а побеждали четыре целых файла из
   «Библиотеки шрифтов» WordPress, по 69 КБ каждый, плюс 12 КБ объявлений в
   каждой странице (там же Montserrat и Roboto Condensed, которых на сайте нет).

   А потом выяснилось главное: файлы темы — ПЕРЕМЕННЫЙ шрифт с осью веса
   100–900, и roboto-400-1.woff2, roboto-500-1.woff2, roboto-700-1.woff2 —
   один и тот же файл, скопированный трижды под разными именами. То есть
   объявления по весам заставляли браузер качать одни и те же байты по три
   раза, а начертания 600, которого просит вёрстка в 56 местах, среди них не
   было вовсе.

   Отсюда эти три объявления. Один файл на алфавит, `font-weight: 100 900` —
   и браузер сам интерполирует любой вес, включая 600. Русской странице нужны
   два файла: кириллица 23 КБ и латиница с цифрами 43 КБ. Было 276 КБ, стало 67.

   Объявления стоят ЗДЕСЬ, а не в abtb-2026-trendy.css, по той же причине, что и
   всё в этом файле: общие файлы перезаписываются синхронизацией с UMI. Прежние
   девять объявлений там остаются и не мешают: при равном совпадении побеждает
   последнее объявленное, а этот файл подключается последним. Ничего лишнего
   при этом не качается — @font-face загружает файл только когда он нужен.
   ========================================================================== */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../font/abtb2026/roboto-400-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../font/abtb2026/roboto-400-2.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: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../font/abtb2026/roboto-400-3.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;
}

/* Крупный кегль: заголовок раздела и проекта, заголовок главной, номер 404. */
.display,
.home-title,
.status-code {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.display {
  line-height: 0.98;
}

/* Средний кегль: имя проекта на заставке, заголовки блоков главной, имя
   сотрудника, заголовок статьи, числа в строке показателей. */
.home-hero-name,
.home-section-head h2,
.home-contact-inner h2,
.person-name,
.article-title,
.stat-n {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Мелкий кегль: подзаголовки блоков, карта сайта, заголовок карточки новости и
   заголовки внутри текста статьи. Здесь плотнее -0.015em уже вредит. */
.home-block-head h2,
.sitemap-group-title,
.news-hero-title,
.news-article-body h1,
.news-article-body h2,
/* Скин Elevated сейчас не выбран, но заголовки карточек в нём тоже на антикве:
   без этих двух строк переключение скина вернуло бы разнобой. */
.project-card .card-label .name,
.card-textual-name {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.015em;
}

/* Инициалы вместо портрета — не заголовок, а заглушка. Вес и разрядка остаются
   свои: жирные плотные инициалы в кружке смотрятся как ошибка, а не как метка. */
.home-person-initials {
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

/* Крупный кегль антиквы выглядел нормально, а гротеск того же размера давит:
   у него шире очко и плотнее цвет. Снимаем несколько процентов. */
.cat-hero h1.display {
  font-size: clamp(38px, 6.2vw, 66px);
}

/* Заставка главной набрана тем же Roboto — там ничего не меняется, но вес
   выравниваем, чтобы страница читалась как одна система. */
.home-splash-tagline {
  letter-spacing: -0.02em;
}
