/* «Превью дизайнов»: раскладка по образцу главной sberbank.ru (см. reference/sber/MECHANIC.md).
   Палитра 9 «Лес и мёд». Все цвета — переменные ниже, палитру меняем только здесь. */
:root {
  --c-main: #1f3d2b;      /* основной тёмный */
  --c-main-2: #2c5440;    /* основной при наведении */
  --c-accent: #f0b429;    /* акцент: кнопки, кольца */
  --c-accent-2: #f6c955;
  --g1: #e3efe3; --g2: #f6f7f1; --g3: #fcefd2;   /* переливающийся фон */
  --ink: #16241b; --muted: #5f6b63; --line: #e3e6e1;
  /* старые имена переменных site.css — чтобы внутренние страницы взяли ту же палитру */
  --navy: var(--c-main); --yellow: var(--c-accent); --yellow-2: var(--c-accent-2); --bg: #f2f4f0;
  /* числа образца */
  --r-xl: 32px; --r: 24px; --r-md: 16px; --r-sm: 12px;
  --ease: cubic-bezier(.4, 0, .2, 1);
}

/* фон всей страницы: градиент 45°, 220%, переливается за 6 с (как у образца) */
body.sber { background: var(--g2); }
.bg-flow { position: fixed; inset: 0; z-index: -1; background: linear-gradient(45deg, var(--g1), var(--g2), var(--g3)) 0 0 / 220% 220%;
  animation: bg-flow 6s ease infinite alternate; }
@keyframes bg-flow { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) { .bg-flow { animation: none; } }

.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ── шапка: плавающая белая «таблетка» по центру ── */
.sh { position: sticky; top: 0; z-index: 50; padding: 8px 10px 0; display: flex; justify-content: center; }
.sh__bar { display: flex; align-items: center; gap: 4px; padding: 4px; background: #fff; border-radius: 17px;
  box-shadow: 0 8px 28px rgba(22, 36, 27, .08); max-width: 100%; }
.sh__logo { display: flex; align-items: center; gap: 8px; padding: 0 12px 0 4px; height: 42px; font-weight: 800; font-size: 15px; white-space: nowrap;
  text-transform: uppercase; letter-spacing: .02em; color: var(--ink); }
.sh__logo img { width: 34px; height: 34px; }
.sh__tabs { display: flex; gap: 2px; padding: 3px; background: var(--bg); border-radius: 13px; overflow-x: auto; scrollbar-width: none; }
.sh__tabs::-webkit-scrollbar { display: none; }
.sh__tabs a { display: flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 10px; font-weight: 600; font-size: 14px; white-space: nowrap;
  color: var(--ink); transition: background-color .2s ease, color .2s ease; }
.sh__tabs a:hover { background: #fff; }
.sh__tabs a.is-active { background: var(--c-main); color: #fff; }
.sh__more { position: relative; }
.sh__iconbtn { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 13px; background: transparent; cursor: pointer; }
.sh__iconbtn:hover, .sh__iconbtn[aria-expanded="true"] { background: var(--bg); }
.sh__dots { display: flex; gap: 3px; } .sh__dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--ink); }
/* всплывающее меню: opacity 0→1 и scale .9→1 за .3 с (как у образца) */
.sh__pop { position: absolute; top: calc(100% + 10px); right: -8px; width: 260px; display: flex; flex-direction: column; gap: 2px; padding: 12px;
  background: #fff; border-radius: 20px; box-shadow: 0 15px 39px rgba(0, 0, 0, .12);
  opacity: 0; visibility: hidden; transform: scale(.9); transform-origin: top right; transition: opacity .3s ease, transform .3s ease, visibility .3s ease; }
.sh__pop.is-open { opacity: 1; visibility: visible; transform: scale(1); }
.sh__pop a { padding: 10px 12px; border-radius: 12px; font-weight: 600; }
.sh__pop a:hover, .sh__pop a.is-active { background: var(--bg); }
.sh__search { margin-top: 6px; }
.sh__search input:not([type]) , .sh__search input { padding: 10px 12px; border-radius: 12px; }
.sh__cta { display: flex; align-items: center; height: 42px; padding: 0 18px; border-radius: 13px; background: var(--c-accent); color: var(--ink);
  font-weight: 800; font-size: 14px; white-space: nowrap; transition: background-color .2s ease; }
.sh__cta:hover { background: var(--c-accent-2); }

/* общие кнопки и акценты в палитре */
.sber .btn { background: var(--c-accent); color: var(--ink); border-radius: var(--r-sm); }
.sber .btn:hover { background: var(--c-accent-2); }
.sber .btn--dark, .sber .poll .btn, .sber .cta .btn, .sber .searchbar .btn { background: var(--c-main); color: #fff; }
.sber .btn--dark:hover { background: var(--c-main-2); }
.sber .tile, .sber .card, .sber .offer, .sber .box, .sber .layout > article, .sber .narrow > article, .sber .pagehead__box { border-radius: var(--r); }
.sber .footer { display: none; }

/* ── главная ── */
.sm { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.sm-sec { padding-top: 56px; }
.sm-h2 { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.25; font-weight: 800; margin: 0 0 20px; }
.sm-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.sm-head a { font-weight: 700; color: var(--c-main); white-space: nowrap; }

/* тизер: заголовок, слева карточка с градиентом и плашкой, справа фото */
.teaser { padding-top: 36px; }
.teaser h1 { font-size: clamp(30px, 3.8vw, 48px); line-height: 1.12; max-width: 900px; margin: 0 auto 22px; text-align: center; text-wrap: balance; }
.teaser h1 .h-line { display: inline-block; text-wrap: balance; }
.teaser__blocks { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; min-height: 360px; }
.teaser__left { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 16px; border-radius: var(--r);
  background: linear-gradient(150deg, var(--g1) 13%, #fafafa 90%); transition: transform .3s var(--ease); }
.teaser__left:hover { transform: translateY(-2px); }
.teaser__tag { display: block; padding: 20px 22px; border-radius: var(--r-md); background: var(--c-main); color: #fff; font-size: clamp(20px, 2vw, 26px); font-weight: 800; line-height: 1.25; }
.teaser__tag small { display: block; margin-top: 10px; font-size: 15px; font-weight: 500; line-height: 1.45; color: rgba(255,255,255,.78); }
.teaser__facts { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0 6px; }
.teaser__facts li { background: #fff; border-radius: var(--r-sm); padding: 10px 14px; font-size: 13px; color: var(--muted); }
.teaser__facts b { display: block; font-size: 18px; color: var(--ink); }
.teaser__more { padding: 0 6px 6px; font-weight: 800; color: var(--c-main); }
.teaser__right { border-radius: var(--r); overflow: hidden; background: var(--c-main); }
.teaser__right img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ряд «историй»: круглые превью предложений */
.stories { display: flex; gap: 20px; margin-top: 24px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 6px; }
.stories::-webkit-scrollbar { display: none; }
.story { flex: 0 0 auto; width: 104px; text-align: center; font-size: 13px; font-weight: 600; line-height: 1.3; }
.story__ring { display: block; width: 88px; height: 88px; margin: 0 auto 8px; padding: 3px; border-radius: 50%; border: 3px solid var(--c-accent); transition: transform .3s var(--ease); }
.story:hover .story__ring { transform: scale(1.06); }
.story__ring img, .story__ring span { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--c-main); color: #fff; font-size: 30px; }

/* «Что нового»: первая карточка крупная, ещё четыре */
.news { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: auto auto; gap: 12px; list-style: none; margin: 0; padding: 0; }
.news li:first-child { grid-row: span 2; }
.nw { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--r); overflow: hidden; transition: box-shadow .3s ease; }
.nw:hover { box-shadow: 0 14px 34px rgba(22,36,27,.10); }
.nw img, .nw__ph { display: block; width: 100%; height: 150px; object-fit: cover; background: var(--g1); }
.news li:first-child .nw img, .news li:first-child .nw__ph { height: 100%; min-height: 300px; flex: 1; }
.nw__body { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 16px 18px 18px; }
.nw__body h3 { font-size: 16px; line-height: 1.35; font-weight: 700; }
.news li:first-child .nw__body h3 { font-size: 22px; }
.nw__date { display: block; color: var(--muted); font-size: 12px; margin-bottom: 4px; font-weight: 500; }
.nw__arrow { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--bg); transition: background-color .2s ease; }
.nw:hover .nw__arrow { background: var(--c-accent); }

/* «В быстром доступе»: сетка 8 плиток */
.quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.qc { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 168px; padding: 20px; background: #fff; border-radius: var(--r);
  transition: transform .3s var(--ease), box-shadow .3s ease; }
.qc:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(22,36,27,.10); }
.qc__icon svg { width: 56px; height: 56px; }
.qc h3 { font-size: 17px; line-height: 1.3; font-weight: 700; }

/* инструменты: калькулятор + три плитки */
.tools { display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.tool { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; padding: 22px; background: #fff; border-radius: var(--r); transition: box-shadow .3s ease; }
a.tool:hover { box-shadow: 0 14px 34px rgba(22,36,27,.10); }
.tool h3 { font-size: 20px; font-weight: 800; }
.tool p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.tool__big { font-size: 28px; font-weight: 800; color: var(--c-main); }
.tool--calc { grid-row: span 2; background: #fff; }
.tool--calc .calc { box-shadow: none; padding: 0; border-radius: 0; }
.tool--dark { background: var(--c-main); color: #fff; }
.tool--dark p { color: rgba(255,255,255,.75); }
.tool--dark .tool__big { color: var(--c-accent); }
.tool--accent { background: var(--c-accent); }
.tool--accent p { color: var(--ink); opacity: .75; }
.sber .calc input[type=range] { accent-color: var(--c-main); }
.sber .calc__result { background: var(--bg); }
.sber .calc input.calc__num[type="text"]:focus { border-color: var(--c-accent); }

/* доверие: 4 карточки */
.trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tr { padding: 24px; background: #fff; border-radius: var(--r); }
.tr b { display: block; font-size: 30px; font-weight: 800; color: var(--c-main); margin-bottom: 18px; }
.tr h3 { font-size: 17px; font-weight: 700; }
.tr p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }

/* как работаем: шаги */
.steps4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; counter-reset: s; }
.steps4 li { counter-increment: s; padding: 22px; border-radius: var(--r); background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.8); }
.steps4 li::before { content: counter(s); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--c-main); color: #fff; font-weight: 800; margin-bottom: 18px; }
.steps4 h3 { font-size: 17px; font-weight: 700; } .steps4 p { margin: 6px 0 0; font-size: 14px; color: var(--muted); }

.sm-poll { max-width: 620px; margin: 0 auto; }

/* ── подвал: светлая часть с вопросами и тёмная ── */
.sf { margin-top: 72px; }
.sf__wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.sf__light { position: relative; z-index: 1; background: #fff; border-radius: var(--r-xl) var(--r-xl) 0 0; box-shadow: 5px 0 55px rgba(0,0,0,.08); padding: 40px 0; }
.sf__lightrow { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.sf__title { font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; }
.sf__lead { margin: 6px 0 0; color: var(--muted); }
.sf__asks { display: flex; gap: 10px; flex-wrap: wrap; }
.sf__ask { display: flex; flex-direction: column; min-width: 180px; padding: 14px 18px; border-radius: var(--r-md); background: var(--bg); transition: background-color .2s ease; }
.sf__ask:first-child { background: var(--c-accent); }
.sf__ask:hover { background: var(--g1); } .sf__ask:first-child:hover { background: var(--c-accent-2); }
.sf__ask b { font-size: 16px; } .sf__ask span { font-size: 13px; color: var(--muted); }
.sf__ask:first-child span { color: var(--ink); opacity: .7; }
.sf__dark { background: #141d17; background: color-mix(in srgb, var(--c-main) 35%, #0e1210); color: rgba(255,255,255,.7); padding: 56px 0 24px; margin-top: -32px; padding-top: 88px; font-size: 15px; }
.sf__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.sf__grid a, .sf__grid span { display: block; margin: 6px 0; }
.sf__grid a:hover { color: #fff; }
.sf h4 { color: #fff; margin: 0 0 12px; font-size: 16px; }
.sf__brand p { margin: 12px 0; }
.sh__logo--dark { color: #fff; padding-left: 0; }
.sf__legal { border-top: 1px solid rgba(255,255,255,.12); margin-top: 36px; padding-top: 18px; font-size: 13px; }
.sf__legal p { margin: 0 0 4px; } .sf__legal a { text-decoration: underline; }

/* ── 1024: планшет ── */
@media (max-width: 1100px) {
  .sh__logo span { display: none; }
  .teaser__blocks { grid-template-columns: 1fr 1fr; }
  .news { grid-template-columns: 1fr 1fr; }
  .news li:first-child { grid-column: span 2; grid-row: auto; }
  .news li:first-child .nw img, .news li:first-child .nw__ph { min-height: 260px; max-height: 320px; }
  .quick, .trust, .steps4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .tool--calc { grid-column: span 2; grid-row: auto; }
  .sf__grid { grid-template-columns: 1fr 1fr; }
}
/* ── 768 и меньше: телефон ── */
@media (max-width: 767px) {
  .sh { padding: 4px 6px 0; }
  .sh__bar { width: 100%; }
  .sh__logo { padding: 0 2px; }
  .sh__tabs { flex: 1; min-width: 0; }
  .sh__tabs a { padding: 0 10px; font-size: 13px; }
  .sh__tab-wide { display: none !important; }
  .sh__cta { padding: 0 12px; font-size: 13px; }
  .teaser { padding-top: 20px; }
  .teaser__blocks { grid-template-columns: 1fr; min-height: 0; }
  .teaser__right { order: -1; height: 210px; }
  .stories { gap: 12px; margin-top: 18px; }
  .story { width: 84px; font-size: 12px; } .story__ring { width: 72px; height: 72px; }
  .news, .tools { grid-template-columns: 1fr; }
  .news li:first-child { grid-column: auto; }
  .news li:first-child .nw img, .news li:first-child .nw__ph { min-height: 200px; max-height: 220px; }
  .quick { gap: 10px; } .qc { min-height: 140px; padding: 16px; } .qc h3 { font-size: 15px; } .qc__icon svg { width: 46px; height: 46px; }
  .tool--calc { grid-column: auto; }
  .trust, .steps4 { grid-template-columns: 1fr; }
  .sm-sec { padding-top: 44px; }
  .sm-head { flex-direction: column; gap: 0; } .sm-head a { margin: -10px 0 16px; }
  .sf__light { padding: 28px 0; border-radius: var(--r) var(--r) 0 0; }
  .sf__ask { flex: 1 1 100%; }
  .sf__grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 380px) { .sh__tabs a { padding: 0 8px; font-size: 12px; } }
.sf__grid a.sh__logo { display: flex; margin: 0; }
@media (max-width: 767px) {
  .sh__bar { gap: 2px; }
  .sh__tabs { padding: 2px; }
  .sh__tabs a { padding: 0 8px; font-size: 12.5px; height: 34px; }
  .sh__iconbtn { width: 34px; }
  .tool { min-height: 0; gap: 8px; }
  .trust { grid-template-columns: 1fr 1fr; } .tr { padding: 18px; } .tr b { font-size: 22px; margin-bottom: 10px; } .tr p { font-size: 13px; }
}
@media (max-width: 767px) {
  .sh__logo { padding: 0; } .sh__logo img { width: 30px; height: 30px; }
  .sh__cta { padding: 0 10px; font-size: 12.5px; height: 38px; }
  .sh__tabs a { padding: 0 7px; }
}

/* окно про cookie: снизу слева, появление .3 с как у всплывашек */
.ck { position: fixed; left: 16px; bottom: 16px; z-index: 60; max-width: 520px; padding: 18px 20px; background: #fff; border-radius: 20px;
  box-shadow: 0 15px 39px rgba(0, 0, 0, .16); font-size: 14px; line-height: 1.5;
  opacity: 0; transform: translateY(12px); transition: opacity .3s ease, transform .3s ease; }
.ck.is-open { opacity: 1; transform: none; }
.ck p { margin: 0 0 14px; }
.ck a { color: var(--c-main); text-decoration: underline; }
.ck__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.ck button { border: 0; border-radius: 12px; padding: 11px 18px; font: 700 14px/1.2 var(--font); cursor: pointer; }
.ck__all { background: var(--c-main); color: #fff; } .ck__all:hover { background: var(--c-main-2); }
.ck__min { background: var(--bg); color: var(--ink); } .ck__min:hover { background: var(--g1); }
@media (max-width: 767px) { .ck { left: 8px; right: 8px; bottom: 8px; max-width: none; } .ck button { flex: 1; } }
@media (prefers-reduced-motion: reduce) { .ck { transition: none; } }
.sf__docs { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 10px !important; }
.sf__docs a, .sf__docs button { color: rgba(255,255,255,.7); text-decoration: underline; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.sf__docs a:hover, .sf__docs button:hover { color: #fff; }
/* ссылки в согласии под формами */
.form__row--check label a { text-decoration: underline; color: var(--c-main); }

/* Статья: отступ между заголовком и строкой с датой, чтобы буквы не налезали */
.sber .layout h1 { line-height: 1.12; }
.sber .layout h1 + .card__meta { margin: 18px 0 24px; font-size: 14px; }

/* Ползунки калькулятора: без рамки при нажатии мышью или пальцем, мягкая подсветка только при переходе с клавиатуры */
.sber .calc input[type=range] { -webkit-tap-highlight-color: transparent; }
.sber .calc input[type=range]:focus { outline: none; }
.sber .calc input[type=range]:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 4px; border-radius: 8px; }

/* Страница услуги: блок «Программы в этом разделе» / «Варианты» отделён от текста отступом и линией */
.sber .section-offers { margin-top: 64px; padding-top: 40px; border-top: 1px solid rgba(31, 61, 43, .14); }
.sber .section-offers .title-md { font-size: 28px; margin-bottom: 24px; }
@media (max-width: 640px) { .sber .section-offers { margin-top: 44px; padding-top: 28px; } .sber .section-offers .title-md { font-size: 24px; } }

/* Главная: плашки фактов занимают низ тизера ровным рядом по центру, без пустоты; заголовок быстрого доступа по центру */
.teaser__facts { flex: 1; align-items: center; justify-content: center; padding: 0; }
.teaser__facts li { flex: 1 1 0; min-width: 96px; text-align: center; padding: 14px 10px; }
.sm-head--center { justify-content: center; text-align: center; }
.teaser__facts b { white-space: nowrap; }
@media (max-width: 480px) { .teaser__facts { gap: 6px; } .teaser__facts li { min-width: 0; padding: 12px 6px; font-size: 12px; } .teaser__facts b { font-size: 16px; } }

/* ── Анимация кнопок заявки «Блик и волна»: раз в 10 с кольцо и полоса света одновременно ── */
.sh__cta, .sf__ask:first-child, .tool--accent { position: relative; isolation: isolate; overflow: hidden; animation: cta-wave 10s ease-out infinite; }
@keyframes cta-wave { 0% { box-shadow: 0 0 0 0 rgba(240,180,41,.7); } 17.5%, 100% { box-shadow: 0 0 0 12px rgba(240,180,41,0); } }
.sh__cta::after, .sf__ask:first-child::after, .tool--accent::after { content: ""; position: absolute; inset: -20% auto -20% 0; width: 40%; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent);
  transform: translateX(-160%) skewX(-18deg); animation: cta-shine 10s ease-in-out infinite; }
@keyframes cta-shine { 0% { transform: translateX(-160%) skewX(-18deg); } 14%, 100% { transform: translateX(380%) skewX(-18deg); } }
@media (prefers-reduced-motion: reduce) { .sh__cta, .sf__ask:first-child, .tool--accent { animation: none; }
  .sh__cta::after, .sf__ask:first-child::after, .tool--accent::after { display: none; } }

/* ── Анимация иконок «Всё важное — в быстром доступе»: волна по плиткам, раз в минуту ── */
.qc__icon { position: relative; display: inline-flex; align-self: flex-start; border-radius: 50%; line-height: 0; }
.qc:nth-child(8n+2) .qc__icon { --d: .4s; } .qc:nth-child(8n+3) .qc__icon { --d: .8s; } .qc:nth-child(8n+4) .qc__icon { --d: 1.2s; }
.qc:nth-child(8n+5) .qc__icon { --d: 1.6s; } .qc:nth-child(8n+6) .qc__icon { --d: 2s; } .qc:nth-child(8n+7) .qc__icon { --d: 2.4s; } .qc:nth-child(8n) .qc__icon { --d: 2.8s; }
.qc__icon { animation: qi-hop 60s ease-in-out infinite; animation-delay: var(--d, 0s); }
@keyframes qi-hop { 0%, 1.4%, 100% { transform: none; box-shadow: 0 0 0 0 rgba(240,180,41,0); }
  .5% { transform: translateY(-5px) scale(1.06); box-shadow: 0 0 0 4px rgba(240,180,41,.35); } 1% { transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .qc__icon { animation: none !important; } }
/* ── конец анимации иконок ── */

/* Главная: опрос рядом с калькулятором вместо четырёх плиток */
.tool--poll { grid-column: span 2; grid-row: span 2; padding: 0; background: none; }
.tool--poll .poll { height: 100%; margin: 0; padding: 28px; border-radius: var(--r); display: flex; flex-direction: column; justify-content: center; }
.tool--poll .poll__label { align-self: flex-start; }
@media (max-width: 1100px) { .tool--poll { grid-row: auto; } }
@media (max-width: 767px) { .tool--poll { grid-column: auto; } }

.sm-h2--center { text-align: center; }

/* Заголовок «Посчитайте и оставьте заявку» по центру над калькулятором */
.tools { grid-template-rows: auto 1fr 1fr; }
.tools__title { grid-column: 1; text-align: center; margin: 0 0 8px; }
.tool--calc { grid-row: 2 / span 2; }
.tool--poll { grid-column: 2 / span 2; grid-row: 2 / span 2; }
@media (max-width: 1100px) { .tools { grid-template-rows: auto; } .tools__title { grid-column: 1 / -1; } .tool--calc { grid-row: auto; } .tool--poll { grid-column: 1 / -1; grid-row: auto; } }
@media (max-width: 767px) { .tools__title, .tool--poll { grid-column: auto; } }
.sm-head--end { justify-content: flex-end; margin-bottom: 14px; }
.sber .layout h1 { margin-bottom: 24px; }
h1.section__title { font-size: clamp(26px, 3vw, 40px); line-height: 1.15; }

/* Подвал без колонки «Услуги» */
.sf__grid { grid-template-columns: 1.4fr 1fr 1fr; }
@media (max-width: 1100px) { .sf__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .sf__grid { grid-template-columns: 1fr; } }
