/* ══════════════════════════════════════════════════════
   AN System · фирменная типографика. Один файл на все страницы:
   поменял здесь — поменялось везде.

   Три роли, у каждой своё:
   - Unbounded — заявления: главные заголовки, логотип, крупные цены.
     Широкий геометрический шрифт с инженерным характером.
   - Geist — интерфейс и текст. Шрифт Vercel, стандарт современных dev-продуктов.
   - Geist Mono — подписи, ярлыки, номера: «код» как фирменный знак программиста.

   Подключается ПОСЛЕ встроенных стилей страницы, поэтому переопределяет их.
══════════════════════════════════════════════════════ */
:root{
  --headline:'Unbounded', 'Geist', system-ui, sans-serif;
  --display:'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --sans:'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}
body{ font-family:var(--sans); font-feature-settings:'ss01','cv11'; }

/* Заявления */
h1, h2{
  font-family:var(--headline); font-weight:600; letter-spacing:-.025em; line-height:1.1;
}
h1{ letter-spacing:-.03em; }
/* Unbounded шире обычного гротеска — чуть уменьшаем, чтобы строки не дробились */
h2{ font-size:clamp(23px, 2.75vw, 38px); }
h3, h4{ font-family:var(--display); font-weight:600; letter-spacing:-.015em; }

/* Логотип — тоже заявление */
.logo, .logo *, .logo .logo-name, .logo .logo-brand{ font-family:var(--headline) !important; font-weight:600 !important; letter-spacing:-.02em; }

/* Крупные цифры и цены — шрифтом заявлений */
.sf-val, .pack-price, .price-val, .pricing-price .val, .rv-score-num, .case-stat .num, .case-stat .suffix,
.total-val, .num-big, .stat-num{ font-family:var(--headline) !important; font-weight:600; letter-spacing:-.03em; }

/* Ярлыки и подписи — моноширинным, как в коде */
.kicker, .doc-kicker, .sf-tier, .amap-who-label, .amap-panel-kicker, .case-niche, .case-url, .pain-num,
.how-num, .calc-or, .sf-ph-label{ font-family:var(--mono); }
.kicker{ letter-spacing:.06em; text-transform:lowercase; }

/* Слова-призраки за разделами — тем же шрифтом, что и заголовки */
.mo-ghost span{ font-family:var(--headline) !important; font-weight:600; letter-spacing:-.04em; }

@media (max-width:640px){
  h1{ letter-spacing:-.025em; }
  h2{ font-size:clamp(22px, 6.4vw, 28px); line-height:1.12; }
}

/* Узкие телефоны: логотип в Unbounded шире прежнего — ужимаем, чтобы шапка с бургером влезала */
@media (max-width:420px){
  .logo, .logo *, .logo .logo-name, .logo .logo-brand{ font-size:13.5px !important; letter-spacing:-.03em; }
  .logo{ min-width:0; white-space:nowrap; }
  /* длинные надписи на кнопках переносятся, а не выталкивают страницу вбок */
  main .btn{ white-space:normal; text-align:center; line-height:1.25; }
}
@media (max-width:350px){
  .logo, .logo *, .logo .logo-name, .logo .logo-brand{ font-size:12px !important; }
}

/* Широкий шрифт заявлений: длинное слово («конфиденциальности») переносится,
   только если иначе не влезает в строку. Обычные заголовки это не трогает. */
h1, h2{ overflow-wrap:break-word; }
@media (max-width:420px){
  .doc-head h1, .doc h1, main > .c > h1{ font-size:clamp(22px, 7vw, 30px); }
}
