/* Стили страницы и блоков. Брейкпоинты: мобильный < 768, планшет 768–1279, десктоп ≥ 1280 */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body {
  margin: 0;
  background: var(--background-primary);
  color: var(--text-static-primary);
  font: var(--weight-regular) 16px/24px var(--font-universal);
  -webkit-font-smoothing: antialiased;
}
h1, h2, p { margin: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
[hidden] { display: none !important; }

.container {
  width: 100%;
  max-width: calc(var(--container-width) + 2 * var(--container-padding));
  margin: 0 auto;
  padding: 0 var(--container-padding);
}
.show-mobile { display: none; }
@media (max-width: 767px) {
  .show-mobile { display: inline; }
  .hide-mobile { display: none; }
}
/* вариант текста для десктопа (≥ 1280) и для мобильного с планшетом */
.show-desktop, .show-desktop-flex { display: none; }
@media (min-width: 1280px) {
  .show-desktop { display: inline; }
  .show-desktop-flex { display: flex; }
  .hide-desktop, .hide-desktop-flex { display: none; }
}

/* ---------- Кнопки ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 var(--dimension-300);
  border: 0; border-radius: var(--radius-s);
  font: var(--weight-regular) 14px/20px var(--font-universal);
  text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color .2s, color .2s;
}
.btn--inverse { background: var(--button-fill-inverse); color: var(--text-static-primary); }
.btn--inverse:hover { background: var(--button-fill-inverse-hover); }
.btn--primary { background: var(--button-fill-primary); color: var(--text-static-inverse); }
.btn--primary:hover { background: var(--button-fill-primary-hover); }
.btn--primary:disabled { background: var(--button-fill-primary-disabled); color: var(--text-static-inverse-disabled); cursor: default; }

/* ---------- Первый экран ---------- */
.page { position: relative; overflow: hidden; }
.page__hero-bg {
  /* фон первого экрана: мягкий градиент из макета, растягивается на ширину экрана;
     высота фиксирована, нижний край картинки уже совпадает с цветом страницы */
  position: absolute; left: 0; right: 0; top: 0;
  height: 1200px;
  background: var(--hero-mobile, none) center top / 100% 100% no-repeat;
  pointer-events: none;
}
/* Фирменная градиентная линия над шапкой (4px), картинка вырезана из макета */
.brand-line {
  position: relative; height: var(--dimension-50);
  background: url("../IMG/brand-line.png") 0 0 / 100% 100% no-repeat;
}
.head { position: relative; padding-top: var(--dimension-300); }
.head__logo { display: inline-block; vertical-align: top; }
.head__logo img { width: 93px; height: auto; }

.main-banner { position: relative; padding-top: var(--dimension-300); color: var(--text-static-inverse); }
.main-banner--dark { color: var(--text-static-primary); }
.main-banner--dark .main-banner__label { color: var(--text-static-secondary); }
.main-banner__content {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: var(--dimension-200);
  text-align: center;
}
/* Картинка первого экрана (бинокль). Мобильный и планшет: под кнопкой по центру,
   низ уходит под карточки преимуществ, как в макете */
.main-banner__image {
  display: block; flex: none; width: 187px; height: auto;
  margin-top: var(--dimension-300); margin-bottom: calc(-1 * var(--dimension-300));
  pointer-events: none; user-select: none;
}
.main-banner__text { display: flex; flex-direction: column; gap: var(--dimension-150); max-width: 343px; }
.main-banner__label { font: var(--weight-regular) 12px/16px var(--font-universal); }
.main-banner__title { font: var(--weight-bold) 20px/26px var(--font-universal); margin-top: calc(-1 * var(--dimension-25)); }
.main-banner__desc { font: var(--weight-regular) 16px/24px var(--font-universal); }

@media (min-width: 768px) {
  .page__hero-bg { height: 1100px; background-image: var(--hero-tablet, none); }
  .main-banner { padding-top: var(--dimension-500); }
  .main-banner__image { width: 281px; margin-top: calc(var(--dimension-300) + var(--dimension-50)); margin-bottom: calc(-1 * var(--dimension-150)); }
  .main-banner__text { max-width: 656px; }
}
@media (min-width: 1280px) {
  .page__hero-bg { height: 1400px; background-image: var(--hero-desktop, none); }
  .head { padding-top: var(--dimension-500); }
  .main-banner__content {
    min-height: 367px; padding-top: var(--dimension-700);
    align-items: flex-start; text-align: left; gap: var(--dimension-500);
  }
  .main-banner__text { max-width: 640px; gap: var(--dimension-150); }
  .main-banner__label { font-size: 14px; line-height: 18px; margin-bottom: calc(-1 * var(--dimension-50)); }
  .main-banner__title { font-size: 44px; line-height: 52px; margin-top: 0; }
  .main-banner__desc { font-size: 20px; line-height: 32px; }
  /* бинокль справа, правый край у края контента, низ под карточками преимуществ */
  .main-banner { padding-top: var(--dimension-300); }
  .main-banner__image { position: absolute; right: var(--dimension-150); top: var(--dimension-200); width: 374px; margin: 0; }
  .main-banner__btn { height: 56px; padding: 0 var(--dimension-400); border-radius: var(--radius-150); font-size: 18px; line-height: 28px; }
}
/* ---------- Контейнер блоков ---------- */
.blocks {
  position: relative;
  display: flex; flex-direction: column; gap: var(--blocks-gap);
  padding-bottom: var(--dimension-500);
}
@media (min-width: 1280px) { .blocks { padding-bottom: var(--dimension-1000); } }
.block { position: relative; scroll-margin-top: 16px; }
.block__title { text-align: center; }
@media (max-width: 1279px) {
  .block__title.t-title-s { font-size: 20px; line-height: 26px; }
}

/* Первый блок под первым экраном. Карточки преимуществ по макету стоят сразу под кнопкой и биноклем
   (бинокль уходит под них), любой другой блок отступает от первого экрана на обычный промежуток */
.block.is-first-plain { margin-top: var(--blocks-gap); }
/* если первым стоит не блок преимуществ, нижний срез картинки первого экрана плавно растворяется */
.main-banner--fade-image .main-banner__image {
  -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, #000 80%, transparent);
}

/* ---------- advantages ---------- */
.adv { display: grid; grid-template-columns: 1fr; gap: var(--dimension-150); }
.adv__card {
  display: flex; gap: var(--dimension-200); align-items: flex-start;
  padding: var(--dimension-300);
  border-radius: var(--radius-300);
  background: var(--container-static-inverse-soft);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.adv__icon { flex: none; width: 40px; height: 40px; object-fit: contain; }
.adv__text { display: flex; flex-direction: column; gap: var(--dimension-50); min-width: 0; }
.adv__title { font-size: 14px; line-height: 20px; }
.adv__desc { font: var(--weight-regular) 12px/16px var(--font-universal); }
.adv__desc a { color: var(--text-link); text-decoration: none; }
.block--advantages .block__title { margin-bottom: var(--dimension-300); }

@media (min-width: 768px) {
  .adv { grid-template-columns: repeat(2, 1fr); gap: var(--dimension-250); }
}
@media (min-width: 1280px) {
  .adv { grid-template-columns: repeat(var(--adv-count, 4), 1fr); gap: var(--dimension-400); }
  .adv__card { flex-direction: column; gap: var(--dimension-200); }
  .adv__icon { width: 80px; height: 80px; }
  .adv__title { font-size: 16px; line-height: 24px; }
}

/* ---------- Белая карточка (калькулятор, анкета) ---------- */
.card-white {
  display: flex; flex-direction: column; gap: var(--dimension-300);
  margin: 0 calc(-1 * var(--container-padding));
  padding: var(--dimension-400) var(--container-padding);
  border-radius: var(--radius-400);
  background: var(--container-static-inverse-primary);
}
@media (min-width: 1280px) {
  .card-white {
    width: 928px; max-width: 100%; margin: 0 auto;
    padding: var(--dimension-500) var(--dimension-1000);
    gap: var(--dimension-500);
  }
}
/* калькулятор + анкета подряд = одна карточка с разделителем */
.block.is-joined-prev { margin-top: calc(-1 * var(--blocks-gap)); }
.is-joined-next .card-white { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.is-joined-prev .card-white { border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 0; }
.is-joined-prev .card-white::before {
  content: ""; display: block; height: 1px; background: var(--divider);
  margin-bottom: var(--dimension-100);
}

/* ---------- Таги, переключатель, подсказка ---------- */
.tags { display: flex; flex-wrap: wrap; gap: var(--dimension-200); }
.tag {
  display: inline-flex; align-items: center; height: 28px; padding: 0 var(--dimension-150);
  border: 0; border-radius: var(--radius-circle);
  background: var(--choice-background-tertiary); color: var(--text-static-primary);
  font: var(--weight-regular) 14px/20px var(--font-universal);
  white-space: nowrap; cursor: pointer; transition: background-color .2s, color .2s;
}
.tag:hover { background: var(--choice-background-tertiary-hover); }
.tag.is-active { background: var(--choice-background-selected); color: var(--text-static-inverse); }

.switch-row { display: flex; align-items: center; gap: var(--dimension-150); }
.switch { display: inline-flex; align-items: center; gap: var(--dimension-150); cursor: pointer; }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch__track {
  position: relative; flex: none; width: 44px; height: 24px; padding: 2px;
  border-radius: var(--radius-circle); background: var(--choice-background-secondary); transition: background-color .2s;
}
.switch__point {
  display: block; width: 20px; height: 20px; border-radius: 50%;
  background: var(--container-static-inverse-primary); box-shadow: 0 1px 2px var(--divider); transition: transform .2s;
}
.switch input:checked + .switch__track { background: var(--choice-background-checked); }
.switch input:checked + .switch__track .switch__point { transform: translateX(20px); }
.switch input:focus-visible + .switch__track { outline: 2px solid var(--text-link); outline-offset: 2px; }

.tooltip {
  position: relative; display: inline-flex; flex: none; padding: 0; border: 0; background: none;
  color: var(--text-static-secondary); cursor: pointer;
}
.tooltip__data {
  position: absolute; z-index: 5; bottom: calc(100% + 8px); right: -8px;
  width: 260px; padding: var(--dimension-150);
  border-radius: var(--radius-s); background: var(--container-static-primary); color: var(--text-static-inverse);
  font: var(--weight-regular) 12px/16px var(--font-universal); text-align: left;
  opacity: 0; visibility: hidden; transition: opacity .15s;
}
.tooltip:hover .tooltip__data, .tooltip:focus .tooltip__data { opacity: 1; visibility: visible; }

/* ---------- deposit-calculator ---------- */
.calc { display: flex; flex-direction: column; gap: var(--dimension-300); }
.calc__settings { display: flex; flex-direction: column; gap: var(--dimension-300); min-width: 0; }
.calc__group { display: flex; flex-direction: column; gap: var(--dimension-150); }
.calc__label { color: var(--text-static-secondary); font-size: 12px; line-height: 14px; }
.calc__res-label { color: var(--text-static-secondary); }

.slider { display: flex; flex-direction: column; }
.slider__label { font-size: 12px; line-height: 16px; margin-bottom: var(--dimension-100); }
.slider__box { position: relative; }
.slider__input {
  width: 100%; height: 48px; padding: 0 var(--dimension-150);
  border: 0; border-radius: var(--radius-s); background: var(--input-primary);
  font-size: 16px; line-height: 24px; outline: none;
}
.slider__input:focus { box-shadow: inset 0 0 0 1px var(--choice-border); }
.slider__range {
  --fill: 100%;
  position: absolute; left: 0; right: 0; bottom: -6px; width: 100%; height: 12px; margin: 0;
  background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer;
}
.slider__range::-webkit-slider-runnable-track {
  height: 2px; border-radius: 2px;
  background: linear-gradient(var(--container-status-brand), var(--container-status-brand)) 0 0 / var(--fill) 100% no-repeat, var(--slider-track);
}
.slider__range::-moz-range-track { height: 2px; border-radius: 2px; background: var(--slider-track); }
.slider__range::-moz-range-progress { height: 2px; background: var(--container-status-brand); }
.slider__range::-webkit-slider-thumb {
  -webkit-appearance: none; width: 12px; height: 12px; margin-top: -5px;
  border: 0; border-radius: 50%; background: var(--container-status-brand);
}
.slider__range::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: var(--container-status-brand); }
.slider__limits {
  display: flex; justify-content: space-between; padding: var(--dimension-100) var(--dimension-100) 0;
  color: var(--text-static-secondary); font-size: 12px; line-height: 14px;
}

.slider__error { padding: var(--dimension-50) var(--dimension-100) 0; color: var(--container-status-brand); font-size: 12px; line-height: 16px; }
.slider__error[hidden] { display: none; }

.calc__result {
  display: grid; grid-template-columns: auto 1fr; gap: var(--dimension-200) var(--dimension-300);
  padding: var(--dimension-200);
  border-radius: var(--radius-300); background: var(--background-primary);
}
.calc__res { display: flex; flex-direction: column; gap: var(--dimension-100); min-width: 0; }
.calc__res--total, .calc__note { grid-column: 1 / -1; }
.calc__res-label { font-size: 12px; line-height: 16px; }
.calc__total { font: var(--weight-bold) 28px/36px var(--font-universal); white-space: nowrap; }
.calc__value { display: flex; align-items: flex-start; font: var(--weight-bold) 20px/26px var(--font-universal); white-space: nowrap; }
.calc__value--success { color: var(--text-status-success); }
.calc__value svg { flex: none; margin: -6px 0 0 2px; }
.calc__note { color: var(--text-static-secondary); font-size: 12px; line-height: 14px; }

@media (min-width: 768px) {
  .calc__result { grid-template-columns: auto auto 1fr; column-gap: var(--dimension-400); align-items: start; }
  .calc__res--total { grid-column: auto; }
  .calc__res:not(.calc__res--total) .calc__value { margin-top: 5px; }
}
@media (min-width: 1280px) {
  .calc { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: var(--dimension-400); }
  .calc__settings { width: 368px; }
  .calc__label { font-size: 14px; line-height: 18px; }
  .slider__label { line-height: 14px; margin-bottom: var(--dimension-50); }
  .slider__limits { padding-top: 6px; }
  .calc__settings .slider__input { height: 40px; font-size: 14px; line-height: 20px; }
  .calc__result {
    display: flex; flex-direction: column; gap: var(--dimension-300);
    width: 272px; flex: none; padding: var(--dimension-400);
  }
  .calc__res-label, .calc__note { font-size: 14px; line-height: 18px; }
  .calc__res:not(.calc__res--total) .calc__value { margin-top: 0; }
  .calc__value { font-size: 28px; line-height: 36px; }
  .calc__total { font-size: 36px; line-height: 44px; }
}

/* ---------- application-form ---------- */
/* сама форма — в iframe (заглушка form-stub.html со своими стилями css/form-stub.css) */
.form-frame { display: block; width: 100%; border: 0; background: var(--container-static-inverse-primary); }
@media (min-width: 1280px) {
  .block--application-form .card-white { gap: var(--dimension-400); }
}

/* ---------- rates-table ---------- */
.block--rates-table { display: flex; flex-direction: column; align-items: center; padding-top: var(--dimension-500); padding-bottom: var(--dimension-500); }
.block--rates-table .block__title { margin-bottom: var(--dimension-250); }
.tabs { display: flex; gap: var(--dimension-150); margin-bottom: var(--dimension-600); }
.tabs__tab {
  padding: 0 0 2px; border: 0; background: none; cursor: pointer;
  box-shadow: inset 0 -2px 0 transparent; transition: box-shadow .2s;
  font-size: 14px; line-height: 20px;
}
.tabs__tab.is-active { box-shadow: inset 0 -2px 0 var(--container-status-brand); }
.rates {
  width: calc(100% + 2 * var(--container-padding)); margin: 0 calc(-1 * var(--container-padding));
  padding: 0 var(--container-padding) var(--dimension-300);
  overflow-x: auto; scrollbar-width: none;
}
.rates::-webkit-scrollbar { display: none; }
/* индикатор горизонтальной прокрутки таблицы (как в макете): серая полоса и ползунок */
.rates__bar { position: relative; width: 100%; height: 2px; border-radius: 2px; background: var(--choice-background-tertiary); }
.rates__bar[hidden] { display: none; }
.rates__thumb { position: absolute; top: 0; left: 0; height: 100%; border-radius: 2px; background: var(--text-static-disabled); }
.rates__table { border-collapse: collapse; min-width: 100%; text-align: left; }
.rates__table th, .rates__table td { padding: var(--dimension-200) var(--dimension-200) 0 0; vertical-align: middle; font-weight: var(--weight-regular); }
.rates__table th:not(.rates__head), .rates__table td { min-width: 120px; }
.rates__table .rates__head { width: 136px; min-width: 136px; color: var(--text-static-secondary); }
.rates__table thead th { padding-top: 0; padding-bottom: var(--dimension-200); vertical-align: top; color: var(--text-static-secondary); border-bottom: 1px solid var(--divider); }
.rates__head a { color: var(--text-link); text-decoration: none; }
.rates__table td { font-size: 14px; line-height: 18px; }
@media (max-width: 1279px) {
  .rates__table tbody th, .rates__table td { vertical-align: top; }
}
@media (min-width: 1280px) {
  .rates__bar { display: none; }
  .rates { width: 928px; max-width: 100%; margin: 0; padding: 0; overflow: visible; }
  .rates__table { width: 100%; }
  .rates__table .rates__head { width: 200px; min-width: 200px; padding-right: var(--dimension-300); }
  .rates__table th:not(.rates__head), .rates__table td { min-width: 0; }
}

/* ---------- Подвал ---------- */
.footer {
  background: var(--background-secondary);
  border-radius: var(--radius-400) var(--radius-400) 0 0; padding: var(--dimension-500) 0;
  font-size: 14px; line-height: 20px;
}
.footer__inner { display: flex; flex-direction: column; }
.footer__muted { color: var(--text-static-secondary); }
.footer a { text-decoration: none; }
.footer a:hover { color: var(--container-status-brand); }
.footer__search {
  display: flex; align-items: center; gap: var(--dimension-150); height: 48px; padding: 0 var(--dimension-200);
  border-radius: var(--radius-s); background: var(--input-primary); color: var(--text-static-secondary);
}
.footer__search input { flex: 1; min-width: 0; border: 0; background: none; outline: none; color: var(--text-static-primary); font-size: 16px; line-height: 24px; }
.footer__search input::placeholder { color: var(--text-static-secondary); }

/* логотип, соцсети, языки: на мобильном и планшете друг под другом, на десктопе в одну строку */
.footer__row { display: flex; flex-direction: column; align-items: flex-start; gap: var(--dimension-500); padding: var(--dimension-600) 0 var(--dimension-500); }
.footer__brand { display: none; font: var(--weight-bold) 24px/32px var(--font-universal); letter-spacing: .02em; color: var(--text-static-disabled); }
.footer__social { display: flex; gap: var(--dimension-300); }
.footer__social a {
  display: flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  border-radius: var(--radius-s); background: var(--text-static-disabled); color: var(--text-static-inverse);
}
.footer__social a:hover { color: var(--text-static-inverse); background: var(--text-static-secondary); }
.footer__lang { display: flex; align-items: center; gap: var(--dimension-300); min-height: 40px; }
.footer__lang-item { display: inline-flex; align-items: center; gap: var(--dimension-150); color: var(--text-static-secondary); }
.footer__lang-item img { width: 24px; height: 24px; }

.footer__section { border-top: 1px solid var(--divider); padding: var(--dimension-300) 0; }
.footer__section:last-child { padding-bottom: 0; }
.footer__contacts { display: grid; grid-template-columns: 1fr; gap: var(--dimension-400) var(--dimension-300); }
.footer__contacts > div { display: flex; flex-direction: column; }
.footer__contacts .footer__muted { line-height: 18px; }

/* карта сайта: на мобильном аккордеон */
.footer__map { display: grid; grid-template-columns: 1fr; padding: var(--dimension-600) 0; }
.footer__group { order: var(--m-order, 0); }
.footer__group:not(.is-first-m) { border-top: 1px solid var(--divider); }
.footer__group.is-first-m summary { padding-top: 0; }
.footer__group.is-last-m:not([open]) summary { padding-bottom: 0; }
.footer__group summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--dimension-200); padding: var(--dimension-200) 0;
  list-style: none; cursor: pointer;
}
.footer__group summary::-webkit-details-marker { display: none; }
.footer__group summary svg { flex: none; width: 24px; height: 24px; margin: -2px 0; color: var(--text-static-secondary); transition: transform .2s; }
.footer__group[open] summary svg { transform: rotate(180deg); }
.footer__group ul { margin: 0; padding: 0 0 var(--dimension-200); list-style: none; display: flex; flex-direction: column; gap: var(--dimension-100); }
.footer__group ul a { color: var(--text-static-secondary); }

.footer__links-list { display: flex; flex-direction: column; gap: var(--dimension-400); font-size: 12px; line-height: 16px; }
.footer__links-list a { color: var(--text-static-secondary); }
.footer__links-list.show-desktop-flex { display: none; }
.footer__legal-wrap { display: flex; flex-direction: column; gap: var(--dimension-300); }
.footer__docs { display: grid; grid-template-columns: 1fr; gap: var(--dimension-400); }
.footer__doc-col { display: flex; flex-direction: column; gap: var(--dimension-400); }
.footer__docs a, .footer__legal { font-size: 12px; line-height: 16px; }
.footer__legal { max-width: 1120px; }

@media (min-width: 768px) {
  .footer__row { gap: var(--dimension-500); padding: var(--dimension-500) 0; }
  .footer__brand { display: block; }
  .footer__contacts { grid-template-columns: repeat(2, 1fr); }
  .footer__map { grid-template-columns: repeat(2, 1fr); gap: var(--dimension-600) var(--dimension-300); }
  .footer__group:not(.is-first-m) { border-top: 0; }
  .footer__group summary { padding: 0 0 var(--dimension-100); pointer-events: none; }
  .footer__group summary svg { display: none; }
  .footer__group ul { padding: 0; }
  .footer__links-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--dimension-400) var(--dimension-300); }
  .footer__docs { grid-template-columns: repeat(2, 1fr); column-gap: var(--dimension-300); }
  .footer__doc-col { gap: var(--dimension-200); }
}
@media (min-width: 1280px) {
  .footer__row {
    display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; column-gap: var(--dimension-300);
    padding: var(--dimension-600) 0;
  }
  .footer__lang { grid-column: 3 / -1; justify-self: end; }
  .footer__social a { background: var(--input-primary); color: var(--text-static-disabled); }
  .footer__social a:hover { color: var(--text-static-secondary); background: var(--choice-background-tertiary-hover); }
  .footer__contacts { grid-template-columns: repeat(4, 1fr); }
  .footer__map { grid-template-columns: repeat(4, 1fr); row-gap: var(--dimension-400); }
  .footer__group { order: 0; }
  .footer__links-list { grid-template-columns: repeat(4, 1fr); font-size: 14px; line-height: 20px; }
  .footer__links-list.show-desktop-flex { display: grid; }
  .footer__links-list.hide-desktop-flex { display: none; }
  .footer__docs { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Широкие экраны 1440–1920 ---------- */
/* Широкие экраны: фото крупнее и шире (отдельная картинка styleOptions.wideBackgroundImage),
   при 1440 совпадает с десктопной, к 1920 растет до ширины экрана */
@media (min-width: 1440px) {
  .page__hero-bg { background-image: var(--hero-wide, var(--hero-desktop, none)); }
  /* шапка, первый экран и карточки преимуществ расширяются: 1120 при 1440 → 1344 при 1920 */
  .head, .main-banner, .block--advantages {
    max-width: calc(min(1344px, 46.667vw + 448px) + 2 * var(--container-padding));
  }
  /* белая карточка 928 → 1108, таблица ставок 928 → 1176 (как в макете High PC 1920) */
  .card-white { width: min(1108px, 37.5vw + 388px); }
  .calc__settings { width: min(448px, 16.667vw + 128px); }
  .calc__result { width: min(344px, 15vw + 56px); }
  .rates { width: min(1176px, 51.667vw + 184px); }
}
