/* ═══════════════════════════════════════════════════════════════
   Bridge CA — theme.css
   Один слой поверх базы. Раньше это были пять файлов, и порядок их
   подключения на русских и английских страницах отличался — каскад
   мог давать разный результат. Здесь порядок зафиксирован.

   Работает и поверх styles.css (внутренние страницы, там нужен
   data-theme="dark"), и поверх night.css (главная и три новые):
   правила палитры привязаны к [data-theme], а подвал и форма — нет.

   Порядок частей менять нельзя.
   ═══════════════════════════════════════════════════════════════ */


/* ══════ skin-night.css ══════ */
/* ═══════════════════════════════════════════════════════════════
   Bridge CA — skin-night.css
   Ночная палитра v4 поверх боевой site/styles.css.
   Меняются только значения цвета. Разметка, раскладка и типографика
   страниц остаются прежними.
   Подключать после styles.css, на <html> нужен data-theme="dark".
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. Токены ─────────────────────────────────────────────── */

[data-theme="dark"] {
  --bg:      #07080C;   /* страница */
  --bg-elev: #0D0F16;   /* панель, карточка */
  --ink:     #F2F0EC;   /* заголовки и основной текст */
  --ink-2:   #B9BDC7;   /* абзацы */
  --ink-3:   #767C8B;   /* мета, подписи */
  --ink-4:   #4E5462;   /* самый тихий, декор */
  --line:    #1C1F2A;
  --line-2:  #2C3040;
  --paper:   #0D0F16;   /* поверхность карточек */

  --accent:     #F2F0EC;  /* монохромный акцент шёл «чернилами», в ночи это светлый */
  --accent-pop: #FF4F5E;  /* коралл вместо бирюзы */
}

/* ─── 2. Инвертированные блоки ──────────────────────────────────
   В светлой теме они красились чернилами по бумаге: background: var(--ink),
   color: var(--bg). Меняем значения токенов местами внутри самого блока —
   правила страниц при этом трогать не нужно. */

[data-theme="dark"] .section--ink,
[data-theme="dark"] .cta-section,
[data-theme="dark"] .cta-modal__panel,
[data-theme="dark"] .hero,
[data-theme="dark"] .ch-index,
[data-theme="dark"] .ch-nda,
[data-theme="dark"] .commercial-card.is-featured,
[data-theme="dark"] .application-modal {
  --ink:     #0D0F16;
  --bg:      #F2F0EC;
  --bg-elev: #141722;
  --paper:   #141722;
  --line:    #2C3040;
  --line-2:  #3A3F52;
}

/* ─── 3. Шрифты как на новых страницах ──────────────────────────
   Дисплейная гарнитура была Fraunces — переводим на Geist: вес 600,
   плотный трекинг, курсив в системе не используется. */

[data-theme="dark"] { --serif: 'Geist', system-ui, -apple-system, sans-serif; }

[data-theme="dark"] em,
[data-theme="dark"] i,
[data-theme="dark"] cite { font-style: normal; }

[data-theme="dark"] :is(
  h1, h2, h3, h4, h5, h6, .display, .display em, .s-head .lead,
  .hero h1, .hero-partner-note strong,
  .ch-hero__title, .ch-index__client, .ch-card__title, .ch-nda__text, .ch-cta__title,
  .bh__title, .post-card__title, .ah__title, .article-body h2, .pullquote p, .author__name,
  .pricing-hero h1, .commercial-card__title, .payment-flow__intro h2,
  .cta-grid h2, .cta-modal h3, .cta-success h3, .footer .word,
  .contact-name, .application-modal h3,
  .benefit-table .b-title, .prog-table .col-focus,
  .industry-section__head h2
) {
  font-weight: 600;
  letter-spacing: -.038em;
  font-variation-settings: normal;
}

/* крупные заголовки идут ещё плотнее и с низкой интерлиньяжной высотой */
[data-theme="dark"] :is(
  .display, .hero h1, .ch-hero__title, .bh__title, .ah__title,
  .pricing-hero h1, .cta-grid h2, .ch-cta__title
) {
  letter-spacing: -.045em;
  line-height: .95;
}

/* цифры — моноширинные, как в полосах фактов на новых страницах */
[data-theme="dark"] :is(
  .hero-stamp .k, .cred-num, .benefit-table .b-num, .prog-table .col-week .n,
  .ch-index__metric strong, .ch-card__metric-n, .commercial-card__price,
  .total__num, .access__stat .n, .ladder__row .lv, .gmt__val
) {
  font-family: var(--mono);
  font-weight: 500;
  letter-spacing: -.03em;
}

/* ─── 4. Точечные правки под новый акцент ───────────────────── */

/* на коралле белый текст блёклый — берём цвет страницы */
[data-theme="dark"] .btn--accent { color: #07080C; }

/* текущий пункт шапки */
[data-theme="dark"] .nav-links a[aria-current="page"] { color: var(--accent-pop); }

/* поля ввода на тёмном: подложка чуть светлее фона */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select { color: var(--ink); }

/* фейковые скриншоты продуктов в кейсах остаются светлыми:
   это снимки интерфейса, а не поверхность страницы */

/* ─── 5. Метка мокапа ───────────────────────────────────────── */

.mock-flag {
  position: fixed; left: 0; bottom: 0; z-index: 99;
  background: #FF4F5E; color: #07080C;
  font-family: var(--mono); font-size: 10px; letter-spacing: .14em;
  text-transform: uppercase; padding: 7px 12px; font-weight: 600;
}

/* ══════ v11-pages.css ══════ */
/* ═══════════════════════════════════════════════════════════════
   Bridge CA — v1.1, добор для внутренних страниц.
   skin-night.css перекрашивает боевые страницы в ночную палитру,
   но собирался под набор страниц v4 — карточек кейсов там не было.
   Здесь дописаны только те блоки, которые скин не знает.
   Подключать ПОСЛЕ skin-night.css. Разметка и контент не трогаются.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Инвертированные блоки страниц кейсов ──────────────────────
   Правила страниц красят их как «чернила по бумаге»
   (background: var(--ink)). Меняем значения токенов внутри блока,
   как это делает skin-night.css для .section--ink и .cta-section. */

[data-theme="dark"] .band,
[data-theme="dark"] .cta__btn,
[data-theme="dark"] .brand--sap-box,
[data-theme="dark"] .brand--ey-box {
  --ink: #0D0F16;
  --bg:  #F2F0EC;
}

/* .band задаёт текст напрямую белым по «чернилам» — в ночи фон уже
   тёмный, поэтому белый текст остаётся читаемым, но подложку
   поднимаем до цвета панели, чтобы блок не сливался со страницей. */
[data-theme="dark"] .band { background: #0D0F16; }
[data-theme="dark"] .band + .band { border-top: 1px solid #1C1F2A; }

/* Кнопка-призыв в кейсах: коралловая плашка вместо чернильной */
[data-theme="dark"] .cta__btn {
  background: #FF4F5E;
  color: #07080C;
  border-color: #FF4F5E;
}
[data-theme="dark"] .cta__btn:hover {
  background: #ff6b78;
  border-color: #ff6b78;
  color: #07080C;
}

/* Тонкая линейка внутри карточек DCA — на тёмном должна быть коралловой */
[data-theme="dark"] .slide-card__rule { background: #FF4F5E; }

/* Логотипные плашки в кейсе hh.ru: на тёмном оставляем контурными */
[data-theme="dark"] .brand--sap-box,
[data-theme="dark"] .brand--ey-box {
  background: #0D0F16;
  border: 1px solid #2C3040;
}

/* ─── Блоки с жёстко прошитым белым фоном ───────────────────────
   В светлой теме это белая карточка с тёмным текстом. Скин цвет
   #fff перебить не может — он записан значением, а не токеном.
   Поэтому переводим такие блоки в тёмную панель: иначе .client и
   .lw-brand дают светлый текст по белому, то есть пустое место. */

[data-theme="dark"] .client,
[data-theme="dark"] .lw-brand {
  background: #0D0F16;
  border-color: #2C3040;
}
[data-theme="dark"] .client:hover { border-color: #FF4F5E; }

/* Рамки вокруг слайдов и скриншотов: сама картинка остаётся как есть,
   тёмной делаем только подложку и поля вокруг неё. */
[data-theme="dark"] .breakaway__frame,
[data-theme="dark"] .inline-deck__item {
  background: #0D0F16;
  border-color: #2C3040;
  box-shadow: none;
}
[data-theme="dark"] .inline-deck__img { background: #141722; }

/* ─── Документы и слайды внутри кейсов ──────────────────────────
   Эти поверхности лежат внутри инвертированных секций, где токен
   --ink становится тёмным. Раньше они были кремовыми и тёмный текст
   на них читался. После перевода подложек в тёмное текст совпал с
   фоном (контраст 1.00). Восстанавливаем ночную палитру внутри. */

[data-theme="dark"] :is(
  .slide-card, .ed-spread, .hero__img, .hero__scene,
  .breakaway__frame, .inline-deck__item, .doc, .deck
) {
  --ink:    #F2F0EC;
  --ink-2:  #B9BDC7;
  --ink-3:  #8F96A5;
  --ink-4:  #767C8B;
  --bg:     #0D0F16;
  --paper:  #0D0F16;
  --line:   #1C1F2A;
  --line-2: #2C3040;
  color: #F2F0EC;
}

/* мелкие номера и метки на документах шли самым тихим токеном —
   на тёмном это 2.5:1, поднимаем до читаемого */
[data-theme="dark"] :is(
  .inline-deck__no, .slide-card__module-no, .slide-card__no,
  .ed-spread__no, .doc__no
) { color: #8F96A5; }

/* ══════ v11-night.css ══════ */
/* ═══════════════════════════════════════════════════════════════
   Bridge CA — v1.1, язык night.css для внутренних страниц.
   skin-night.css менял только палитру, поэтому страницы оставались
   на Fraunces со скруглениями и тенями. Здесь доводим их до
   визуального языка v4: гротеск вместо засечек, острые углы,
   hairline-границы, моно для данных.
   Разметка и контент страниц не трогаются.
   Подключать ПОСЛЕ skin-night.css и v11-pages.css.
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. Шрифт ──────────────────────────────────────────────────
   Все 50 правил styles.css и инлайновые стили страниц ссылаются на
   токен --serif. Подменяем сам токен — засечки исчезают везде разом,
   включая блоки внутри <style> самих страниц. */

[data-theme="dark"] {
  --serif: 'Geist', system-ui, -apple-system, sans-serif;
}

/* курсив в этой системе не используется — только вес, цвет, плашка */
[data-theme="dark"] em,
[data-theme="dark"] i { font-style: normal; }

/* ─── 2. Дисплейная типографика ─────────────────────────────────
   У Fraunces вес 320–340 читался как нормальный. У гротеска это
   тонко, поэтому дисплейным элементам возвращаем вес и трекинг v4. */

[data-theme="dark"] :is(
  h1, h2, h3, h4, h5, h6,
  .display, .lead, .word,
  .bh__title, .post-card__title,
  .hero-stamp .k, .stat .big, .cost-total, .cost-save span,
  .math-outcome .n, .hscroll .card .big, .hscroll .card h4,
  .case-row .logo, .case-row .metric .n,
  .company-row__abbr, .vision-avatar, .vision .body,
  .commercial-card__title, .commercial-card__price,
  .pricing-card__title, .pricing-card__price,
  .pricing-tab-card__title, .pricing-tab-card__price,
  .pricing-showcase__title, .pricing-showcase__price,
  .capital-pillar h4, .capital-pillar .out, .capital-step .sn, .capital-stat .k,
  .bizdev-side-title, .bizdev-result-value, .bizdev-step strong,
  .scnh-utp-n, .scnh-track-name, .scnh-step-cost, .scnh-chart-saving-n,
  .fee-chip strong, .stage h4, .ai-cell h5, .team-card h5,
  .legal-modal__title, .cred-num, .band__title, .art__title
) {
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: -0.035em;
}

/* крупные заголовки страниц — плотнее, как .h1 / .lead в night.css */
[data-theme="dark"] :is(h1, .display, .bh__title, .pricing-hero h1, .hero h1) {
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.96;
}

/* ─── 3. Цифры и данные — моноширинный ──────────────────────────
   В v4 всё, что «показания приборов», набрано JetBrains Mono. */

[data-theme="dark"] :is(
  .hero-stamp .k, .stat .big, .cost-total, .math-outcome .n,
  .hscroll .card .big, .case-row .metric .n, .capital-stat .k,
  .scnh-utp-n, .scnh-step-cost, .scnh-chart-saving-n,
  .commercial-card__price, .pricing-card__price,
  .pricing-tab-card__price, .pricing-showcase__price,
  .cred-num, .bizdev-result-value
) {
  font-family: var(--mono);
  font-weight: 500;
  letter-spacing: -0.04em;
}

/* ─── 4. Острые углы ────────────────────────────────────────────
   В v4 скруглений нет. Исключение — аватары людей: они круглые
   и на текущем сайте, и на главной v1.1. */

[data-theme="dark"] * { border-radius: 0 !important; }
[data-theme="dark"] :is(
  .team-card-photo, .post-card__author img, .vision-avatar,
  .author__img, .person-ava, .cred-partner img
) { border-radius: 50% !important; }

/* ─── 5. Тени ───────────────────────────────────────────────────
   Глубина в v4 задаётся линией и подложкой, а не размытием. */

[data-theme="dark"] * { box-shadow: none !important; }

/* ─── 6. Границы и подложки ─────────────────────────────────────
   Возвращаем hairline вместо толстых рамок. */

[data-theme="dark"] :is(.card, .commercial-card, .pricing-card, .post-card, .client, .cell) {
  border-width: 1px;
}

/* ─── 7. Кнопки ─────────────────────────────────────────────────
   Прямоугольник, тонкая рамка, коралловая заливка у главной. */

[data-theme="dark"] .btn {
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  border-width: 1px;
}
[data-theme="dark"] .btn--accent {
  background: var(--accent-pop);
  border-color: var(--accent-pop);
  color: #07080C;
  font-weight: 600;
}
[data-theme="dark"] .btn--accent:hover {
  background: #ff6b78;
  border-color: #ff6b78;
  color: #07080C;
}

/* ─── 8. Надзаголовки ───────────────────────────────────────────
   Моно, широкий трекинг, верхний регистр — как .eyebrow в night.css. */

[data-theme="dark"] :is(.h-eyebrow, .bh__eyebrow, .tag, .post-card__more) {
  font-family: var(--mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ─── 9. Логотипы-картинки ──────────────────────────────────────
   bridge-mark.svg залит #0A1A2F, логотип Astana Hub — тёмно-серый.
   Это SVG, подключённые через <img>, поэтому перекрасить их
   селектором нельзя — выводим в белый фильтром. */

[data-theme="dark"] .brand .glyph,
[data-theme="dark"] .cred-partner img,
[data-theme="dark"] .hero-partner-lockup img,
[data-theme="dark"] img[src*="bridge-mark"],
[data-theme="dark"] img[src*="astanahub-logo"] {
  filter: brightness(0) invert(1);
  opacity: .92;
}

/* акцентная плашка партнёра в шапке Base Camp — коралловая рамка */
[data-theme="dark"] .hero-partner-note { border-left-color: var(--accent-pop); }

/* ─── 10. Шапка: один вид на всех страницах ─────────────────────
   На боевых страницах подпись у логотипа была свёрстана инлайновыми
   стилями и отличалась от главной. Приводим к метрикам night.css. */

[data-theme="dark"] .brand-sub {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-3);
  font-weight: 400;
  margin-left: 9px;
}
[data-theme="dark"] .brand .glyph { width: 24px; height: 24px; }
[data-theme="dark"] .nav-links a[aria-current="page"] { color: var(--accent-pop); }

/* ─── 11. Юридические страницы ──────────────────────────────────
   Полотно договора лежало на полупрозрачной белой карточке
   (rgba(255,255,255,.5)) — на тёмном она даёт средне-серый, и весь
   текст на ней сливается: контраст падал до 1.91. Делаем панель
   тёмной, рамку видимой, ссылки — коралловыми вместо браузерных. */

[data-theme="dark"] .legal-page article {
  background: #0D0F16;
  border-color: #2C3040;
}
[data-theme="dark"] .legal-page a { color: var(--accent-pop); }
[data-theme="dark"] .legal-page :is(th, td) { border-color: #2C3040; }
[data-theme="dark"] .legal-page thead th { color: var(--ink); }
[data-theme="dark"] .legal-page hr { border-color: #2C3040; }

/* ══════ v11-foot.css ══════ */
/* ═══════════════════════════════════════════════════════════════
   Bridge CA — v1.1, единый подвал.
   Один и тот же подвал на всех страницах мокапа. Часть страниц
   работает на night.css, часть — на боевом styles.css со скином,
   а имена токенов у них разные (--ink2 против --ink-2). Поэтому
   здесь всё задано значениями, без опоры на токены.
   ═══════════════════════════════════════════════════════════════ */

.foot {
  border-top: 1px solid #1C1F2A;
  padding: clamp(44px, 5vw, 72px) 0 32px;
  background: #0D0F16;
  color: #F2F0EC;
  font-family: 'Geist', system-ui, -apple-system, sans-serif;
}
.foot .wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 56px);
}
.foot-grid { display: grid; gap: clamp(28px, 4vw, 56px); }
@media (min-width: 860px) { .foot-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }

.foot h5 {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #767C8B;
  font-weight: 500;
  margin: 0 0 16px;
}
.foot-links { display: grid; gap: 10px; }
.foot-links a, .foot-links span { font-size: 14px; color: #B9BDC7; text-decoration: none; }
.foot-links a:hover { color: #FF4F5E; }

.foot-brand {
  font-size: clamp(30px, 3.4vw, 44px);
  letter-spacing: -.045em;
  font-weight: 600;
  line-height: 1;
  color: #F2F0EC;
}
.foot-brand span { color: #FF4F5E; }
.foot .p { font-size: 13.5px; line-height: 1.6; color: #B9BDC7; max-width: 34ch; margin: 14px 0 0; }
.foot-entity {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  color: #4E5462;
  margin: 16px 0 0;
  letter-spacing: .04em;
}

.foot-social { display: flex; gap: 8px; margin-top: 18px; }
.foot-social a {
  width: 34px; height: 34px;
  border: 1px solid #2C3040;
  display: grid;
  place-items: center;
  color: #767C8B;
  transition: color .2s, border-color .2s;
}
.foot-social a:hover { color: #FF4F5E; border-color: #FF4F5E; }

.foot-pay {
  margin-top: clamp(32px, 4vw, 52px);
  padding-top: 26px;
  border-top: 1px solid #1C1F2A;
  display: grid;
  gap: 20px;
  align-items: center;
}
@media (min-width: 860px) { .foot-pay { grid-template-columns: 1fr auto; } }
.foot-pay p { font-size: 12.5px; color: #B9BDC7; line-height: 1.55; max-width: 62ch; margin: 8px 0 0; }
.pay-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.pay-badge {
  border: 1px solid #2C3040;
  padding: 8px 12px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .12em;
  color: #B9BDC7;
}

.foot-bottom {
  margin-top: clamp(36px, 4vw, 56px);
  padding-top: 22px;
  border-top: 1px solid #1C1F2A;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  justify-content: space-between;
  align-items: center;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .08em;
  color: #767C8B;
}
.foot-legal { display: flex; gap: 8px 18px; flex-wrap: wrap; }
.foot-legal a { color: #767C8B; text-decoration: none; }
.foot-legal a:hover { color: #FF4F5E; }

/* ─── Знак в шапке ──────────────────────────────────────────────
   Встроенный SVG без атрибутов размера схлопывается в 0×0, если его
   не задать стилем. Правило было привязано к [data-theme="dark"],
   а страницы на night.css этого атрибута не имеют — знак пропадал.
   Здесь размер задан без условий, поэтому работает везде. */

.nav .brand .glyph { width: 24px; height: 24px; flex: 0 0 24px; }

/* ══════ v11-modal.css ══════ */
/* ═══════════════════════════════════════════════════════════════
   Bridge CA — v1.1, форма заявки в модальном окне.
   Открывается по клику на CTA, без перехода на другую страницу.
   Значения заданы явно: страницы работают на двух разных наборах
   токенов (night.css и боевой styles.css со скином).
   ═══════════════════════════════════════════════════════════════ */

.mdl {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 48px);
}
.mdl.is-open { display: flex; }

.mdl-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 8, 12, .82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 0;
  padding: 0;
  cursor: pointer;
}

.mdl-panel {
  position: relative;
  width: min(560px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  background: #0D0F16;
  border: 1px solid #2C3040;
  padding: clamp(24px, 3.4vw, 40px);
  font-family: 'Geist', system-ui, -apple-system, sans-serif;
  color: #F2F0EC;
}

.mdl-close {
  position: absolute;
  top: 12px; right: 12px;
  width: 34px; height: 34px;
  background: none;
  border: 1px solid #2C3040;
  color: #B9BDC7;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: color .2s, border-color .2s;
}
.mdl-close:hover { color: #FF4F5E; border-color: #FF4F5E; }

.mdl-eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #767C8B;
  margin: 0;
}
.mdl-panel h3 {
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.04;
  margin: 14px 0 10px;
  color: #F2F0EC;
}
.mdl-lead { font-size: 14px; line-height: 1.55; color: #B9BDC7; margin: 0 0 24px; }

.mdl-form { display: grid; gap: 14px; }
.mdl-field { display: grid; gap: 7px; }
.mdl-field label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #767C8B;
}
.mdl-field label span { color: #FF4F5E; }
.mdl-field input,
.mdl-field select,
.mdl-field textarea {
  font-family: inherit;
  font-size: 15px;
  color: #F2F0EC;
  background: #141722;
  border: 1px solid #2C3040;
  border-radius: 0;
  padding: 13px 14px;
  width: 100%;
  transition: border-color .2s;
}
.mdl-field input:focus,
.mdl-field select:focus,
.mdl-field textarea:focus { outline: none; border-color: #FF4F5E; }
.mdl-field textarea { resize: vertical; min-height: 88px; }
.mdl-field input::placeholder,
.mdl-field textarea::placeholder { color: #4E5462; }

.mdl-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: #FF4F5E;
  border: 1px solid #FF4F5E;
  border-radius: 0;
  color: #07080C;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  padding: 14px 20px;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.mdl-submit:hover { background: #ff6b78; border-color: #ff6b78; }

.mdl-foot { font-size: 12px; color: #767C8B; line-height: 1.5; margin: 0; }

.mdl-done { text-align: left; }
.mdl-done .mdl-tick {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 34px;
  color: #FF4F5E;
  line-height: 1;
}

.mdl-err {
  font-size: 13px;
  color: #FF4F5E;
  border-left: 2px solid #FF4F5E;
  padding-left: 12px;
  margin: 0;
}
.mdl-submit[disabled] { opacity: .6; cursor: default; }
.mdl-foot a { color: #B9BDC7; }
.mdl-foot a:hover { color: #FF4F5E; }

/* ══════ Поля ввода ══════
   Формы страниц набирались светлым по чернильной подложке:
   color: var(--bg). В ночной теме --bg — это почти чёрный, и текст,
   который человек печатает, совпадал с фоном. Задаём цвет явно. */

.cta-form input, .cta-form select, .cta-form textarea,
.application-form input, .application-form select, .application-form textarea,
.pricing-form input, .pricing-form select, .pricing-form textarea,
.field input, .field select, .field textarea,
form input[type="text"], form input[type="email"], form input[type="tel"],
form input[type="number"], form select, form textarea {
  color: #F2F0EC;
  -webkit-text-fill-color: #F2F0EC;
  caret-color: #FF4F5E;
}
.cta-form input::placeholder, .cta-form textarea::placeholder,
.field input::placeholder, .field textarea::placeholder,
form input::placeholder, form textarea::placeholder {
  color: #767C8B;
  -webkit-text-fill-color: #767C8B;
}
/* выпадающие списки: системное меню рисуется цветом фона элемента */
select option { background: #0D0F16; color: #F2F0EC; }

/* автозаполнение браузера подставляет свой белый фон */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #F2F0EC;
  -webkit-box-shadow: 0 0 0 1000px #141722 inset;
  caret-color: #FF4F5E;
}

/* ══════ Переключатель языка ══════ */

.nav-actions .lang-link {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .1em;
  color: #767C8B;
  text-decoration: none;
  padding: 8px 10px;
  border: 1px solid #2C3040;
  order: 2;
  transition: color .2s, border-color .2s;
}
.nav-actions .lang-link:hover { color: #F2F0EC; border-color: #767C8B; }

/* ══════ Первый экран на телефоне ══════
   Повторяем решение прежней версии: ролику отводится полоса
   фиксированной высоты сверху, а текст начинается под ней. Это не
   отступ — сфера показывается целиком, кадр отдалён, и заголовок
   её не перекрывает. */

@media (max-width: 860px) {
  .hero:has(> .hero-vid) {
    --band: min(46svh, 380px);
    min-height: 0;
    padding: 0 0 56px;
  }
  .hero > .hero-vid,
  .hero > .hero-scrim,
  .hero > .grain { height: var(--band); bottom: auto; }

  .hero-vid { width: 100vw; left: 0; right: auto; }
  .hero-vid video { object-position: 60% 45%; }

  .hero > .hero-scrim {
    background: linear-gradient(180deg,
      rgba(7, 8, 12, .42) 0%,
      rgba(7, 8, 12, .08) 32%,
      rgba(7, 8, 12, .48) 76%,
      #07080C 100%);
  }
  .hero > .grain { opacity: .22; }

  .hero:has(> .hero-vid) > .wrap { padding-top: calc(var(--band) + 22px); }
  .hero .h1 { font-size: clamp(38px, 11vw, 60px); }
}

}

/* ══════ Портрет партнёра на странице инвестиций ══════
   Общий рецепт кадра в night.css глушит фото: серость .44 и
   яркость .62 — так снимок города читается как фон. Для портрета
   это лишнее, лицо уходит в темноту. Показываем как есть. */

.stripe-media .ph > img[src*="partner-ap"],
.stripe-media .ph > img[alt*="Попов"],
.stripe-media .ph > img[alt*="Popov"] {
  filter: contrast(1.04) saturate(1.02);
  transform: none;
}
.stripe-media .ph:has(> img[src*="partner-ap"]) .ph-wash {
  background: linear-gradient(180deg, rgba(7,8,12,0) 0%, rgba(7,8,12,.18) 62%, rgba(7,8,12,.55) 100%);
}


/* ══════ Мобильное меню ══════
   Кнопка-бургер потерялась при сведении шапок, а обработчика для
   неё на статических страницах не было вовсе — на телефоне меню
   не открывалось ничем. */

@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; }
  .nav-links { display: none; }
  .nav-links.is-open,
  .nav-links.nav-links--mobile-open { display: flex; flex-direction: column; }
}
