/* Modern lightweight theme overrides */
:root {
    --color-primary: #0f3d66;
    --color-primary-dark: #0a2f51;
    --color-primary-light: #1f5a8f;
    --color-accent: #1f7ad6;
    --color-text: #162434;
    --color-text-light: #5f6f81;
    --color-bg: #ffffff;
    --color-bg-light: #eef3f9;
    --color-border: #d9e3ef;

    --font-primary: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-heading: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 24px;
    /* Кнопки: слегка скруглённые углы (не «таблетка») */
    --radius-btn: 10px;
    --color-accent-hover: #155fa8;
    /* Горизонтальные отступы кнопок = Bootstrap px-3 (1rem) */
    --btn-padding-x: 1rem;
    /* Герой: уже горизонтальные поля у кнопок */
    --hero-btn-padding-x: clamp(0.65rem, 1.35vw, 0.8rem);
    /* Шрифт навигации в шапке (десктоп) — совпадает с кнопкой «Оставить заявку» */
    --header-nav-font-size: clamp(0.8125rem, 0.25vw + 0.76rem, 1rem);
    --header-nav-letter-spacing: 0.01em;
    /* Узже, чем --btn-padding-x, чтобы пункты меню стояли компактнее */
    --header-nav-link-padding-x: clamp(0.35rem, 0.65vw, 0.55rem);
    /* Одна высота для иконки почты и кнопки в блоке контактов шапки */
    --header-contact-height: 34px;

    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;

    /* Эталон: блок «Проблема» — отступ под заголовком и под лидом */
    --section-heading-margin-bottom: clamp(1rem, 1.6vw, 1.4rem);
    --section-subtitle-margin-bottom: clamp(0.8rem, 1.2vw, 1.1rem);

    /*
     * Высота шапки для отступов: .header__inner даёт padding сверху/снизу + логотип 63px (main.css),
     * min-height 86px не ограничивает сверху — блок реально ~100px+. Плюс зазор под скругление снизу.
     */
    /* +1.5rem — запас под скругление и реальную высоту строки шапки */
    --header-bar-height: max(7rem, calc(63px + var(--spacing-md) * 2 + 1.5rem));
    /* Доп. опускание контента героя от нижнего края меню (~×3 к прежнему зазору) */
    --hero-header-clearance: clamp(3.45rem, 8.4vw, 5.55rem);
    /* Якоря: запас под шапку + небольшой зазор */
    --anchor-scroll-margin: calc(var(--header-bar-height) + 0.85rem);

}

html {
    scroll-padding-top: var(--anchor-scroll-margin);
    overflow-x: hidden;
    max-width: 100%;
}

/* Ширина и отступы .container — Bootstrap Grid (main.php) */

body {
    background: var(--color-bg);
    font-family: var(--font-primary);
    overflow-x: hidden;
    max-width: 100%;
}

/* Пропуск навигации: видна только при фокусе с клавиатуры */
.skip-link {
    position: absolute;
    left: 0.5rem;
    top: 0;
    z-index: 10001;
    padding: 0.6rem 1rem;
    background: #ffffff;
    color: var(--color-primary);
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none;
    border-radius: var(--radius-md);
    border: 2px solid var(--color-primary);
    box-shadow: 0 4px 20px rgba(15, 61, 102, 0.12);
    transform: translateY(-150%);
    transition: transform 0.18s ease;
}

.skip-link:focus {
    transform: translateY(0.65rem);
    outline: 2px solid rgba(255, 122, 47, 0.45);
    outline-offset: 2px;
}

#main-content:focus {
    outline: none;
}

/* Контент не уезжает под fixed header; исключение — герой (см. ниже) */
main.main {
    padding-top: var(--header-bar-height);
}

/* Герой первым: фон и градиент заходят под шапку — иначе у закруглений снизу виден белый body */
main.main:has(> .hero:first-child) {
    padding-top: 0;
}

main.main > .hero:first-child {
    margin-top: calc(-1 * var(--header-bar-height));
    padding-top: calc(var(--header-bar-height) + var(--hero-top-space) + var(--hero-header-clearance));
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.02em;
    font-weight: 500;
}

.section {
    padding: clamp(2.8rem, 4.8vw, 4.6rem) 0;
}

/* Единый стиль всех заголовков секций (h2.section__title) */
.section__title {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    font-weight: 500;
    line-height: 1.18;
    color: var(--color-text);
}

.section__title strong {
    font-weight: 500;
}

.section__subtitle {
    font-size: clamp(1rem, 1.8vw, 1.3rem);
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
}

/* Единый ритм заголовков секций (ниже hero): как у блока «Проблема» */
.section__header {
    margin-bottom: var(--section-heading-margin-bottom);
    text-align: center;
}

.section__header .section__title {
    margin-bottom: 0;
}

.section:not(.section--hero) > .container > .section__title:first-child {
    margin-bottom: var(--section-heading-margin-bottom);
}

/* Юридические страницы: ширина как у .container, текст и заголовки слева */
.legal-page .legal-page__hero .legal-page__title {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

.legal-page__prose {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.legal-page__prose h2 {
    text-align: left;
    margin-top: clamp(1.35rem, 2.5vw, 1.85rem);
    margin-bottom: 0.65rem;
    font-size: clamp(1.15rem, 2vw, 1.35rem);
    font-weight: 600;
    color: var(--color-text);
}

.legal-page__prose h2:first-child {
    margin-top: 0;
}

.legal-page__prose p,
.legal-page__prose ul {
    text-align: left;
}

.legal-page__prose ul {
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}

.header {
    /* fixed + transform для скрытия при скролле вниз; sticky ломал translateY(-100%) */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 1000;
    isolation: isolate;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: saturate(120%) blur(14px);
    border: none;
    box-shadow: none;
    border-radius: 0;
    transition: transform var(--transition-base);
}

.header__inner {
    /* Согласовано с --header-bar-height: логотип 63px + padding по --spacing-md */
    min-height: calc(63px + var(--spacing-md) * 2);
}

/* Фиксированный блок под логотип — ширина/высота шапки не «гуляет» при загрузке img */
.header__logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 144px;
    min-width: 144px;
    max-width: 144px;
    height: 63px;
    min-height: 63px;
    max-height: 63px;
    overflow: hidden;
}

.header__logo-img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: left center;
}

.nav__link {
    font-weight: 400;
    color: #2a3c52;
}

.nav__link--active {
    color: var(--color-text);
}

.header__phone {
    font-weight: 500;
}

.header__icon-mail {
    width: var(--header-contact-height);
    height: var(--header-contact-height);
    box-sizing: border-box;
    border-color: rgba(15, 61, 102, 0.18);
    color: var(--color-primary);
    border-radius: var(--radius-btn);
}

@media (min-width: 992px) {
    /* Дублируем main.css: контакты для drawer только в мобильном меню; иначе два блока в потоке шапки */
    .header__drawer-contacts {
        display: none;
    }

    .header__nav .nav__link {
        font-size: var(--header-nav-font-size);
        letter-spacing: var(--header-nav-letter-spacing);
        padding: 0.42rem var(--header-nav-link-padding-x);
        border-radius: var(--radius-btn);
    }

    .header__nav .nav__link--active {
        background: rgba(22, 36, 52, 0.08);
        color: var(--color-text);
    }

    .header__nav .nav__link:not(.nav__link--active):hover {
        background: rgba(22, 36, 52, 0.05);
        color: var(--color-text);
    }
}

.header .header__cta,
.header .header__drawer-cta {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--header-nav-font-size);
    letter-spacing: var(--header-nav-letter-spacing);
    font-weight: 500;
    line-height: 1.2;
    border-radius: var(--radius-btn);
}

/* Десктоп: та же высота, что у квадрата email */
@media (min-width: 992px) {
    .header .header__cta {
        min-height: var(--header-contact-height);
        height: var(--header-contact-height);
        padding: 0 var(--btn-padding-x);
    }
}

/* Мобильное меню: комфортная зона нажатия */
.header .header__drawer-cta {
    min-height: 44px;
    height: auto;
    padding: 0.45rem var(--btn-padding-x);
}

.header .btn,
.header .btn:hover:not(:disabled),
.header .btn:focus-visible:not(:disabled) {
    box-shadow: none;
    transform: none;
}

.header .btn--primary:hover:not(:disabled) {
    background: var(--color-accent-hover);
    border-color: transparent;
}

.btn {
    border-radius: var(--radius-btn);
    box-shadow: none;
    font-weight: 500;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    border-width: 1px;
    padding-inline: var(--btn-padding-x);
}

.btn--primary {
    background: var(--color-accent);
    border-color: transparent;
    color: #ffffff;
}

.btn--primary:hover:not(:disabled) {
    background: var(--color-accent-hover);
    border-color: transparent;
    color: #ffffff;
}

.btn--outline {
    color: var(--color-primary);
    border-color: rgba(15, 61, 102, 0.22);
    background: #ffffff;
}

.btn--large {
    padding-inline: var(--btn-padding-x);
}

.hero {
    --hero-top-space: clamp(3.5rem, 4.4vh, 5rem);
    --hero-bottom-space: clamp(6.5rem, 12vh, 10rem);
    min-height: auto;
    padding-top: var(--hero-top-space);
    padding-bottom: var(--hero-bottom-space);
    overflow: hidden;
    background:
        radial-gradient(ellipse 85% 55% at 88% 18%, rgba(255, 122, 47, 0.22), transparent 52%),
        radial-gradient(circle at 22% 48%, rgba(255, 255, 255, 0.09) 0%, transparent 48%),
        linear-gradient(135deg, var(--color-primary) 0%, #0c3355 52%, var(--color-primary-dark) 100%);
}

/* padding-top для первого героя задаётся в main.main > .hero:first-child (высота шапки + отступ) */

.hero__inner {
    min-height: auto;
    align-items: center;
    align-content: center;
    gap: clamp(1rem, 3.8vw, 2.8rem);
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
}

.hero__title {
    width: min(100%, 940px);
    display: flex;
    flex-direction: column;
    gap: 0.06em;
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0 0 0.45rem;
}

.hero__title-line {
    display: block;
}

.hero__title-line--main {
    font-size: clamp(2rem, 5.15vw, 4.5rem);
    line-height: 1.02;
    white-space: nowrap;
    color: #f5f8ff;
}

.hero__title-line--display {
    font-size: clamp(2.4rem, 8.8vw, 6.8rem);
    line-height: 0.93;
    letter-spacing: 0.045em;
    color: rgba(236, 243, 255, 0.66);
}

.hero__subtitle {
    margin: 0 0 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.055em;
    display: flex;
    flex-direction: column;
    gap: 0.18em;
    font-size: clamp(0.9rem, 1.8vw, 1.45rem);
    line-height: 1.06;
    color: rgba(255, 255, 255, 0.92);
}

.hero__subtitle-line {
    display: block;
}

.hero__subtitle-line--accent {
    font-weight: 600;
    font-size: clamp(1.7rem, 6.3vw, 4.8rem);
    line-height: 0.9;
    letter-spacing: 0.04em;
    color: #fff;
}

/* Hero: лид (только текст, без стилей кнопок) */
.hero__description {
    margin: clamp(1.15rem, 2.4vh, 2rem) 0 0;
    max-width: 54ch;
    font-family: var(--font-primary);
    font-size: clamp(0.98rem, 1.5vw, 1.2rem);
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0.01em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.92);
}

.hero__image {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    min-height: clamp(220px, 40vh, 540px);
    min-width: 0;
    overflow: hidden;
}

@media (min-width: 992px) {
    /* Фура может заходить на текстовую колонку; хвост не режем overflow’ом */
    .hero {
        overflow: visible;
    }

    .hero > .container {
        overflow: visible;
    }

    .hero__inner {
        /* Больше доля колонки под машину */
        grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
        overflow: visible;
    }

    .hero__content {
        position: relative;
        z-index: 2;
    }

    .hero__image {
        min-height: clamp(280px, 48vh, 720px);
        overflow: visible;
        position: relative;
        z-index: 1;
        /* заезд под текст слева — виден зад грузовика */
        margin-left: clamp(-10rem, -16vw, -3.5rem);
        justify-content: flex-end;
    }
}

.hero__image img,
.hero__truck-image {
    border-radius: 0;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    transform: none;
    margin: 0;
    object-fit: contain;
}

.hero__scroll-down {
    display: flex;
    width: 44px;
    height: 44px;
    bottom: max(0.85rem, env(safe-area-inset-bottom));
    background: rgba(9, 35, 61, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.34);
}

/* Hero: блок кнопок (отдельно от .hero__description) */
.hero__actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-top: clamp(2.25rem, 4.5vh, 3.5rem);
    /* Сброс max-width из main.css — иначе длинный текст ломается на 2 строки */
    max-width: 100%;
}

.hero__actions .btn {
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
    width: auto;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 0.65rem var(--hero-btn-padding-x);
    font-family: var(--font-primary);
    font-size: clamp(0.9rem, 1.1vw, 1.05rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.02em;
    text-transform: none;
    border-radius: var(--radius-btn);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: none;
}

/* Вторичная кнопка героя: белая плашка + тёмный текст (как в референсе) */
.hero .btn--outline {
    color: var(--color-text);
    border: 1px solid transparent;
    background: #ffffff;
    box-shadow: none;
}

.hero .btn--outline:hover:not(:disabled) {
    background: #f0f2f5;
    color: var(--color-text);
    border-color: transparent;
}

.hero .btn--primary {
    color: #ffffff;
    border: 1px solid transparent;
    background: var(--color-accent);
    box-shadow: none;
}

.hero .btn--primary:hover:not(:disabled) {
    background: var(--color-accent-hover);
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .hero .hero__truck-image {
        width: auto;
        /* планшет: без удвоения — иначе перегруз */
        max-width: min(1240px, 144%);
        transform: translateX(7%);
    }
}

/* Десктоп: крупная картинка + сдвиг влево (меньше translateX — не прятать зад фуры) */
@media (min-width: 992px) {
    .hero .hero__truck-image {
        width: auto;
        max-width: min(2480px, 288%);
        transform: translateX(-2%);
    }
}

@media (min-width: 1200px) {
    .hero .hero__truck-image {
        max-width: min(2800px, 300%);
        transform: translateX(0%);
    }
}

.section--why-us .why-us-card,
.section--partners-types .partner-type-card,
.section--news .news-item,
.audience-card,
.benefit-card {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(14, 51, 84, 0.08);
    border-radius: var(--radius-xl);
    box-shadow: none;
}

/* «Нам доверяют»: фон полосы как у блока «Почему Автомедиафасад» */
.section--trust {
    padding-block: clamp(2.6rem, 4.2vw, 4rem);
    background: linear-gradient(180deg, #f6f8fc 0%, #eef2f7 55%, #f6f8fc 100%);
    scroll-margin-top: var(--anchor-scroll-margin);
}

/* Карточка кейса + логотипы: как why-us-card (белая плита на градиенте) */
.section--trust .testimonial-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(18, 49, 78, 0.1);
    border-radius: 24px;
    box-shadow: none;
}

.section--trust .testimonial-card__partners {
    margin-top: var(--spacing-xl);
    padding-top: var(--spacing-xl);
    border-top: 1px solid rgba(18, 49, 78, 0.1);
}

.section--trust .testimonial-card__partners .partners-grid {
    margin: 0;
    gap: var(--spacing-lg);
}

/* Кейс: подписи и бейдж — чёрный текст, подписи отдельными строками */
.section--trust .testimonial-card__label {
    display: block;
    width: 100%;
    color: #141414;
}

/* Вся правая колонка (кейс + цитата + подпись) по вертикали по центру относительно фото */
.section--trust .testimonial-card__aside {
    gap: 0.35rem;
    justify-content: center;
}

.section--trust .testimonial-card__case-lead {
    color: #141414;
    line-height: 1.28;
}

/* Без flex:1 у цитаты — иначе она разъезжается от заголовка; внутри блока текст сверху */
.section--trust .testimonial-card__quote--hero {
    flex: 0 1 auto;
    justify-content: flex-start;
}

.section--trust .testimonial-card__kpi-badge {
    color: #141414;
}

/* Цитата: без заливки, без вертикальной полосы — только типографика */
.section--trust .testimonial-card__quote {
    background: transparent;
    padding: 0.15rem 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

.section--trust .testimonial-card__quote blockquote {
    margin: 0;
    font-style: normal;
    font-weight: 400;
    color: var(--color-text);
    line-height: 1.58;
}

.section--trust .testimonial-card__quote blockquote p {
    margin: 0 0 0.85rem;
    font-style: normal;
}

.section--trust .testimonial-card__quote blockquote p:last-of-type {
    margin-bottom: 0;
}

.section--trust .testimonial-card__quote cite {
    margin-top: 0.85rem;
    color: var(--color-text-light);
    font-size: clamp(0.8125rem, 0.9vw, 0.875rem);
}

.audience-card,
.benefit-card,
.partner-type-card,
.testimonial-card,
.news-item,
.contact-card {
    overflow: hidden;
}

.why-us-card:hover,
.benefit-card:hover,
.partner-type-card:hover,
.testimonial-card:hover,
.news-item:hover {
    transform: none;
    border-color: rgba(14, 51, 84, 0.08);
    box-shadow: none;
}

/* «Нам доверяют» (отдельная страница): белая подложка под логотипами */
.section--partners {
    background: var(--color-bg);
}

.section--partners .partner-logo {
    min-height: clamp(140px, 16vw, 180px);
    padding: clamp(1.2rem, 2.4vw, 2rem);
    background-color: var(--color-bg);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.section--partners .partner-logo img {
    max-height: clamp(96px, 11vw, 128px);
    max-width: min(100%, 280px);
    width: auto;
}

/* «4 шага»: скругление как у крупных карточек; текст тёмный, от левого края */
.section--process .process-step {
    border-radius: var(--radius-xl);
    align-items: flex-start;
    text-align: left;
}

.section--process .process-step__number {
    margin: 0 0 var(--spacing-md) 0;
}

.section--process .process-step--final .process-step__number {
    background-color: var(--color-accent);
    color: var(--color-secondary);
}

.section--process .process-step__title {
    color: #141414;
    text-align: left;
    width: 100%;
}

.section--process .process-step__description {
    color: #141414;
    text-align: left;
    width: 100%;
    margin-top: var(--spacing-md);
}

.section--process .section__header .section__subtitle {
    margin-top: 0.45rem;
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .section--process .process-steps {
        gap: 0.75rem;
        margin: 1rem 0 0;
    }

    .section--process .process-step {
        padding: 0.85rem 0.9rem;
        border-radius: var(--radius-lg);
    }

    .section--process .process-step__number {
        width: 44px;
        height: 44px;
        font-size: clamp(1.15rem, 4.5vw, 1.35rem);
        margin-bottom: 0.5rem;
    }

    .section--process .process-step__title {
        font-size: clamp(1rem, 4vw, 1.1rem);
        line-height: 1.25;
    }

    .section--process .process-step__description {
        margin-top: 0.45rem;
        padding-top: 0;
        font-size: clamp(0.875rem, 3.6vw, 0.95rem);
        line-height: 1.45;
    }

    .section--process .section__header .section__subtitle {
        font-size: clamp(0.9rem, 3.5vw, 0.98rem);
        line-height: 1.45;
        margin-top: 0.35rem;
    }
}

/* Reveal контента секций при скролле (assets/js/main.js — initSectionScrollReveal) */
.section > .container.section-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.55s ease-out, transform 0.55s ease-out;
}

.section > .container.section-reveal--visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .section > .container.section-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.btn--primary:hover,
.btn--outline:hover,
.btn--primary:hover:not(:disabled),
.btn--outline:hover:not(:disabled) {
    transform: none;
    box-shadow: none;
}

.hero .btn--primary:hover,
.hero .btn--outline:hover,
.hero .btn--primary:hover:not(:disabled),
.hero .btn--outline:hover:not(:disabled) {
    transform: none !important;
    box-shadow: none !important;
}

/* Почему Автомедиафасад */
.section--why-us {
    padding-block: clamp(2.6rem, 4.2vw, 4rem);
    background: #ffffff;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--why-us .section__header .section__title {
    color: #000000;
}

.section--why-us .why-us-swiper {
    overflow: hidden;
    max-width: 100%;
    margin-inline: auto;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 2.35rem;
}

.section--why-us .why-us-swiper .swiper-slide {
    display: flex;
    height: auto;
    box-sizing: border-box;
}

.section--why-us .why-us-swiper .swiper-slide > .why-us-card {
    width: 100%;
    min-height: 100%;
}

.section--why-us .why-us-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(18, 49, 78, 0.1);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: none;
}

.section--why-us .why-us-card__image {
    aspect-ratio: 16 / 10;
    min-height: 180px;
    overflow: hidden;
}

.section--why-us .why-us-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section--why-us .why-us-card--graphic .why-us-card__image {
    background: #eef2f7;
}

.section--why-us .why-us-card--graphic .why-us-card__image img {
    object-fit: contain;
    object-position: center;
}

.section--why-us .why-us-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.95rem;
    padding: clamp(1.05rem, 1.5vw, 1.35rem);
}

.section--why-us .why-us-card__title {
    margin: 0;
    font-size: clamp(1.05rem, 1.1vw, 1.28rem);
    line-height: 1.2;
    color: #000000;
}

.section--why-us .why-us-card__description {
    margin: 0;
    padding: 0;
    font-size: clamp(0.94rem, 0.98vw, 1.05rem);
    line-height: 1.54;
    color: #000000;
}

.section--why-us .why-us-card__sizes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: auto;
    padding: 0;
}

.section--why-us .size-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.45rem 0.5rem;
    border-radius: 10px;
    border: 1px solid rgba(14, 59, 98, 0.24);
    background: #174973;
    color: #f3f8ff;
    font-size: clamp(0.86rem, 0.92vw, 0.95rem);
    line-height: 1.2;
    text-align: center;
}

.section--why-us .size-item:last-child {
    grid-column: 1 / -1;
}

.section--why-us .why-us-card__more {
    display: inline-block;
    margin-top: auto;
    padding-top: 0.35rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #000000;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.section--why-us .why-us-card__more:hover {
    color: #000000;
    opacity: 0.75;
}

.why-us-swiper__pagination {
    position: static !important;
    margin-top: 0.15rem;
}

.why-us-swiper__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    opacity: 0.35;
    background: #40658c;
}

.why-us-swiper__pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

@media (max-width: 767px) {
    .section--why-us .why-us-card {
        border-radius: 18px;
    }

    .section--why-us .why-us-card__image {
        min-height: 200px;
    }
}

/* Почему Автомедиафасад — вариант сеткой (черновик под слайдером) */
.section--why-choice-grid {
    padding-block: clamp(2.4rem, 4vw, 3.6rem);
    background: #ffffff;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--why-choice-grid .section__header .section__title {
    color: #000000;
}

.why-choice-grid {
    --why-choice-gap: clamp(0.85rem, 1.5vw, 1.15rem);
    display: flex;
    flex-direction: column;
    gap: var(--why-choice-gap);
}

/* Два ряда по три карточки: первая в ряду вдвое шире двух остальных (без span — иначе ломается автоплейсмент) */
.why-choice-grid__row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--why-choice-gap);
    align-items: stretch;
}

.why-choice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: clamp(200px, 22vw, 260px);
    padding: clamp(1.1rem, 1.6vw, 1.45rem);
    border: none;
    border-radius: clamp(20px, 2.2vw, 28px);
    overflow: hidden;
    box-shadow: none;
}

.why-choice-card--tone-blue {
    background: linear-gradient(135deg, #d8e6f5 0%, #eef4fb 48%, #f5f8fc 100%);
}

.why-choice-card--tone-neutral {
    background: #f1f3f7;
}

.why-choice-card--tone-mist {
    background: linear-gradient(160deg, #e8edf4 0%, #f6f8fb 100%);
}

/* Декор справа снизу: «30 минут» */
.why-choice-card--bg-time-30.why-choice-card--tone-blue {
    background-image:
        url("/assets/images/why-choice/30min-corner.webp"),
        linear-gradient(135deg, #d8e6f5 0%, #eef4fb 48%, #f5f8fc 100%);
    background-repeat: no-repeat;
    background-position: right bottom, 0 0;
    background-size: min(40%, 260px) auto, 100% 100%;
}

.why-choice-card--bg-time-30 .why-choice-card__main {
    padding-right: clamp(0.75rem, 18%, 7.5rem);
}

.why-choice-card__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 0.65rem;
    max-width: min(100%, 42rem);
    width: 100%;
}

.why-choice-card__main {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    /* место под декор в углу — только у текста, кнопки у нижнего края карточки */
    padding-bottom: clamp(2rem, 5vw, 3rem);
}

.why-choice-grid__row > .why-choice-card:first-child .why-choice-card__inner {
    max-width: min(100%, 52rem);
}

.why-choice-card__title {
    margin: 0;
    font-size: clamp(1.02rem, 1.05vw, 1.22rem);
    line-height: 1.22;
    font-weight: 600;
    color: #000000;
}

.why-choice-card__text {
    margin: 0;
    font-size: clamp(0.9rem, 0.95vw, 1.02rem);
    line-height: 1.5;
    color: #000000;
}

.why-choice-card__actions {
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    margin-top: auto;
}

.section--why-choice-grid .why-choice-card__cta.btn {
    border-radius: 12px;
    border: none;
    background: #ffffff;
    color: #000000;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    padding-block: 0.5rem;
    padding-inline: 0.9rem;
}

.section--why-choice-grid .why-choice-card__cta.btn:hover:not(:disabled),
.section--why-choice-grid .why-choice-card__cta.btn:focus-visible:not(:disabled) {
    border: none;
    background: #ffffff;
    color: #000000;
}

.section--why-choice-grid .why-choice-card__cta.btn:active:not(:disabled) {
    background: #f4f4f5;
}

.why-choice-card__expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: #ffffff;
    color: #000000;
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.why-choice-card__expand:hover {
    background: #ffffff;
}

.why-choice-card__expand:active {
    background: #f4f4f5;
}

.why-choice-card__expand:focus-visible {
    outline: 2px solid var(--color-accent, #1f7ad6);
    outline-offset: 2px;
}

.why-choice-card__visual {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(48%, 220px);
    height: min(55%, 200px);
    max-width: 280px;
    max-height: 220px;
    pointer-events: none;
    z-index: 0;
}

.why-choice-card__visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

.why-choice-modal__title {
    margin: 0 0 0.75rem;
    font-size: 1.2rem;
    line-height: 1.25;
    color: #0f172a;
}

.modal__body .why-choice-modal__title + p {
    margin: 0;
    line-height: 1.55;
    color: #334155;
}

@media (max-width: 767px) {
    .why-choice-grid__row {
        grid-template-columns: 1fr;
    }

    .why-choice-card {
        min-height: 0;
        border-radius: 20px;
    }

    .why-choice-card__main {
        padding-bottom: clamp(2rem, 10vw, 3.25rem);
    }

    .why-choice-card__visual {
        width: min(52%, 200px);
        height: min(42vw, 180px);
    }
}

/* Аудитории: визуал + лид в обзоре, полный текст по «Подробнее» */
.section--audiences {
    padding-block: clamp(2.8rem, 4.8vw, 4.6rem);
    background: linear-gradient(180deg, #f6f8fb 0%, #eef2f7 45%, #f6f8fb 100%);
}

.section--audiences .audience-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: stretch;
    gap: clamp(0.75rem, 1.1vw, 1rem);
    min-height: 0;
    height: 100%;
    align-self: stretch;
    padding: clamp(1.1rem, 1.5vw, 1.45rem) clamp(1.2rem, 1.6vw, 1.65rem);
    padding-top: 0;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(14, 51, 84, 0.07);
    box-shadow: none;
}

.section--audiences .audience-card__main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(0.55rem, 0.95vw, 0.75rem);
    min-height: 0;
    padding-top: clamp(0.65rem, 1vw, 0.85rem);
    overflow-y: auto;
}

.section--audiences .audience-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0 calc(-1 * clamp(1.2rem, 1.6vw, 1.65rem));
    width: auto;
    aspect-ratio: 16 / 9;
    min-height: clamp(11.25rem, 28vw, 15.5rem);
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    overflow: hidden;
    background: linear-gradient(165deg, #e4ecf5 0%, #dce6f2 55%, #e8eef6 100%);
}

.section--audiences .audience-card__media--photo .audience-card__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    padding: 0.15rem 0.35rem 0;
}

.section--audiences .audience-card__media--placeholder {
    flex-direction: column;
    gap: 0.45rem;
    background: linear-gradient(145deg, #dfe8f4 0%, #e8f0fa 40%, #dce6f2 100%);
}

.section--audiences .audience-card__media-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.65rem, 9vw, 4.35rem);
    height: clamp(3.65rem, 9vw, 4.35rem);
    border-radius: 50%;
    font-size: clamp(1.55rem, 2.6vw, 2rem);
    color: #2d5a8c;
    line-height: 1;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
}

.section--audiences .audience-card__media-caption {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a7a9d;
}

.section--audiences .audience-card__header {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0;
    align-self: stretch;
}

.section--audiences .audience-card__title {
    margin: 0;
    font-size: clamp(1.2rem, 1.38vw, 1.45rem);
    line-height: 1.22;
    color: #142a40;
    font-weight: 500;
}

.section--audiences .audience-card__label {
    display: inline-block;
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #5a7a9d;
}

.section--audiences .audience-card__lead {
    margin: 0;
    font-size: clamp(0.96rem, 1.02vw, 1.05rem);
    line-height: 1.55;
    color: #3d5066;
}

.section--audiences .audience-card__more {
    margin: 0;
    border: none;
}

.section--audiences .audience-card__summary {
    cursor: pointer;
    list-style: none;
    font-size: 0.92rem;
    font-weight: 600;
    color: #174973;
    padding: 0.35rem 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    user-select: none;
}

.section--audiences .audience-card__summary::-webkit-details-marker {
    display: none;
}

.section--audiences .audience-card__summary::after {
    content: '';
    width: 0.42em;
    height: 0.42em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: -0.15em;
    transition: transform 0.2s ease;
}

.section--audiences .audience-card__more[open] .audience-card__summary::after {
    transform: rotate(-135deg);
    margin-top: 0.12em;
}

.section--audiences .audience-card__more-body {
    padding-top: 0.55rem;
}

.section--audiences .audience-card__more-body p {
    margin: 0 0 0.6rem;
    font-size: clamp(0.94rem, 0.98vw, 1.02rem);
    line-height: 1.55;
    color: #3a4d62;
}

.section--audiences .audience-card__benefits {
    margin: 0;
    padding-top: 0.15rem;
}

.section--audiences .audience-card__benefits li {
    padding: 0.18rem 0;
    font-size: 0.92rem;
}

.section--audiences .audience-card__cta {
    margin-top: 0;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Единый стиль кнопок блока (как outline-тема приложения), перекрывает main.css */
.section--audiences .audience-card .audience-card__cta.btn--outline {
    padding: 0.52rem var(--btn-padding-x);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.28;
    border-radius: var(--radius-btn);
    border-width: 1px;
    color: var(--color-primary);
    background: #ffffff;
    border-color: rgba(15, 61, 102, 0.22);
    box-shadow: none;
    backdrop-filter: none;
    white-space: nowrap;
}

.section--audiences .audience-card .audience-card__cta.btn--outline:hover:not(:disabled),
.section--audiences .audience-card .audience-card__cta.btn--outline:focus-visible:not(:disabled) {
    color: var(--color-primary-dark);
    background: linear-gradient(180deg, #f2f6fb 0%, #e8eef6 100%);
    border-color: rgba(15, 61, 102, 0.38);
    transform: none;
    box-shadow: none;
}

.section--audiences .audience-card .audience-card__cta.btn--outline:active:not(:disabled) {
    color: var(--color-primary-dark);
    background: #e2eaf3;
    border-color: rgba(15, 61, 102, 0.45);
}

.section--audiences .audiences-grid {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: clamp(1rem, 1.5vw, 1.35rem);
    margin: 0 0 clamp(1.5rem, 2.2vw, 2rem);
    width: 100%;
}

@media (min-width: 992px) {
    .section--audiences .audiences-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .section--audiences .audience-card {
        height: auto;
        grid-template-rows: auto auto auto;
    }

    .section--audiences .audience-card__main {
        overflow-y: visible;
    }
}

.section--audiences .audience-card__media--triple {
    gap: 0.55rem;
}

.section--audiences .audience-card__icon-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: clamp(0.65rem, 1.8vw, 1.25rem);
}

.section--audiences .audience-card__icon-bubble {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(2.95rem, 6.5vw, 3.45rem);
    height: clamp(2.95rem, 6.5vw, 3.45rem);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(23, 73, 115, 0.12) 0%, rgba(23, 73, 115, 0.06) 100%);
    color: #174973;
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    box-shadow: none;
    flex-shrink: 0;
}

.section--audiences .audience-card .benefits-list {
    display: block;
    margin: 0.45rem 0 0;
    padding: 0;
    text-align: left;
    list-style: none;
}

.section--audiences .audience-card .benefits-list li {
    padding: 0.18rem 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #3a4d62;
}

/* «Три сценария»: reveal по элементам (fade-in / slide-in + initScrollAnimations) */
.section--scenarios-alt .fade-in.slide-in {
    transition: opacity 0.95s ease-out, transform 0.95s ease-out;
}

.section--scenarios-alt .slide-in:not(.animated) {
    transform: translateY(48px);
}

.section--scenarios-alt .slide-in.animated {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .section--scenarios-alt .fade-in,
    .section--scenarios-alt .slide-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Альтернатива: «Три сценария» — табы и большая карточка (тёмная секция) */
.section--scenarios-alt {
    padding-block: clamp(2.8rem, 4.8vw, 4.6rem);
    background: #282a2e;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--scenarios-alt .section__header--on-dark {
    margin-bottom: clamp(1.25rem, 2.5vw, 1.85rem);
    text-align: center;
}

.section--scenarios-alt .section__header--on-dark .section__title {
    color: #f2f4f7;
    margin: 0;
}

.section--scenarios-alt .section__header--on-dark .scenarios-alt__subtitle {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: rgba(242, 244, 247, 0.82);
}

.section--scenarios-alt .scenarios-alt__tabs {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(1.35rem, 2.4vw, 2rem);
}

.section--scenarios-alt .scenarios-alt__tabs-track {
    display: flex;
    align-items: stretch;
    width: min(100%, 36rem);
    padding: 5px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    box-sizing: border-box;
}

.section--scenarios-alt .scenarios-alt__tab {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    min-height: 44px;
    padding: 0.42rem clamp(0.65rem, 2vw, 1.15rem);
    border-radius: 999px;
    font-size: clamp(0.82rem, 2.1vw, 0.94rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #f2f4f7;
    background: transparent;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.section--scenarios-alt .scenarios-alt__tab:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

#scenarios-alt-owner:checked ~ .scenarios-alt__tabs label[for="scenarios-alt-owner"],
#scenarios-alt-advertiser:checked ~ .scenarios-alt__tabs label[for="scenarios-alt-advertiser"],
#scenarios-alt-retail:checked ~ .scenarios-alt__tabs label[for="scenarios-alt-retail"] {
    color: #000000;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.section--scenarios-alt .scenarios-alt__panel {
    display: none;
}

#scenarios-alt-owner:checked ~ .scenarios-alt__panel--owner,
#scenarios-alt-advertiser:checked ~ .scenarios-alt__panel--advertiser,
#scenarios-alt-retail:checked ~ .scenarios-alt__panel--retail {
    display: block;
}

@media (prefers-reduced-motion: no-preference) {
    #scenarios-alt-owner:checked ~ .scenarios-alt__panel--owner,
    #scenarios-alt-advertiser:checked ~ .scenarios-alt__panel--advertiser,
    #scenarios-alt-retail:checked ~ .scenarios-alt__panel--retail {
        animation: scenarios-alt-panel-in 0.35s ease;
    }
}

@keyframes scenarios-alt-panel-in {
    from {
        opacity: 0.75;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section--scenarios-alt .scenarios-alt__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);
    gap: clamp(1rem, 2.5vw, 2rem);
    align-items: stretch;
    padding: clamp(1.25rem, 2.2vw, 2rem);
    background: linear-gradient(165deg, #e4ecf5 0%, #dce6f2 55%, #e8eef6 100%);
    border-radius: clamp(24px, 3.5vw, 36px);
    border: 1px solid rgba(14, 51, 84, 0.08);
    margin-bottom: clamp(1.25rem, 2.2vw, 1.75rem);
}

.section--scenarios-alt .scenarios-alt__hero-media {
    border-radius: clamp(18px, 2.5vw, 28px);
    overflow: hidden;
    min-height: clamp(200px, 32vw, 320px);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section--scenarios-alt .scenarios-alt__hero-media--photo {
    padding: 0.35rem;
}

.section--scenarios-alt .scenarios-alt__hero-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    display: block;
}

.section--scenarios-alt .scenarios-alt__hero-media--placeholder {
    flex-direction: column;
    gap: 0.65rem;
}

.section--scenarios-alt .scenarios-alt__hero-icon {
    display: inline-flex;
    width: clamp(4rem, 12vw, 5.5rem);
    height: clamp(4rem, 12vw, 5.5rem);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(23, 73, 115, 0.15);
    color: #2d5a8c;
    font-size: clamp(1.75rem, 4vw, 2.35rem);
}

.section--scenarios-alt .scenarios-alt__hero-caption {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a7a9d;
    text-align: center;
    padding: 0 0.5rem;
}

.section--scenarios-alt .scenarios-alt__icon-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(0.65rem, 1.8vw, 1.25rem);
}

.section--scenarios-alt .scenarios-alt__icon-bubble {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.15rem, 7vw, 4rem);
    height: clamp(3.15rem, 7vw, 4rem);
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(23, 73, 115, 0.15);
    color: #174973;
    font-size: clamp(1.12rem, 2vw, 1.45rem);
    flex-shrink: 0;
}

.section--scenarios-alt .scenarios-alt__hero-copy {
    display: flex;
    align-items: center;
    padding: clamp(0.5rem, 1vw, 1rem) 0;
}

.section--scenarios-alt .scenarios-alt__hero-title {
    margin: 0;
    font-size: clamp(1.2rem, 2.8vw, 1.85rem);
    font-weight: 400;
    line-height: 1.32;
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__detail {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: clamp(1.35rem, 2.4vw, 2.15rem) clamp(1.35rem, 2.4vw, 2.25rem);
    background: rgba(255, 255, 255, 0.98);
    border-radius: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(14, 51, 84, 0.07);
    box-shadow: 0 14px 44px rgba(15, 53, 88, 0.07);
}

.section--scenarios-alt .scenarios-alt__detail--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.section--scenarios-alt .scenarios-alt__detail-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: clamp(1.35rem, 2.4vw, 2.15rem) clamp(1.35rem, 2.4vw, 2.25rem);
    background: rgba(255, 255, 255, 0.98);
    border-radius: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(14, 51, 84, 0.07);
    box-shadow: 0 14px 44px rgba(15, 53, 88, 0.07);
    min-height: 100%;
}

.section--scenarios-alt .scenarios-alt__detail-card--body {
    gap: 0;
}

.section--scenarios-alt .scenarios-alt__detail-card--intro .scenarios-alt__label,
.section--scenarios-alt .scenarios-alt__detail-card--intro .scenarios-alt__detail-heading,
.section--scenarios-alt .scenarios-alt__detail-card--intro .scenarios-alt__lead {
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__detail-card--intro .scenarios-alt__lead {
    margin-bottom: 0;
    font-weight: 400;
}

.section--scenarios-alt .scenarios-alt__detail--split .scenarios-alt__detail-card--body .scenarios-alt__detail-prose p {
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__detail--split .scenarios-alt__benefits li {
    font-weight: 400;
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__detail-intro {
    margin: 0 0 clamp(1rem, 2vw, 1.35rem);
    padding-bottom: clamp(0.85rem, 1.5vw, 1.1rem);
    border-bottom: 1px solid rgba(14, 51, 84, 0.08);
}

.section--scenarios-alt .scenarios-alt__detail-intro .scenarios-alt__label {
    margin-bottom: 0.5rem;
}

.section--scenarios-alt .scenarios-alt__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #5a7a9d;
}

.section--scenarios-alt .scenarios-alt__detail-heading {
    margin: 0;
    font-size: clamp(1.15rem, 2.35vw, 1.5rem);
    font-weight: 400;
    color: #0a2540;
    line-height: 1.22;
    letter-spacing: -0.02em;
    max-width: 28rem;
}

.section--scenarios-alt .scenarios-alt__lead {
    margin: 0 0 clamp(0.85rem, 1.4vw, 1.05rem);
    font-size: clamp(1.02rem, 2vw, 1.125rem);
    line-height: 1.62;
    color: #243547;
    font-weight: 600;
    max-width: 42rem;
}

.section--scenarios-alt .scenarios-alt__detail-prose {
    margin: 0 0 clamp(1.1rem, 2vw, 1.45rem);
    max-width: 48rem;
}

.section--scenarios-alt .scenarios-alt__detail-prose p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.68;
    color: #4a5f75;
}

.section--scenarios-alt .scenarios-alt__benefits {
    margin: 0 0 clamp(1.15rem, 2vw, 1.5rem);
    padding: clamp(0.85rem, 1.5vw, 1.15rem) clamp(1rem, 1.8vw, 1.35rem);
    padding-left: clamp(1.45rem, 2.4vw, 1.85rem);
    list-style: disc;
    list-style-position: outside;
    background: linear-gradient(165deg, #f0f4fa 0%, #e8eef6 100%);
    border: none;
    border-radius: var(--radius-lg);
}

.section--scenarios-alt .scenarios-alt__benefits li {
    display: list-item;
    padding: 0.32rem 0;
    margin-left: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    font-weight: 500;
    color: #2c3e50;
}

.section--scenarios-alt .scenarios-alt__benefits li::marker {
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: clamp(1rem, 1.8vw, 1.35rem);
    border-top: 1px solid rgba(14, 51, 84, 0.08);
}

/* Как у основных CTA: крупнее audience-card */
.section--scenarios-alt .scenarios-alt__actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.8125rem 1.5rem;
    min-height: 2.875rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    border-radius: var(--radius-btn);
    border-width: 1px;
    white-space: nowrap;
}

.section--scenarios-alt .scenarios-alt__actions .btn--primary:hover:not(:disabled),
.section--scenarios-alt .scenarios-alt__actions .btn--outline:hover:not(:disabled) {
    transform: none;
    box-shadow: none;
}

.section--scenarios-alt .scenarios-alt__actions .btn--outline {
    background: #e5e7eb;
    border-color: #d1d5db;
    color: #000000;
}

.section--scenarios-alt .scenarios-alt__actions .btn--outline:hover:not(:disabled),
.section--scenarios-alt .scenarios-alt__actions .btn--outline:focus-visible:not(:disabled),
.section--scenarios-alt .scenarios-alt__actions .btn--outline:active:not(:disabled) {
    background: #e5e7eb;
    border-color: #d1d5db;
    color: #000000;
}

@media (max-width: 767px) {
    .section--scenarios-alt .scenarios-alt__hero {
        grid-template-columns: 1fr;
    }

    .section--scenarios-alt .scenarios-alt__hero-copy {
        padding: 0 0 0.35rem;
    }

    .section--scenarios-alt .scenarios-alt__tabs-track {
        width: 100%;
        max-width: none;
    }

    .section--scenarios-alt .scenarios-alt__tab {
        padding-inline: clamp(0.45rem, 1.5vw, 0.75rem);
    }

    .section--scenarios-alt .scenarios-alt__detail--split {
        grid-template-columns: 1fr;
    }
}

.section--problem {
    margin-top: 0;
    position: relative;
    z-index: 4;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--problem .problem-solution {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    display: block;
    align-items: start;
}

.section--problem .problem-panel {
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: clamp(0.85rem, 1.35vw, 1.25rem);
    box-sizing: border-box;
}

.section--problem .problem-panel--media {
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: none;
}

.section--problem .problem-panel--media .problem-solution__media {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.section--problem .problem-panel--media .problem-solution__image {
    border-radius: 0;
}

.section--problem .problem-panel--media .problem-solution__image img {
    border-radius: 0;
}

.section--problem .problem-panel--media .problem-solution__slider {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0;
}

.section--problem .problem-panel--benefits {
    border: none;
    background: #edf1f6;
    padding: clamp(1.35rem, 1.8vw, 1.8rem);
}

.section--problem .problem-panel--benefits .problem-solution__header {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

.problem-section__lead {
    margin: 0 auto var(--section-subtitle-margin-bottom);
    max-width: 980px;
    text-align: center;
    color: var(--color-text);
    font-size: clamp(0.96rem, 1.04vw, 1.06rem);
    line-height: 1.7;
}

.problem-solution__top {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 0;
    align-items: stretch;
    min-width: 0;
    width: 100%;
    border: none;
    border-radius: clamp(20px, 2.2vw, 28px);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    box-sizing: border-box;
}

/* Две колонки: верх/низ карточек на одной линии — общая высота строки грида */
@media (min-width: 1121px) {
    .section--problem .problem-panel--media {
        border-bottom: none;
        border-right: none;
    }

    .section--problem .problem-panel {
        height: 100%;
    }

    .section--problem .problem-panel--media .problem-solution__media {
        flex: 1 1 auto;
        min-height: 0;
    }

    .section--problem .problem-panel--media .problem-solution__slider {
        flex: 1 1 auto;
        flex-shrink: 1;
        min-height: 430px;
        height: auto;
    }

    .section--problem .problem-panel--media .problem-solution__image {
        min-height: 0;
        height: 100%;
    }

    .section--problem .problem-panel--benefits .problem-solution__header {
        min-height: 430px;
    }
}

.problem-solution__text {
    text-align: left;
    max-width: 600px;
}

.problem-solution__header {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 430px;
    height: auto;
    gap: 1.4rem;
    padding-bottom: 0.45rem;
}

.problem-solution__text .section__subtitle {
    margin: 0 0 0.2rem;
    max-width: none;
    text-align: left;
    color: #5f6f81;
    font-size: clamp(0.95rem, 1.02vw, 1rem);
    line-height: 1.72;
}

.problem-solution__solution {
    margin: 0.25rem 0 0;
    max-width: none;
    text-align: left;
    font-size: clamp(1.2rem, 1.75vw, 1.8rem);
    line-height: 1.18;
    font-weight: 500;
    color: #000000;
}

.problem-solution__header .problem-solution__solution {
    margin-top: 0;
    color: #111111;
    font-weight: 500;
}

.problem-solution__image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f2f5f9;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    min-height: 430px;
    height: 100%;
}

.problem-solution__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.14);
    transform-origin: center center;
    filter: none;
    border-radius: 18px;
}

.problem-solution__media {
    display: grid;
    gap: 0.5rem;
    align-content: center;
}

.problem-solution__slider {
    width: 100%;
    height: 430px;
}

.problem-solution__slider .swiper-wrapper,
.problem-solution__slider .swiper-slide {
    height: 100%;
}

.problem-solution__header .benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(4.25rem, auto);
    gap: 0.5rem;
    margin: auto 0 0.15rem;
    max-width: none;
    align-items: stretch;
}

.problem-solution__header .benefit-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 0;
    padding: 0.55rem 0.7rem;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(14, 51, 84, 0.08);
    border-radius: var(--radius-lg);
    height: 100%;
    align-self: stretch;
}

.problem-solution__header .benefit-item__icon {
    width: 22px;
    min-width: 22px;
    text-align: center;
    font-size: 1.05rem;
    line-height: 1;
    color: var(--color-accent);
}

.problem-solution__header .benefit-item__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: clamp(0.9rem, 0.95vw, 0.98rem);
    line-height: 1.28;
    font-weight: 400;
    color: #1f2d3f;
}

.section--benefits {
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--benefits .section__header .section__title strong {
    color: #174973;
}

.section--benefits .section__header .section__subtitle {
    margin: clamp(0.55rem, 1vw, 0.85rem) auto 0;
    max-width: min(52rem, 100%);
    font-size: clamp(1.12rem, 1.2vw, 1.35rem);
    font-weight: 600;
    line-height: 1.35;
    color: #1a2e45;
}

.section--benefits .section__header .section__subtitle strong {
    color: #174973;
    font-weight: 600;
}

.section--benefits .benefits-main {
    display: block;
}

.section--benefits .benefits-desktop-pair {
    display: none;
}

.section--benefits .benefit-card--mobile-combo {
    display: block;
}

@media (min-width: 768px) {
    .section--benefits .benefits-desktop-pair {
        --benefits-truck-h: clamp(42px, 4.4vw, 52px);
        /* Как у .time-row__lane: min-height (грузовик + 0.5rem) + padding-block; запас под две строки текста размеров слева */
        --benefits-row-min: max(
            4.65rem,
            calc(var(--benefits-truck-h) + 0.5rem + 0.35rem + 0.55rem)
        );
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
        gap: clamp(1rem, 1.4vw, 1.35rem);
        align-items: start;
    }
}

@media (min-width: 768px) and (max-width: 1120px) {
    .section--benefits .benefits-desktop-pair {
        grid-template-columns: minmax(0, 1fr);
    }
}

.section--benefits .benefits-section__lead {
    margin: clamp(1.1rem, 1.5vw, 1.35rem) auto 0;
    max-width: min(52rem, 100%);
    padding: 0;
    text-align: center;
    font-size: clamp(1.12rem, 1.18vw, 1.3rem);
    line-height: 1.35;
    color: #1a1f2b;
}

.section--benefits .benefit-card {
    background: #edf1f6;
    border: none;
    border-radius: 28px;
    padding: clamp(1.35rem, 1.8vw, 1.8rem);
    min-height: 0;
    box-shadow: none;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: clamp(0.85rem, 1.1vw, 1.1rem);
}

.section--benefits .benefit-card--montage,
.section--benefits .benefit-card--sizes,
.section--benefits .benefit-card--mobile-combo {
    grid-template-rows: auto;
    min-height: 0;
    align-content: start;
}

/* После .benefit-card { display: grid } иначе снова покажется мобильная карточка на десктопе */
@media (min-width: 768px) {
    .section--benefits .benefit-card.benefit-card--mobile-combo {
        display: none;
    }
}

.section--benefits .benefit-card--sizes .time-money {
    min-height: 0;
}

.section--benefits .time-money {
    --truck-img-height: var(--benefits-truck-h, clamp(42px, 4.4vw, 52px));
    margin: 0;
}

.section--benefits .time-money__title {
    margin: 0;
    font-size: clamp(1.45rem, 1.7vw, 1.9rem);
    line-height: 1.2;
    font-weight: 500;
    color: #174973;
}

.section--benefits .time-money__montage,
.section--benefits .time-money__sizes {
    min-width: 0;
}

.section--benefits .time-money__sizes {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.section--benefits .time-money__col-title {
    margin: 0;
    font-size: clamp(1.08rem, 1.15vw, 1.28rem);
    line-height: 1.25;
    font-weight: 500;
    color: #1f2f45;
    padding-bottom: 0.35rem;
    border-bottom: 2px dashed #b7c4d4;
}

.section--benefits .time-money__col-title--sizes-head {
    flex: 0 0 auto;
}

.section--benefits .time-money__montage .time-money__col-title {
    text-align: right;
}

.section--benefits .time-money__montage-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.section--benefits .montage-row {
    min-height: var(--benefits-row-min, 58px);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-bottom: 2px dashed #b7c4d4;
    font-size: clamp(1rem, 1.06vw, 1.12rem);
    line-height: 1.3;
    color: #1f2d3f;
    font-weight: 600;
    text-align: right;
}

.section--benefits .time-money__montage-list .montage-row:last-child {
    border-bottom: none;
}

.section--benefits .time-money__size-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.section--benefits .time-money__size-list .time-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10.5rem, 38%);
    gap: 0.5rem clamp(0.65rem, 1.2vw, 1rem);
    align-items: center;
    min-height: var(--benefits-row-min, 58px);
    border-bottom: 2px dashed #b7c4d4;
}

.section--benefits .time-money__size-list .time-row:last-child {
    border-bottom: none;
}

.section--benefits .time-money__size-list > .time-row:nth-child(1) .time-row__lane {
    margin-left: 0;
}

.section--benefits .time-money__size-list > .time-row:nth-child(2) .time-row__lane {
    margin-left: 0.75rem;
}

.section--benefits .time-money__size-list > .time-row:nth-child(3) .time-row__lane {
    margin-left: 1.5rem;
}

.section--benefits .time-money__size-list > .time-row:nth-child(4) .time-row__lane {
    margin-left: 2.25rem;
}

.section--benefits .time-money__size-list .time-row__size {
    text-align: left;
    justify-self: start;
    max-width: 100%;
}

.section--benefits .time-row__size {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
    font-size: clamp(1rem, 1.06vw, 1.12rem);
    line-height: 1.3;
    color: #1f2d3f;
}

.section--benefits .time-row__dims {
    font-weight: 600;
}

.section--benefits .time-row__kind {
    font-size: clamp(0.82rem, 0.92vw, 0.95rem);
    line-height: 1.25;
    font-weight: 600;
    color: #3d5a73;
}

.section--benefits .time-row__lane {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    height: 100%;
    min-width: 0;
    min-height: calc(var(--truck-img-height) + 0.5rem);
    padding-block: 0.35rem 0.55rem;
    padding-inline-start: clamp(0.35rem, 0.9vw, 0.65rem);
    box-sizing: border-box;
}

.section--benefits .time-row__truck {
    display: block;
    width: 100%;
    height: var(--truck-img-height);
    object-fit: contain;
    object-position: left bottom;
    filter: saturate(95%);
}

.section--benefits .time-money__size-list .time-row__truck {
    object-position: left bottom;
}

.section--benefits .benefit-card--mobile-combo {
    --truck-img-height: 44px;
}

.section--benefits .time-money__mobile-combo-title {
    margin-bottom: 0.15rem;
}

.section--benefits .time-money__mobile-combo-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.section--benefits .mobile-combo-row {
    padding: 0.55rem 0 0.65rem;
    border-bottom: 2px dashed #b7c4d4;
}

.section--benefits .mobile-combo-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.section--benefits .mobile-combo-row__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.35rem 0.75rem;
    align-items: center;
    margin-bottom: 0.35rem;
}

.section--benefits .mobile-combo-row__spec-col {
    min-width: 0;
}

.section--benefits .mobile-combo-row__time {
    margin: 0;
    font-size: clamp(0.98rem, 1.05vw, 1.08rem);
    font-weight: 600;
    color: #174973;
    line-height: 1.2;
    white-space: nowrap;
    text-align: right;
}

.section--benefits .mobile-combo-row__dims {
    margin: 0 0 0.15rem;
    font-size: clamp(1rem, 1.06vw, 1.12rem);
    font-weight: 600;
    color: #1f2d3f;
    line-height: 1.25;
}

.section--benefits .mobile-combo-row__kind {
    margin: 0;
    font-size: clamp(0.88rem, 0.95vw, 0.98rem);
    font-weight: 600;
    color: #3d5a73;
    line-height: 1.2;
}

.section--benefits .mobile-combo-row__lane {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    min-height: calc(var(--truck-img-height) + 0.35rem);
    padding-block: 0.2rem 0.3rem;
    padding-inline-start: clamp(0.35rem, 0.9vw, 0.65rem);
}

/* CTA: белая подложка, иерархия «главное действие → звонок → вторичная ссылка» */
.section--cta {
    position: relative;
    padding-block: clamp(2.75rem, 5.5vw, 4.25rem);
    background: #ffffff;
    color: #0f172a;
    border-top: 1px solid rgba(15, 61, 102, 0.08);
}

.section--cta .container {
    position: relative;
}

.section--cta .cta-block {
    margin: 0 auto;
    max-width: min(40rem, 100%);
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.85rem, 2vw, 1.15rem);
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
}

.section--cta .cta-block__title {
    margin: 0;
    font-size: clamp(1.5rem, 2.75vw, 2.1rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.section--cta .cta-block__subtitle {
    margin: 0;
    max-width: 34rem;
    font-size: clamp(0.98rem, 1.2vw, 1.125rem);
    line-height: 1.6;
    color: #475569;
}

.section--cta .cta-block__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-top: 0.35rem;
    width: 100%;
    max-width: 28rem;
}

.section--cta .cta-block__btn-primary {
    flex: 1 1 auto;
    min-width: min(100%, 12.5rem);
    font-weight: 600;
}

.section--cta .cta-block__btn-call {
    flex: 1 1 auto;
    min-width: min(100%, 12.5rem);
    font-weight: 600;
}

.section--cta .cta-block__link-secondary {
    flex: 1 0 100%;
    margin-top: 0.1rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

.section--cta .cta-block__link-secondary:hover {
    color: var(--color-accent);
}

.section--cta .cta-block__note {
    margin: 0;
    max-width: 32rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.section--cta .btn--primary {
    background: var(--color-accent);
    color: #ffffff;
    border-color: transparent;
}

.section--cta .btn--primary:hover:not(:disabled) {
    background: var(--color-accent-hover);
    color: #ffffff;
}

.section--cta .btn--outline {
    color: var(--color-primary);
    border-color: rgba(15, 61, 102, 0.32);
    background: #ffffff;
}

.section--cta .btn--outline:hover:not(:disabled) {
    background: rgba(15, 61, 102, 0.06);
    border-color: rgba(15, 61, 102, 0.32);
    color: var(--color-primary);
}

.section--cta .btn--outline:active:not(:disabled) {
    border-color: rgba(15, 61, 102, 0.32);
}

.section--cta .cta-block__btn-call.btn--outline {
    color: #000000;
}

.section--cta .cta-block__btn-call.btn--outline:hover:not(:disabled),
.section--cta .cta-block__btn-call.btn--outline:focus-visible:not(:disabled),
.section--cta .cta-block__btn-call.btn--outline:active:not(:disabled) {
    color: #000000;
    border-color: rgba(15, 61, 102, 0.32);
}

@media (max-width: 479px) {
    .section--cta .cta-block__actions {
        flex-direction: column;
    }

    .section--cta .cta-block__btn-primary,
    .section--cta .cta-block__btn-call {
        width: 100%;
        max-width: 20rem;
    }
}

.footer {
    margin-top: 2.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, #13283f, #0f1f31);
    color: #ffffff;
}

.footer h3.footer__title,
.footer .footer__title {
    color: #ffffff;
}

.footer .footer__logo {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
    text-decoration: none;
    color: inherit;
}

.footer .footer__logo:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.85);
    outline-offset: 3px;
    border-radius: var(--radius-sm);
}

.footer .footer__logo-text {
    color: #ffffff;
}

.footer .footer__tagline {
    color: rgba(255, 255, 255, 0.92);
}

.footer a {
    color: rgba(255, 255, 255, 0.95);
}

.footer a:hover {
    color: #ffffff;
}

.footer .footer__nav a:hover {
    color: #ffffff;
}

.footer .footer__legal a {
    color: rgba(255, 255, 255, 0.78);
}

.footer .footer__copyright {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.85rem;
    text-align: center;
}

@media (min-width: 768px) {
    .footer .footer__copyright {
        justify-content: flex-end;
        text-align: right;
    }
}

.footer .footer__copyright .footer__domain {
    color: #ffffff;
    font-weight: 700;
    font-size: var(--font-size-base);
}

.footer .footer__copyright .footer__copy-line {
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--font-size-sm);
}

.footer .footer__contact-icon {
    color: rgba(255, 255, 255, 0.9);
}

/* Тот же файл, что в шапке: без фиксированного квадрата — сохраняем пропорции */
.footer .footer__logo-img {
    width: auto;
    height: auto;
    max-width: 9rem;
    max-height: 3.95rem;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 0;
}

@media (max-width: 767.98px) {
    .footer > .container {
        max-width: 100%;
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }

    .footer .footer__inner {
        text-align: left;
    }

    .footer .footer__column:first-child {
        display: none;
    }

    .footer .footer__bottom {
        align-items: flex-start;
        text-align: left;
    }

    .footer .footer__legal {
        align-items: flex-start;
        text-align: left;
    }

    .footer .footer__copyright {
        justify-content: flex-start;
        text-align: left;
    }

    .footer .footer__domain {
        display: none;
    }
}

.modal__content {
    border-radius: 18px;
    border: 1px solid rgba(17, 41, 67, 0.12);
    box-shadow: none;
}

/* Модалки заявки и партнёрства: одна сетка с контактной формой */
#contact-modal .modal__content,
#partner-agent-modal .modal__content,
#partner-service-modal .modal__content {
    width: min(40rem, 96vw);
    max-width: min(40rem, 96vw);
    border: none;
    padding: clamp(1rem, 2.2vw, 1.5rem);
    max-height: min(94dvh, 94vh);
    box-sizing: border-box;
}

#calculator-modal .modal__content {
    width: min(42rem, 96vw);
    max-width: min(42rem, 96vw);
    border: none;
    padding: clamp(1rem, 2.2vw, 1.5rem);
    max-height: min(94dvh, 94vh);
    box-sizing: border-box;
}

#contact-modal .modal__body,
#partner-agent-modal .modal__body,
#partner-service-modal .modal__body,
#calculator-modal .modal__body {
    padding-top: 0.35rem;
}

#calculator-modal .modal__body--calculator {
    overflow-y: auto;
    overscroll-behavior: contain;
    max-height: min(78dvh, 78vh);
    padding-right: 0.15rem;
}

#contact-modal .form__subtitle,
#partner-agent-modal .form__subtitle,
#partner-service-modal .form__subtitle,
#calculator-modal .form__subtitle {
    margin-bottom: var(--spacing-lg);
}

#calculator-modal .calculator__header .form__subtitle {
    margin-bottom: var(--spacing-md);
    color: #111111;
}

#contact-modal .form__field,
#partner-agent-modal .form__field,
#partner-service-modal .form__field,
#calculator-modal .form__field {
    margin-bottom: var(--spacing-md);
}

#contact-modal .form__textarea,
#partner-agent-modal .form__textarea,
#partner-service-modal .form__textarea,
#calculator-modal .form__textarea {
    min-height: 5.5rem;
}

#contact-modal .form__submit,
#partner-agent-modal .form__submit,
#partner-service-modal .form__submit {
    margin-top: var(--spacing-lg);
}

#calculator-modal .calculator__step-meta {
    margin: 0 0 var(--spacing-md);
    font-size: 0.875rem;
    color: var(--color-text-light, #5a6570);
    letter-spacing: 0.02em;
}

#calculator-modal .calculator__progress {
    margin-bottom: var(--spacing-md);
}

#calculator-modal .calculator__navigation {
    margin-top: var(--spacing-xl);
    padding-top: var(--spacing-lg);
}

/* Калькулятор: один крупный заголовок в шапке; вопросы шагов — заметно меньше */
#calculator-modal .form--calculator .form__label {
    color: #111111;
}

#calculator-modal .calculator__header .form__title {
    color: #111111;
    font-size: var(--font-size-3xl);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--spacing-sm);
    text-align: left;
}

#calculator-modal .form--calculator .calculator__step .form__title {
    color: #111111;
    font-size: var(--font-size-xl);
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: var(--spacing-md);
    text-align: left;
}

#calculator-modal .form--calculator .form__input,
#calculator-modal .form--calculator .form__select,
#calculator-modal .form--calculator .form__textarea {
    color: #111111;
}

#calculator-modal .form--calculator .form__checkbox-label,
#calculator-modal .form--calculator .form__checkbox-text {
    color: var(--color-text-light);
}

#calculator-modal .form--calculator .form__checkbox-text a {
    color: var(--color-text-light);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

/* Заявка и партнёрские формы в модалках: заголовок, подписи, чекбокс — как контакты */
.form--contact .form__title,
.form--partner .form__title {
    color: #111111;
}

.form--contact .form__subtitle,
.form--partner .form__subtitle {
    color: #141414;
}

.form--contact .form__label,
.form--partner .form__label {
    color: #111111;
}

.form--contact .form__input,
.form--contact .form__textarea,
.form--contact .form__select,
.form--partner .form__input,
.form--partner .form__textarea,
.form--partner .form__select {
    color: #111111;
}

.form--contact .form__checkbox-label,
.form--partner .form__checkbox-label {
    color: var(--color-text-light);
}

.form--contact .form__checkbox-text a,
.form--partner .form__checkbox-text a {
    color: var(--color-text-light);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.form--contact .form__checkbox-text a:hover,
.form--partner .form__checkbox-text a:hover {
    color: var(--color-primary);
}

/* Чекбокс согласия: фирменный primary, белая галочка */
.form--contact .form__checkbox,
.form--partner .form__checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.12em;
    flex-shrink: 0;
    border: 1.5px solid rgba(15, 61, 102, 0.22);
    border-radius: 5px;
    background-color: var(--color-bg);
    cursor: pointer;
    transition:
        border-color 0.15s ease,
        background-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.1s ease;
}

.form--contact .form__checkbox:hover,
.form--partner .form__checkbox:hover {
    border-color: rgba(15, 61, 102, 0.42);
}

.form--contact .form__checkbox:checked,
.form--partner .form__checkbox:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E");
    background-size: 0.62rem 0.52rem;
    background-position: center;
    background-repeat: no-repeat;
}

.form--contact .form__checkbox:focus-visible,
.form--partner .form__checkbox:focus-visible {
    outline: 2px solid rgba(15, 61, 102, 0.28);
    outline-offset: 2px;
}

.form--contact .form__checkbox:focus:not(:focus-visible),
.form--partner .form__checkbox:focus:not(:focus-visible) {
    outline: none;
}

.form--contact .form__checkbox:active:not(:disabled),
.form--partner .form__checkbox:active:not(:disabled) {
    transform: scale(0.96);
}

.form--contact .form__checkbox.form__input--error,
.form--partner .form__checkbox.form__input--error {
    border-color: var(--color-error);
}

.form--contact .form__checkbox.form__input--error:checked,
.form--partner .form__checkbox.form__input--error:checked {
    background-color: var(--color-error);
    border-color: var(--color-error);
}

/* Минималистичные формы: тонкие границы, без жирного box-shadow на фокусе */
.form__input,
.form__textarea,
.form__select {
    border-width: 1px;
    border-style: solid;
    border-color: rgba(14, 51, 84, 0.14);
    box-shadow: none;
}

.form__input:focus,
.form__textarea:focus,
.form__select:focus {
    border-color: var(--color-primary);
    box-shadow: none;
}

.form__input:focus:not(:focus-visible),
.form__textarea:focus:not(:focus-visible),
.form__select:focus:not(:focus-visible) {
    outline: none;
}

.form__input:focus-visible,
.form__textarea:focus-visible,
.form__select:focus-visible {
    outline: 2px solid rgba(15, 61, 102, 0.28);
    outline-offset: 2px;
}

.form__input--error,
.form__textarea--error,
.form__select--error {
    border-width: 1px;
    border-color: var(--color-error);
}

.form__input--error:focus,
.form__textarea--error:focus,
.form__select--error:focus {
    border-color: var(--color-error);
    box-shadow: none;
}

.form__input--error:focus:not(:focus-visible),
.form__textarea--error:focus:not(:focus-visible),
.form__select--error:focus:not(:focus-visible) {
    outline: none;
}

.form__input--error:focus-visible,
.form__textarea--error:focus-visible,
.form__select--error:focus-visible {
    outline: 2px solid rgba(244, 67, 54, 0.35);
    outline-offset: 2px;
}

.form__radio-label {
    border-width: 1px;
    border-color: rgba(14, 51, 84, 0.14);
}

.form__radio-label:hover,
.form__radio-label:has(.form__radio:checked) {
    border-width: 1px;
}

.form__message--success,
.form__message--error {
    border: none;
    box-shadow: none;
}

.form__message--success {
    border-left: 3px solid var(--color-success);
}

.form__message--error {
    border-left: 3px solid var(--color-error);
}

/* --- FAQ (amf-faq): изолировано от legacy .faq-* в main.css; ширина — колонки Bootstrap в faq.php --- */
.section--faq .amf-faq {
    width: 100%;
}

.section--faq .amf-faq__item {
    background: #f2f3f5;
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: none;
    overflow: hidden;
}

.section--faq .amf-faq__item:hover {
    transform: none;
    box-shadow: none;
}

.section--faq .amf-faq__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: none;
    margin: 0;
}

.section--faq .amf-faq__trigger {
    width: 100%;
    margin: 0;
    padding: clamp(1.15rem, 1.35vw, 1.45rem) clamp(1.2rem, 1.45vw, 1.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.1rem;
    text-align: left;
    font: inherit;
    font-size: clamp(1.08rem, 1.12vw, 1.22rem);
    font-weight: 600;
    line-height: 1.35;
    color: var(--color-text);
    background: transparent;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

/* Без подсветки при hover/active — только :focus-visible для клавиатуры */
.section--faq .amf-faq__trigger:hover,
.section--faq .amf-faq__trigger:active {
    background: transparent;
    color: var(--color-text);
}

.section--faq .amf-faq__trigger:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.section--faq .amf-faq__question-text {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--color-text);
}

.section--faq .amf-faq__trigger:hover .amf-faq__question-text,
.section--faq .amf-faq__item--open .amf-faq__trigger .amf-faq__question-text {
    color: var(--color-text);
}

/* Плюс → минус: переворот вокруг горизонтальной оси */
.section--faq .amf-faq__glyph {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: var(--radius-md);
    box-shadow: none;
    perspective: 700px;
}

.section--faq .amf-faq__glyph-flip {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    border-radius: var(--radius-md);
    background: #ffffff;
    box-shadow: none;
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}

.section--faq .amf-faq__item--open .amf-faq__glyph-flip {
    transform: rotateX(180deg);
}

.section--faq .amf-faq__glyph-face {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.section--faq .amf-faq__glyph-face--minus {
    transform: rotateX(180deg);
}

.section--faq .amf-faq__glyph-face--plus::before,
.section--faq .amf-faq__glyph-face--plus::after,
.section--faq .amf-faq__glyph-face--minus::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #2a2f36;
    border-radius: 1px;
}

.section--faq .amf-faq__glyph-face--plus::before,
.section--faq .amf-faq__glyph-face--minus::before {
    width: 1.1rem;
    height: 2px;
    transform: translate(-50%, -50%);
}

.section--faq .amf-faq__glyph-face--plus::after {
    width: 2px;
    height: 1.1rem;
    transform: translate(-50%, -50%);
}

.section--faq .amf-faq__panel {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.48s cubic-bezier(0.33, 1, 0.68, 1);
}

.section--faq .amf-faq__item--open .amf-faq__panel {
    grid-template-rows: 1fr;
}

.section--faq .amf-faq__panel-clip {
    min-height: 0;
    overflow: hidden;
}

.section--faq .amf-faq__body {
    padding: 0 clamp(1.2rem, 1.45vw, 1.5rem) clamp(1.1rem, 1.35vw, 1.4rem);
}

.section--faq .amf-faq__body p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1rem, 1.05vw, 1.1rem);
    line-height: 1.65;
}

.section--faq .amf-faq__body p + p {
    margin-top: 0.65rem;
}

.section--faq .amf-faq__body a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

@media (prefers-reduced-motion: reduce) {
    .section--faq .amf-faq__panel {
        transition-duration: 0.01ms;
    }

    .section--faq .amf-faq__glyph-flip {
        transition-duration: 0.01ms;
    }
}

.contacts-map {
    border-radius: 16px;
    overflow: hidden;
}

/* Страница /contacts — контент под hero */
.section--contacts {
    padding-block: clamp(2.75rem, 4.8vw, 4.5rem);
    margin: 0;
    background: linear-gradient(180deg, #f4f7fb 0%, #eef2f7 42%, #f8fafc 100%);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--contacts .contacts-grid {
    gap: clamp(1.35rem, 2.8vw, 2.5rem);
    align-items: start;
}

.section--contacts .contacts-form,
.section--contacts .contacts-info {
    padding: clamp(1.35rem, 2vw, 1.85rem);
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.72);
    border: none;
    border-radius: var(--radius-xl);
    box-shadow: none;
}

.section--contacts .contacts-info {
    display: flex;
    flex-direction: column;
    gap: clamp(0.65rem, 1.2vw, 0.9rem);
}

.section--contacts .contact-card {
    margin-bottom: 0;
    padding: clamp(1rem, 1.35vw, 1.25rem);
    background: rgba(255, 255, 255, 0.55);
    border: none;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.section--contacts .contact-card__title {
    margin-bottom: 0.3rem;
    font-size: clamp(0.75rem, 0.9vw, 0.8125rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #141414;
}

/* Телефон и email — как обычные ссылки (системные LinkText / VisitedText) */
.section--contacts a.contact-card__value {
    font-size: clamp(0.9375rem, 1vw, 1rem);
    line-height: 1.5;
    font-weight: 400;
    color: LinkText;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

.section--contacts a.contact-card__value:visited {
    color: VisitedText;
}

.section--contacts a.contact-card__value:hover,
.section--contacts a.contact-card__value:focus-visible {
    color: LinkText;
    text-decoration: underline;
    opacity: 0.88;
}

.section--contacts a.contact-card__value:visited:hover,
.section--contacts a.contact-card__value:visited:focus-visible {
    color: VisitedText;
}

.section--contacts .contact-card__address-row {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.section--contacts address.contact-card__value--address {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: clamp(0.9375rem, 1vw, 1rem);
    line-height: 1.5;
    color: #141414;
    font-weight: 400;
    font-style: normal;
}

/* Кнопка копирования: нейтральный минимализм (иконка — тонкий контур SVG) */
.section--contacts .contact-card__copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(20, 20, 20, 0.38);
    cursor: pointer;
    line-height: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.section--contacts .contact-card__copy-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    color: rgba(20, 20, 20, 0.72);
}

.section--contacts .contact-card__copy-btn:focus-visible {
    outline: 2px solid rgba(0, 0, 0, 0.2);
    outline-offset: 2px;
}

.section--contacts .contact-card__copy-icon {
    display: block;
    flex-shrink: 0;
}

/* Только одна иконка: галочка скрыта по умолчанию */
.section--contacts .contact-card__copy-icon--done {
    display: none;
}

.section--contacts .contact-card__copy-btn--success .contact-card__copy-icon--copy {
    display: none;
}

.section--contacts .contact-card__copy-btn--success .contact-card__copy-icon--done {
    display: block;
}

.section--contacts .contact-card__copy-btn--success {
    color: #0d7a3e;
}

.section--contacts .contact-card__copy-btn--success:hover {
    background: rgba(13, 122, 62, 0.08);
    color: #0a5c30;
}

.section--contacts .contact-card__copy-status {
    margin: 0.4rem 0 0;
    min-height: 1.35em;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: rgba(20, 20, 20, 0.55);
    transition: color 0.2s ease, opacity 0.2s ease;
}

.section--contacts .contact-card__copy-status:empty {
    display: none;
}

.section--contacts .contact-card__copy-status.contact-card__copy-status--error {
    color: #b42318;
}

.section--contacts .contacts-map {
    flex: 1 1 auto;
    min-height: 260px;
    height: min(420px, 48vh);
    margin-top: 0.35rem;
    border: none;
    outline: none;
}

.section--contacts .form--contact .form__title,
.section--contacts .form--contact .form__subtitle {
    text-align: left;
}

.section--contacts .form--contact .form__title {
    font-size: clamp(1.25rem, 1.5vw, 1.45rem);
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: var(--color-text);
}

.section--contacts .form--contact .form__subtitle {
    margin-bottom: clamp(1rem, 1.4vw, 1.25rem);
    color: #141414;
    line-height: 1.5;
}

.section--contacts .form--contact .form__submit {
    margin-top: 0.25rem;
}

@media (max-width: 767.98px) {
    .section--contacts .contacts-map {
        height: min(300px, 52vh);
    }
}

@media (max-width: 991.98px) {
    body.body--menu-open {
        overflow: hidden;
        touch-action: none;
    }

    .header {
        backdrop-filter: saturate(120%) blur(8px);
    }

    body.body--menu-open .header {
        transform: none !important;
    }

    /* Полоса с логотипом и бургером над выезжающей панелью */
    .header .header__inner {
        position: relative;
        z-index: 5;
    }

    .header__burger {
        z-index: 95;
    }

    .header__nav {
        --header-nav-top: calc(env(safe-area-inset-top, 0px) + var(--header-bar-height));
        position: fixed;
        top: var(--header-nav-top);
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        /* высота под шапкой; выезжает сверху (translateY) */
        height: min(75dvh, calc(100dvh - var(--header-nav-top)));
        max-height: min(75dvh, calc(100dvh - var(--header-nav-top)));
        min-height: 0;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        padding: 0.75rem max(1rem, env(safe-area-inset-left)) 1.25rem max(1rem, env(safe-area-inset-right));
        padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
        border: 0;
        border-radius: 0 0 clamp(1rem, 3vw, 1.25rem) clamp(1rem, 3vw, 1.25rem);
        background: rgba(245, 248, 252, 0.99);
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-108%);
        transition:
            transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.28s ease,
            visibility 0s linear 0.38s;
        z-index: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        will-change: transform;
    }

    .header__nav.nav--open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition:
            transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.22s ease,
            visibility 0s linear 0s;
    }

    .header__nav .nav__list {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        flex: 0 0 auto;
    }

    .header__nav .nav__item {
        border-bottom: none;
    }

    .header__nav .nav__item:last-child {
        border-bottom: none;
    }

    .header__nav .nav__link {
        padding: 0.62rem var(--btn-padding-x);
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.35;
        color: #1f3146;
        background: transparent;
        border: none;
        border-radius: var(--radius-btn);
    }

    .header__nav .nav__link--active {
        background: rgba(22, 36, 52, 0.08);
        color: var(--color-text);
    }

    .header__nav .nav__link:not(.nav__link--active):active {
        background: rgba(22, 36, 52, 0.05);
    }

    .header__drawer-contacts {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.85rem;
        margin-top: auto;
        padding-top: 1rem;
        border-top: 1px solid rgba(15, 61, 102, 0.12);
        flex-shrink: 0;
    }

    .header__drawer-contact-row {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        flex-wrap: wrap;
        min-width: 0;
    }

    .header__drawer-phone {
        color: var(--color-text);
        text-decoration: none;
        font-size: 0.95rem;
        line-height: 1.35;
        word-break: break-word;
        font-weight: 500;
        flex: 1 1 auto;
        min-width: 0;
    }

    .header__icon-mail--drawer {
        margin-right: 0;
        align-self: center;
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        border: 1px solid rgba(15, 61, 102, 0.18);
        color: var(--color-primary);
        background: rgba(255, 255, 255, 0.9);
    }

    .header__icon-mail--drawer i {
        font-size: 1rem;
    }

    .header .header__drawer-cta {
        align-self: center;
        width: auto;
        max-width: 100%;
        font-size: 1rem;
        letter-spacing: var(--header-nav-letter-spacing);
        font-weight: 500;
        line-height: 1.35;
        white-space: nowrap;
    }

    .header__contacts {
        display: none;
    }
}

/* Kinescope: главный плеер + три выбора справа (фон как у «Нам доверяют») */
.section--video-showcase {
    --video-showcase-radius: clamp(1.375rem, 2.4vw, 1.875rem);
    --video-showcase-radius-pick: clamp(0.55rem, 1.05vw, 0.8125rem);
    padding-block: clamp(2.6rem, 4.2vw, 4rem);
    background: linear-gradient(180deg, #f6f8fc 0%, #eef2f7 55%, #f6f8fc 100%);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--video-showcase .section__subtitle {
    margin-bottom: var(--section-subtitle-margin-bottom);
}

.video-showcase__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: var(--video-showcase-radius);
    overflow: hidden;
}

.video-showcase__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.video-showcase__list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 0;
}

.video-showcase__pick {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    text-align: left;
    font-family: inherit;
    font-size: clamp(0.8125rem, 1vw, 0.875rem);
    line-height: 1.35;
    color: var(--color-text);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--video-showcase-radius-pick);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.video-showcase__pick:hover {
    border-color: rgba(15, 61, 102, 0.35);
    color: var(--color-primary);
}

.video-showcase__pick:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.video-showcase__pick-media {
    position: relative;
    flex: 1 1 0;
    min-height: 3.25rem;
    background: var(--color-bg-light);
    overflow: hidden;
}

.video-showcase__pick-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.video-showcase__pick-play {
    position: absolute;
    right: 0.4rem;
    bottom: 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    font-size: 0.55rem;
    color: var(--color-primary);
    background: rgba(245, 248, 252, 0.92);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .video-showcase__list {
        flex-direction: row;
        flex-wrap: nowrap;
        flex: 0 0 auto;
        min-height: 0;
        gap: 0.75rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: 0;
        overscroll-behavior-x: contain;
        padding-bottom: 0.25rem;
    }

    /* ~2.5 карточки в видимой области: 2.5 * ширина + 2 * gap ≈ 100% */
    .video-showcase__pick {
        flex: 0 0 calc((100% - 1.5rem) / 2.5);
        max-width: calc((100% - 1.5rem) / 2.5);
        min-width: 0;
        min-height: 0;
        scroll-snap-align: start;
    }

    .video-showcase__pick-media {
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    .video-showcase__list {
        scroll-snap-type: none;
    }
}

@media (max-width: 767px) {
    body {
        background: var(--color-bg);
    }

    .section {
        padding: 2.2rem 0;
    }

    .hero {
        --hero-top-space: max(4.3rem, calc(3.3rem + env(safe-area-inset-top)));
        --hero-bottom-space: 8rem;
        min-height: auto;
        padding-top: var(--hero-top-space);
        padding-bottom: var(--hero-bottom-space);
        overflow-x: hidden;
    }

    .hero > .container {
        overflow-x: hidden;
        max-width: 100%;
    }

    .hero__inner {
        min-height: auto;
        min-width: 0;
        max-width: 100%;
        grid-template-columns: 1fr;
        align-content: center;
    }

    .hero__content {
        text-align: left;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        overflow-wrap: anywhere;
        word-wrap: break-word;
    }

    .hero__title-line--main {
        white-space: normal;
        font-size: clamp(1.35rem, 6.2vw, 2.05rem);
        letter-spacing: 0.015em;
    }

    .hero__title-line--display {
        font-size: clamp(2rem, 12vw, 3.25rem);
        line-height: 0.91;
    }

    .hero__subtitle {
        gap: 0.1em;
        font-size: clamp(0.85rem, 3.8vw, 1.15rem);
    }

    .hero__subtitle-line--accent {
        font-size: clamp(1.65rem, 10.5vw, 2.85rem);
    }

    .hero__description {
        max-width: 36ch;
        color: #ffffff;
    }

    .hero__image {
        display: flex !important;
        justify-content: center;
        align-items: flex-end;
        min-width: 0;
        max-width: 100%;
        min-height: clamp(170px, 26vh, 280px);
        margin-top: 0.25rem;
        overflow: hidden;
    }

    /* Выше по каскаду .hero__image img { width: clamp(360px, …) } — перебиваем тем же контекстом .hero */
    .hero .hero__image img,
    .hero .hero__image img.hero__truck-image {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        transform: none;
        margin-inline: auto;
        object-fit: contain;
    }

    .hero__actions {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        align-self: stretch;
        justify-content: flex-start;
        margin-left: 0;
        margin-right: 0;
        gap: 0.65rem;
    }

    .hero__actions .btn {
        flex: 1 1 0;
        align-self: stretch;
        min-width: 0;
        width: auto;
        max-width: 100%;
        box-sizing: border-box;
        min-height: 3.125rem;
        padding: 0.85rem 0.65rem;
        font-size: clamp(0.92rem, 3.9vw, 1.06rem);
        white-space: normal;
        text-align: center;
        line-height: 1.25;
        font-weight: 600;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .hero__title {
        display: flex;
        flex-direction: column;
        width: 100%;
        letter-spacing: 0.02em;
    }

    .hero__scroll-down {
        display: none !important;
    }

    .cta-block .btn {
        width: auto;
    }

    .section--problem {
        margin-top: 0;
        overflow-x: hidden;
    }

    .section--problem .problem-solution {
        padding: 0;
        max-width: 100%;
    }

    .section--problem .problem-panel {
        border-radius: 0;
        padding: 1rem;
        height: auto;
        align-self: stretch;
    }

    .section--problem .problem-panel--benefits {
        padding: 1.05rem;
    }

    .section--problem .problem-panel--media {
        min-height: 0;
        padding: 0;
    }

    .section--problem .problem-panel--media .problem-solution__media {
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
    }

    .section--problem .problem-panel--benefits .problem-solution__header {
        flex: 0 1 auto;
        width: 100%;
        min-width: 0;
    }

    .problem-solution__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        border-radius: 20px;
    }

    .problem-solution__header {
        min-height: 0;
        height: auto;
        gap: 0.55rem;
    }

    .problem-solution__slider {
        height: 280px;
        max-width: 100%;
        box-sizing: border-box;
    }

    .problem-solution__image {
        min-height: 280px;
        max-width: 100%;
        box-sizing: border-box;
    }

    .problem-solution__image img {
        max-height: none;
        max-width: 100%;
    }

    .problem-solution__text,
    .problem-solution__text .section__subtitle,
    .problem-solution__solution {
        text-align: center;
        max-width: none;
    }

    .problem-section__lead {
        max-width: none;
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

    .problem-solution__header .benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.35rem;
        grid-auto-rows: minmax(2.85rem, auto);
        margin: 0.2rem 0 0.05rem;
    }

    .problem-solution__header .benefit-item {
        justify-content: flex-start;
        text-align: left;
        padding: 0.38rem 0.55rem;
        gap: 0.45rem;
        border-radius: var(--radius-md);
    }

    .problem-solution__header .benefit-item__icon {
        width: 18px;
        min-width: 18px;
        font-size: 0.92rem;
    }

    .problem-solution__header .benefit-item__text {
        text-align: left;
        font-size: 0.88rem;
        line-height: 1.22;
    }

    .problem-solution__header .benefit-item:last-child {
        grid-column: auto;
    }

    @media (max-width: 480px) {
        .problem-solution__header .benefits-grid {
            grid-template-columns: minmax(0, 1fr);
            gap: 0.28rem;
            grid-auto-rows: minmax(2.65rem, auto);
        }

        .problem-solution__header .benefit-item {
            padding: 0.34rem 0.5rem;
        }
    }

    .section--benefits .benefit-card {
        min-height: 0;
        border-radius: 20px;
        padding: 1.05rem;
        gap: 0.85rem;
    }

    .section--benefits .time-money__title {
        font-size: 1.3rem;
    }

    .section--benefits .montage-row {
        min-height: 0;
        padding: 0.5rem 0;
    }

    .section--benefits .time-money__size-list .time-row {
        grid-template-columns: 1fr;
        gap: 0.45rem;
        align-items: stretch;
        min-height: 0;
        padding-bottom: 0.35rem;
    }

    .section--benefits .time-money__size-list .time-row__size {
        text-align: left;
        justify-self: stretch;
    }

    .section--benefits .time-money {
        --truck-img-height: 40px;
    }

    .section--benefits .benefit-card--mobile-combo {
        --truck-img-height: 40px;
    }

    .section--benefits .time-money__size-list > .time-row .time-row__lane {
        margin-left: 0;
    }

}

@media (min-width: 768px) and (max-width: 1120px) {
    /* В двухколоночном герое места на две широкие кнопки в ряд не хватает — стек сохраняет одну строку текста */
    .hero__actions {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        max-width: min(100%, 420px);
    }

    .hero__actions .btn {
        flex: 0 1 auto;
        width: auto;
        min-width: 0;
        max-width: 100%;
        padding: 0.6rem var(--hero-btn-padding-x);
        font-size: clamp(0.9rem, 1.1vw + 0.5rem, 1.05rem);
    }

    .problem-solution__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        border-radius: 20px;
    }

    .section--problem .problem-panel {
        height: auto;
        min-width: 0;
    }

    .section--problem .problem-panel--media .problem-solution__media {
        flex: 0 0 auto;
        width: 100%;
    }

    .section--problem .problem-panel--benefits .problem-solution__header {
        flex: 0 1 auto;
        width: 100%;
    }

    .problem-solution__slider {
        height: 320px;
        max-width: 100%;
        box-sizing: border-box;
    }

    .problem-solution__image {
        min-height: 320px;
        max-width: 100%;
        box-sizing: border-box;
    }

    .problem-solution__text,
    .problem-solution__text .section__subtitle,
    .problem-solution__solution {
        text-align: center;
        max-width: none;
    }

    .problem-solution__header {
        min-height: 0;
        height: auto;
        gap: 1.15rem;
    }

    .problem-solution__header .benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .problem-solution__header .benefit-item:last-child {
        grid-column: auto;
    }

    .section--benefits .benefit-card {
        min-height: 0;
        max-width: none;
        margin: 0;
    }

}

/* --- Страница «О компании» --- */
.section--about-hero {
    padding-top: clamp(2.2rem, 4vw, 3.2rem);
    padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
    background: var(--color-bg-light);
}

.section--about-hero .about-page__hero-title {
    margin-bottom: 0.65rem;
    text-align: center;
}

.section--about-hero .about-page__hero-subtitle {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: var(--color-text-light);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.55;
}

@media (min-width: 992px) {
    .section--about-hero .about-page__hero-copy .about-page__hero-title,
    .section--about-hero .about-page__hero-copy .about-page__hero-subtitle {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
}

.about-page__hero-visual {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(14, 51, 84, 0.08);
    box-sizing: border-box;
}

.about-page__hero-img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
    object-fit: contain;
}

/* --- Страница «Партнёры», /contacts, /application — один тип hero --- */
.section--partners-hero,
.section--contacts-hero,
.section--application-hero,
.section--technology-hero,
.section--news-hero {
    padding-top: clamp(2.2rem, 4vw, 3.2rem);
    padding-bottom: clamp(0.85rem, 1.6vw, 1.35rem);
    background: var(--color-bg-light);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.partners-page__hero-grid {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
}

@media (min-width: 992px) {
    .partners-page__hero-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.section--partners-hero .partners-page__hero-title,
.section--contacts-hero .partners-page__hero-title,
.section--application-hero .partners-page__hero-title,
.section--technology-hero .partners-page__hero-title,
.section--news-hero .partners-page__hero-title {
    margin-bottom: 0.65rem;
    text-align: center;
}

.section--partners-hero .partners-page__hero-subtitle,
.section--contacts-hero .partners-page__hero-subtitle,
.section--application-hero .partners-page__hero-subtitle,
.section--technology-hero .partners-page__hero-subtitle,
.section--news-hero .partners-page__hero-subtitle {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: var(--color-text-light);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.55;
}

@media (min-width: 992px) {
    .section--partners-hero .partners-page__hero-copy .partners-page__hero-title,
    .section--partners-hero .partners-page__hero-copy .partners-page__hero-subtitle,
    .section--contacts-hero .partners-page__hero-copy .partners-page__hero-title,
    .section--contacts-hero .partners-page__hero-copy .partners-page__hero-subtitle,
    .section--application-hero .partners-page__hero-copy .partners-page__hero-title,
    .section--application-hero .partners-page__hero-copy .partners-page__hero-subtitle,
    .section--technology-hero .partners-page__hero-copy .partners-page__hero-title,
    .section--technology-hero .partners-page__hero-copy .partners-page__hero-subtitle,
    .section--news-hero .partners-page__hero-copy .partners-page__hero-title,
    .section--news-hero .partners-page__hero-copy .partners-page__hero-subtitle {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
}

.partners-page__hero-visual {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(14, 51, 84, 0.08);
    box-sizing: border-box;
}

.partners-page__hero-img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
    object-fit: contain;
}

/* --- Страница «Новости» — лента (фон как у «Почему Автомедиафасад»: белый) --- */
.section--news-feed {
    padding-block: clamp(2.5rem, 4.2vw, 4rem);
    background: #ffffff;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--news-feed__header {
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
    text-align: center;
}

.section--news-feed__header .section__subtitle {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    color: var(--color-text);
    text-align: center;
}

.news-list--modern {
    gap: clamp(1.35rem, 2.8vw, 2rem);
}

/* Лента новостей: сетка как у .container (Bootstrap row), карточка — строка «превью + текст» */
.news-list.news-list--compact.row {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: unset;
    gap: 0;
}

.news-list.news-list--compact {
    --news-card-gap: clamp(0.75rem, 1.6vw, 1rem);
}

.news-item.news-item--compact {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0;
    overflow: hidden;
    border: none;
    border-radius: clamp(20px, 2.2vw, 28px);
    box-shadow: none;
}

/* Тона карточек — как why-choice-card (синий / нейтральный / дымка), по порядку в ленте */
.section--news.section--news-feed .news-list--compact > .col-12:nth-child(3n + 1) .news-item.news-item--compact {
    background: linear-gradient(135deg, #d8e6f5 0%, #eef4fb 48%, #f5f8fc 100%);
    border: none;
}

.section--news.section--news-feed .news-list--compact > .col-12:nth-child(3n + 2) .news-item.news-item--compact {
    background: #f1f3f7;
    border: none;
}

.section--news.section--news-feed .news-list--compact > .col-12:nth-child(3n + 3) .news-item.news-item--compact {
    background: linear-gradient(160deg, #e8edf4 0%, #f6f8fb 100%);
    border: none;
}

/* Превью на всю ширину карточки, сверху */
.news-item--compact .news-item__media-link--top {
    display: block;
    width: 100%;
    flex: 0 0 auto;
    outline: none;
    line-height: 0;
}

.news-item--compact .news-item__media-link--top:focus-visible {
    box-shadow: inset 0 0 0 2px #ffffff, inset 0 0 0 4px var(--color-primary);
}

.news-item--compact .news-item__image--top {
    width: 100%;
    aspect-ratio: 16 / 10;
    min-height: clamp(11rem, 32vw, 15.5rem);
    max-height: clamp(13rem, 36vw, 17.5rem);
    overflow: hidden;
    background: rgba(15, 61, 102, 0.06);
}

.news-item--compact .news-item__image--top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-item--compact .news-item__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: clamp(1.15rem, 2.2vw, 1.45rem) clamp(1.15rem, 2.4vw, 1.5rem) clamp(1.1rem, 2vw, 1.35rem);
}

.news-item--compact .news-item__date {
    display: block;
    margin: 0;
    font-size: 0.875rem;
    color: var(--color-text-light);
}

.news-item--compact .news-item__title {
    font-size: clamp(1.08rem, 1.35vw, 1.28rem);
    font-weight: 600;
    margin: 0;
    line-height: 1.28;
    color: #000000;
}

.news-item--compact .news-item__title a {
    color: inherit;
    text-decoration: none;
}

.news-item--compact .news-item__title a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

.news-item--compact .news-item__excerpt {
    margin: 0;
    font-size: clamp(0.9375rem, 1vw, 1.02rem);
    line-height: 1.5;
    color: #000000;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-item--compact .news-item__actions {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: auto;
    padding-top: 0.75rem;
}

/* Кнопка как «Узнать больше» в блоке «Почему Автомедиафасад» */
.section--news-feed .news-item__cta.btn {
    border-radius: 12px;
    border: none;
    background: #ffffff;
    color: #000000;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    padding-block: 0.5rem;
    padding-inline: 0.9rem;
}

.section--news-feed .news-item__cta.btn:hover:not(:disabled),
.section--news-feed .news-item__cta.btn:focus-visible:not(:disabled) {
    border: none;
    background: #ffffff;
    color: #000000;
}

.section--news-feed .news-item__cta.btn:active:not(:disabled) {
    background: #f4f4f5;
}

.news-empty--card {
    max-width: 42rem;
    margin: 0 auto;
    padding: clamp(1.75rem, 3vw, 2.5rem);
    text-align: center;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(14, 51, 84, 0.08);
    border-radius: var(--radius-xl);
    color: var(--color-text-light);
    line-height: 1.55;
}

/* Страница одной новости */
.section--news-article-head {
    padding-top: clamp(1.5rem, 3vw, 2.25rem);
    padding-bottom: clamp(0.75rem, 1.5vw, 1.1rem);
    background: #ffffff;
    scroll-margin-top: var(--anchor-scroll-margin);
}

.news-article__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    margin-bottom: 0.75rem;
}

.news-article__crumb {
    color: var(--color-primary);
    text-decoration: none;
}

.news-article__crumb:hover {
    text-decoration: underline;
}

.news-article__crumb-sep {
    color: var(--color-text-muted);
    user-select: none;
}

.news-article__title {
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 700;
    line-height: 1.25;
    color: #141414;
    margin: 0 0 0.5rem;
    max-width: none;
}

.news-article__meta {
    display: block;
    font-size: 0.875rem;
    color: var(--color-text-light);
}

.section--news-article-body {
    padding-block: clamp(1rem, 2.2vw, 1.75rem);
    background: #ffffff;
}

.news-article__content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Меньшее фото слева, текст обтекает (на узком экране — над текстом) */
.news-article__figure--float {
    float: left;
    width: min(34%, 220px);
    max-width: min(34vw + 4rem, 240px);
    margin: 0.2rem clamp(0.85rem, 2vw, 1.25rem) 0.65rem 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    border: none;
    line-height: 0;
}

.news-article__figure--float .news-article__image {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

@media (max-width: 575.98px) {
    .news-article__figure--float {
        float: none;
        width: 100%;
        max-width: 17.5rem;
        margin: 0 auto 1rem;
    }
}

.news-article__lead {
    font-size: clamp(1rem, 1.15vw, 1.0625rem);
    line-height: 1.55;
    color: var(--color-text);
    margin: 0 0 1rem;
    font-weight: 500;
}

.news-article__text {
    font-size: clamp(0.9375rem, 1.05vw, 1rem);
    line-height: 1.62;
    color: var(--color-text);
}

/* Галерея новости: тот же Swiper, что на «О компании» / у партнёров */
.news-article__gallery-wrap {
    clear: both;
    margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

.news-article__text + .news-article__gallery-wrap,
.news-article__lead + .news-article__gallery-wrap {
    margin-top: clamp(2.25rem, 5vw, 3.5rem);
}

.news-article__back-wrap {
    margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
    clear: both;
}

.news-article__back {
    display: inline-flex;
}

/* «Все новости»: без обводки, hover в палитре сайта */
.section--news-article-body .news-article__back.btn--outline {
    border: none;
    border-radius: var(--radius-btn);
    background: transparent;
    color: var(--color-primary);
    box-shadow: none;
    backdrop-filter: none;
    font-weight: 500;
    padding-block: 0.5rem;
    padding-inline: 0.65rem;
    text-decoration: none;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.section--news-article-body .news-article__back.btn--outline:hover:not(:disabled),
.section--news-article-body .news-article__back.btn--outline:focus-visible:not(:disabled) {
    border: none;
    color: var(--color-primary-dark);
    background: rgba(15, 61, 102, 0.08);
    transform: none;
    box-shadow: none;
}

.section--news-article-body .news-article__back.btn--outline:active:not(:disabled) {
    border: none;
    color: var(--color-primary-dark);
    background: rgba(15, 61, 102, 0.14);
    transform: none;
}

/* --- Страницы HTTP-ошибок (4xx / 5xx) --- */
.section--error-page {
    padding-top: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
    background:
        radial-gradient(ellipse 70% 50% at 88% 20%, rgba(255, 122, 47, 0.08), transparent 55%),
        radial-gradient(circle at 12% 55%, rgba(15, 61, 102, 0.06), transparent 45%),
        var(--color-bg-light);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--error-page--server {
    background:
        radial-gradient(ellipse 65% 48% at 82% 22%, rgba(15, 61, 102, 0.07), transparent 54%),
        radial-gradient(circle at 14% 52%, rgba(45, 55, 72, 0.05), transparent 46%),
        var(--color-bg-light);
}

.error-page__grid {
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
    align-items: center;
}

@media (min-width: 992px) {
    .error-page__grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: clamp(2rem, 4vw, 3.5rem);
    }
}

.error-page__copy {
    position: relative;
    text-align: center;
}

@media (min-width: 992px) {
    .error-page__copy {
        text-align: left;
    }
}

.error-page__code {
    margin: 0 0 0.35rem;
    font-size: clamp(4.5rem, 14vw, 7.5rem);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--color-primary) 0%, #0c3355 42%, var(--color-accent, #1f7ad6) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    user-select: none;
}

.section--error-page--server .error-page__code {
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 48%, var(--color-primary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.error-page__title {
    margin: 0 0 0.85rem;
    font-size: clamp(1.45rem, 2.8vw, 1.85rem);
    font-weight: 600;
    color: #111111;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.error-page__lead {
    margin: 0 auto;
    max-width: 28rem;
    font-size: clamp(1rem, 1.15vw, 1.06rem);
    line-height: 1.6;
    color: var(--color-text-light);
}

@media (min-width: 992px) {
    .error-page__lead {
        margin: 0;
        max-width: 32rem;
    }
}

.error-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    justify-content: center;
    margin-top: clamp(1.35rem, 2.5vw, 1.85rem);
}

@media (min-width: 992px) {
    .error-page__actions {
        justify-content: flex-start;
    }
}

.section--error-page .error-page__btn-outline {
    color: var(--color-primary);
    border-color: rgba(15, 61, 102, 0.28);
    background: #ffffff;
}

.section--error-page .error-page__btn-outline:hover:not(:disabled) {
    border-color: var(--color-primary);
    background: rgba(15, 61, 102, 0.04);
    color: var(--color-primary);
}

.error-page__visual {
    display: flex;
    justify-content: center;
}

@media (min-width: 992px) {
    .error-page__visual {
        justify-content: flex-end;
    }
}

.error-page__card {
    width: 100%;
    max-width: 22rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border-radius: var(--radius-xl);
    background: #ffffff;
    border: 1px solid rgba(14, 51, 84, 0.1);
    box-shadow:
        0 1px 2px rgba(15, 61, 102, 0.04),
        0 12px 40px rgba(15, 61, 102, 0.07);
    box-sizing: border-box;
}

.error-page__illustration {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

/* --- Страница «Технология»: было/стало --- */
.section--technology-before-after {
    padding-top: clamp(0.75rem, 1.5vw, 1.25rem);
    padding-bottom: clamp(2.5rem, 4.2vw, 4rem);
    background: var(--color-bg);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--technology-before-after .technology-before-after__intro {
    max-width: 40rem;
    margin: 0 auto clamp(1.25rem, 2.5vw, 1.75rem);
    text-align: center;
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.55;
    color: var(--color-text-light);
}

.tech-before-after {
    max-width: 920px;
    margin: 0 auto;
}

.tech-before-after__labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    padding: 0 0.15rem;
    font-size: clamp(0.75rem, 1vw, 0.8125rem);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-light);
}

.tech-before-after__viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    max-height: min(72vh, 560px);
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: #e8edf2;
    user-select: none;
    cursor: col-resize;
    box-sizing: border-box;
}

.tech-before-after__img--after {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    pointer-events: none;
}

.tech-before-after__clip {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: 2;
    overflow: hidden;
    border-right: 3px solid rgba(255, 255, 255, 0.95);
    box-shadow: 6px 0 20px rgba(15, 36, 61, 0.12);
}

.tech-before-after__img--before {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
}

.tech-before-after__handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 48px;
    margin-left: -24px;
    z-index: 3;
    padding: 0;
    border: none;
    background: transparent;
    cursor: ew-resize;
    touch-action: none;
}

.tech-before-after__handle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.tech-before-after__handle-line {
    position: absolute;
    left: 50%;
    top: 8%;
    bottom: 8%;
    width: 4px;
    transform: translateX(-50%);
    background: #ffffff;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(15, 36, 61, 0.12);
    pointer-events: none;
}

.tech-before-after__handle-grip {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(15, 36, 61, 0.18);
    pointer-events: none;
    border: 1px solid rgba(15, 61, 102, 0.12);
}

.tech-before-after__handle-grip::before,
.tech-before-after__handle-grip::after {
    content: '';
    position: absolute;
    left: 50%;
    width: 2px;
    height: 10px;
    margin-left: -4px;
    top: 50%;
    margin-top: -5px;
    background: rgba(15, 36, 61, 0.35);
    border-radius: 1px;
}

.tech-before-after__handle-grip::after {
    margin-left: 2px;
}

.tech-before-after__hint {
    margin: 0.65rem 0 0;
    text-align: center;
    font-size: clamp(0.8125rem, 1vw, 0.875rem);
    color: var(--color-text-light);
}

.technology-compare__captions {
    display: grid;
    gap: 0.65rem;
    max-width: 52rem;
    margin: clamp(1.25rem, 2.5vw, 1.75rem) auto 0;
    padding: 0 0.25rem;
    font-size: clamp(0.95rem, 1.05vw, 1rem);
    line-height: 1.45;
    color: var(--color-text);
}

@media (min-width: 640px) {
    .technology-compare__captions {
        grid-template-columns: 1fr 1fr;
        gap: 1rem 1.5rem;
    }
}

/* --- Страница «Применение»: сравнение оклейки и профильной системы + 2 слайдера --- */
.section--application-compare {
    padding-block: clamp(2.5rem, 4.2vw, 4rem);
    scroll-margin-top: var(--anchor-scroll-margin);
}

.section--application-compare--legacy {
    background: var(--color-bg);
}

.section--application-compare--new {
    background: linear-gradient(180deg, #f4f7fb 0%, #eef2f7 55%, #f6f8fc 100%);
}

.application-compare {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.25rem);
    align-items: start;
}

@media (min-width: 992px) {
    .application-compare {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
        align-items: center;
    }
}

.application-compare__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--color-text);
}

.application-compare__label {
    margin: 0 0 1rem;
    font-size: clamp(0.8125rem, 1vw, 0.875rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-primary);
}

.application-compare__list {
    margin: 0;
    padding: 0 0 0 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    font-size: clamp(0.95rem, 1.05vw, 1.02rem);
    line-height: 1.5;
    color: var(--color-text);
}

.application-compare__list li {
    padding-left: 0.15rem;
}

.application-compare__list li::marker {
    color: var(--color-accent);
}

.application-compare__slider-caption {
    margin: 0 0 0.5rem;
    font-size: clamp(0.9rem, 1vw, 0.95rem);
    font-weight: 500;
    color: var(--color-text-light);
}

/* Сетка: колонка с медиа не сжимается в 0 на узких экранах */
.application-compare__media {
    min-width: 0;
    width: 100%;
}

.application-compare__title,
.application-compare__label {
    overflow-wrap: anywhere;
    word-wrap: break-word;
    max-width: 100%;
}

.application-compare-swiper {
    position: relative;
    width: 100%;
    height: min(430px, 62vw);
    min-height: 220px;
    max-height: 480px;
    border-radius: 18px;
    overflow: hidden;
    background: #f2f5f9;
    box-sizing: border-box;
}

.application-compare-swiper .swiper-wrapper {
    height: 100%;
    box-sizing: border-box;
}

.application-compare-swiper .swiper-slide {
    height: 100%;
    box-sizing: border-box;
    align-self: stretch;
}

.application-compare-swiper__slide-inner {
    position: relative;
    height: 100%;
    min-height: 200px;
    background: #f2f5f9;
    border-radius: 18px;
    overflow: hidden;
}

/* flex + height:100% у img на мобильных даёт пустой слайд — заполняем ячейку как в about-gallery */
.application-compare-swiper__slide-inner img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transform: scale(1.08);
    transform-origin: center center;
    border-radius: 18px;
}

.application-compare-swiper__pagination {
    position: relative;
    margin-top: 0.65rem;
    text-align: center;
}

.application-compare-swiper__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(15, 61, 102, 0.28);
    opacity: 1;
}

.application-compare-swiper__pagination .swiper-pagination-bullet-active {
    background: var(--color-accent);
}

.section--application-outro {
    padding-block: clamp(2.4rem, 4vw, 3.75rem) clamp(1rem, 2vw, 1.5rem);
    background: linear-gradient(180deg, #f6f8fc 0%, #eef2f7 100%);
}

.section--application-outro .application-outro__lead {
    max-width: 52rem;
    margin: 0 auto;
    text-align: center;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.55;
    color: var(--color-text-light);
}

.section--partners-types {
    padding-block: clamp(2rem, 3vw, 2.75rem);
}

.section--partners-types .partners-page__types-header {
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.section--partners-types .partners-page__types-header .section__title {
    color: #111111;
}

.section--partners-types .partners-page__types-lead {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: var(--color-text-light);
    line-height: 1.55;
}

.section--partners-types .partners-page__types-grid.partners-grid {
    margin-top: clamp(1.5rem, 2.5vw, 2rem);
    margin-bottom: 0;
    grid-template-columns: 1fr;
    gap: clamp(1.25rem, 2vw, 1.75rem);
}

@media (min-width: 768px) {
    .section--partners-types .partners-page__types-grid.partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Карточки форматов: как «Почему Автомедиафасад» — чёрные заголовки и основной текст */
.section--partners-types .partner-type-card {
    display: flex;
    flex-direction: column;
    padding: clamp(1.05rem, 1.5vw, 1.35rem);
    border: 1px solid rgba(18, 49, 78, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
}

.section--partners-types .partner-type-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.65rem;
}

.section--partners-types .partner-type-card__title {
    margin: 0;
    font-size: clamp(1.05rem, 1.1vw, 1.28rem);
    line-height: 1.2;
    color: #000000;
}

.section--partners-types .partner-type-card__subtitle {
    margin: 0;
    font-size: clamp(0.98rem, 1vw, 1.08rem);
    line-height: 1.35;
    font-weight: 600;
    color: #141414;
}

.section--partners-types .partner-type-card__text {
    margin: 0;
    font-size: clamp(0.94rem, 0.98vw, 1.05rem);
    line-height: 1.54;
    color: #141414;
}

.section--partners-types .partner-type-card__list-heading {
    margin: 0.35rem 0 0;
    font-size: clamp(0.94rem, 0.98vw, 1.05rem);
    line-height: 1.35;
    font-weight: 600;
    color: #000000;
}

.section--partners-types .partner-type-card__benefits {
    list-style: none;
    margin: 0;
    padding: 0;
}

.section--partners-types .partner-type-card__benefits li {
    position: relative;
    margin: 0;
    padding: 0.35rem 0 0.35rem 1.35rem;
    font-size: clamp(0.94rem, 0.98vw, 1.05rem);
    line-height: 1.5;
    color: #141414;
}

.section--partners-types .partner-type-card__benefits li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0.4rem;
    color: var(--color-accent);
    font-weight: 600;
}

.section--partners-types .partner-type-card .btn {
    margin-top: clamp(1rem, 1.5vw, 1.25rem);
    align-self: flex-start;
}

.section--partners-map {
    padding-block: clamp(2.25rem, 3.5vw, 3rem);
    background: #ffffff;
}

.section--partners-map .partners-page__map-header {
    text-align: center;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

.section--partners-map .partners-page__map-header .section__title {
    color: #111111;
}

.section--partners-map .partners-page__map-lead {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: var(--color-text-light);
}

.partners-page__map-regions {
    margin-top: clamp(1.5rem, 2.5vw, 2rem);
}

.partners-page__region-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-md);
}

@media (min-width: 768px) {
    .partners-page__region-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.partners-page__region-item {
    padding: var(--spacing-md);
    text-align: center;
    font-weight: 600;
    color: var(--color-text);
    background: var(--color-bg-light);
    border: 1px solid rgba(14, 51, 84, 0.08);
    border-radius: var(--radius-md);
}

/* --- Страница «Как установить» --- */
.section--installation-hero {
    padding-top: clamp(2.2rem, 4vw, 3.2rem);
    padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
    background: var(--color-bg-light);
}

.installation-page__hero-grid {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
}

@media (min-width: 992px) {
    .installation-page__hero-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.section--installation-hero .installation-page__hero-title {
    margin-bottom: 0.65rem;
    text-align: center;
}

.section--installation-hero .installation-page__hero-subtitle {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: var(--color-text-light);
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.55;
}

@media (min-width: 992px) {
    .section--installation-hero .installation-page__hero-copy .installation-page__hero-title,
    .section--installation-hero .installation-page__hero-copy .installation-page__hero-subtitle,
    .section--installation-hero .installation-page__hero-copy .installation-page__hero-install-lead {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
}

.installation-page__hero-install-lead {
    max-width: 40rem;
    margin: clamp(1.2rem, 2.4vw, 1.65rem) auto 0;
    font-size: clamp(0.98rem, 1.05vw, 1.0625rem);
    line-height: 1.65;
    color: var(--color-text-light);
    text-align: center;
}

.installation-page__hero-install-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    margin-top: clamp(0.85rem, 1.5vw, 1.1rem);
}

@media (min-width: 992px) {
    .installation-page__hero-install-actions {
        justify-content: flex-start;
    }
}

.installation-page__hero-visual {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(14, 51, 84, 0.08);
    box-sizing: border-box;
}

.installation-page__hero-img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
    object-fit: contain;
}

.section--installation-process .installation-page__process-header {
    text-align: center;
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.section--installation-process .installation-page__process-header .section__title {
    color: #111111;
}

.section--installation-process .installation-page__process-lead {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: var(--color-text-light);
    line-height: 1.55;
    text-wrap: balance;
}

.section--installation-profile {
    padding-block: clamp(1.75rem, 3vw, 2.75rem);
    background: #ffffff;
}

.installation-page__profile-prose {
    max-width: none;
    width: 100%;
    margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.installation-page__profile-figure {
    margin: 0;
    width: 100%;
}

/* Подложка под схему: белая, без рамки; отступы сохраняют поля у картинки */
.installation-page__profile-image-shell {
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: var(--radius-lg);
    border: none;
    padding: clamp(1.25rem, 4vw, 2.75rem);
}

.installation-page__profile-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    object-fit: contain;
}

.installation-page__profile-figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 1rem;
    text-align: left;
    max-width: none;
    width: 100%;
}

.installation-page__profile-figcaption-label {
    font-weight: 700;
    font-size: clamp(0.8125rem, 0.95vw, 0.875rem);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #111111;
}

.installation-page__profile-figcaption-note {
    font-size: 0.9375rem;
    color: var(--color-text-light);
}

.installation-page__profile-title {
    color: #111111;
    margin-bottom: 0.35rem;
    text-align: center;
}

.installation-page__profile-subtitle {
    margin: 0 auto 0.85rem;
    max-width: 40rem;
    color: var(--color-text-light);
    line-height: 1.55;
    text-align: center;
}

.installation-page__profile-intro,
.installation-page__profile-outro {
    margin: 0 0 1.1rem;
    font-size: clamp(1rem, 1.05vw, 1.0625rem);
    line-height: 1.72;
    color: var(--color-text);
}

.installation-page__profile-outro {
    margin-bottom: 0;
}

.installation-page__profile-parts {
    margin: 0 0 1.25rem;
    padding: 0;
}

.installation-page__profile-part {
    margin: 0 0 1.25rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid rgba(14, 51, 84, 0.1);
}

.installation-page__profile-part:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.installation-page__profile-part dt {
    font-weight: 600;
    font-size: clamp(1.02rem, 1.1vw, 1.08rem);
    color: #111111;
    margin-bottom: 0.35rem;
}

.installation-page__profile-part dd {
    margin: 0;
    font-size: clamp(1rem, 1.05vw, 1.0625rem);
    line-height: 1.68;
    color: var(--color-text);
}

.about-page__prose {
    margin-bottom: clamp(2rem, 3vw, 2.75rem);
}

.about-page__prose p {
    margin: 0 0 1.1rem;
    font-size: clamp(1rem, 1.05vw, 1.0625rem);
    line-height: 1.72;
    color: var(--color-text);
}

.about-page__lead {
    font-size: clamp(1.08rem, 1.2vw, 1.2rem) !important;
    font-weight: 500;
    line-height: 1.55 !important;
    color: var(--color-text) !important;
}

.about-page__gallery-heading,
.about-page__prose-head {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}

.about-page__gallery-heading .section__title,
.about-page__prose-head .section__title {
    margin: 0 0 0.5rem;
    text-align: center;
}

.about-page__gallery-heading .about-page__gallery-intro,
.about-page__prose-head .about-page__prose-intro {
    margin: 0;
    text-align: center;
    color: var(--color-text-light);
    line-height: 1.55;
}

.about-page__gallery-intro,
.about-page__prose-intro {
    margin: 0 0 1.25rem;
    color: var(--color-text-light);
}

.about-page__slider-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Лента превью: одна высота ряда — кадры заполняют ячейку (cover), скругление у каждого; зазоры в JS */
.about-gallery-swiper {
    --about-gallery-row-h: clamp(200px, 28vw, 320px);
    position: relative;
    width: 100%;
    max-width: 100%;
    height: var(--about-gallery-row-h);
    border-radius: 0;
    overflow: hidden;
    background: var(--color-bg);
    border: none;
    box-sizing: border-box;
    isolation: isolate;
}

.about-gallery-swiper .swiper-wrapper {
    height: 100%;
    align-items: stretch !important;
    box-sizing: border-box;
}

/* Swiper по умолчанию тянет слайды по высоте контента — фиксируем ровный ряд */
.about-gallery-swiper.swiper .swiper-slide.about-gallery-swiper__slide {
    position: relative;
    height: 100% !important;
    max-height: 100%;
    align-self: stretch !important;
    box-sizing: border-box;
    border-radius: var(--radius-lg);
    overflow: hidden;
    cursor: pointer;
    transform: translateZ(0);
}

/* Без класса swiper-zoom-container: у Swiper там flex + center, из‑за этого img не тянется на ячейку (как contain) */
.about-gallery-swiper.swiper .about-gallery-swiper__zoom {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block;
    overflow: hidden;
    border-radius: inherit;
    background: var(--color-bg);
}

/* Явно бьём глобальные img { height: auto } и любые max-* из сети */
.about-gallery-swiper.swiper img.about-gallery-swiper__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: inherit;
    transform: scale(1.06);
    transform-origin: center center;
    user-select: none;
    -webkit-user-drag: none;
}

.about-gallery-swiper__nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    transform: translateY(-50%);
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-primary);
    font-size: 0.85rem;
    cursor: pointer;
    box-shadow: 0 1px 6px rgba(14, 51, 84, 0.1);
    transition: background-color 0.15s ease;
}

.about-gallery-swiper__nav:hover {
    background: #ffffff;
}

.about-gallery-swiper__nav:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.about-gallery-swiper__nav--prev {
    left: 0.5rem;
}

.about-gallery-swiper__nav--next {
    right: 0.5rem;
}

.about-gallery-swiper__nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Стрелки превью скрываем при <5 слайдов с tablet (см. main.js); на мобильном оставляем — там один слайд, без стрелок неудобно */
.about-gallery-swiper.about-gallery-swiper--compact .about-gallery-swiper__nav {
    display: flex;
}

@media (min-width: 640px) {
    .about-gallery-swiper.about-gallery-swiper--compact .about-gallery-swiper__nav {
        display: none;
    }
}

.about-page__slider-hint {
    margin: 0.65rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--color-text-light);
    text-align: center;
}

.about-page__slider-hint strong {
    font-weight: 600;
    color: var(--color-text);
}

/* Модалка просмотра галереи «О компании» */
.modal.modal--gallery-lightbox .modal__content {
    max-width: min(96vw, 1100px);
    width: 100%;
    padding: 2.75rem 0.75rem 1rem;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.modal.modal--gallery-lightbox .modal__close {
    top: 0.35rem;
    right: 0.35rem;
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.modal.modal--gallery-lightbox .modal__close:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.modal.modal--gallery-lightbox .modal__body {
    padding: 0;
}

.about-gallery-lightbox__body {
    position: relative;
}

.about-gallery-lightbox-swiper {
    position: relative;
    width: 100%;
}

.about-gallery-lightbox-swiper .swiper-wrapper {
    align-items: center;
}

.about-gallery-lightbox__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.about-gallery-lightbox__img {
    display: block;
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.about-gallery-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    transform: translateY(-50%);
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-primary);
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.15s ease;
}

.about-gallery-lightbox__nav:hover {
    background: #ffffff;
}

.about-gallery-lightbox__nav:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.about-gallery-lightbox__nav--prev {
    left: 0.25rem;
}

.about-gallery-lightbox__nav--next {
    right: 0.25rem;
}

.about-gallery-lightbox__nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.about-gallery-lightbox__counter {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.section--about-trust {
    background: #ffffff;
}

.section--about-trust .section__title {
    text-align: center;
}

.section--about-trust .partners-page__trust-lead {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: var(--color-text-light);
    line-height: 1.55;
}

.section--about-trust .partners-grid {
    margin-top: clamp(1.25rem, 2vw, 1.75rem);
    margin-bottom: 0;
}

.section--partners-clients__header {
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

.section--partners-clients .partners-page__trust-lead {
    margin-top: 0.5rem;
    margin-bottom: 0;
    color: var(--color-text-light);
}

.section--partners-clients .partners-grid {
    margin-top: clamp(1.25rem, 2vw, 1.75rem);
}

/*
 * Логотипы в сетке: одна высота ячейки, картинка по центру (герой, доверие, about/partners).
 * Высота clamp — единый ритм на всех ширинах; padding не растягивает ряд непредсказуемо.
 */
.hero .partners-grid .partner-logo,
.hero .hero__brands .partner-logo,
.section--trust .testimonial-card__partners .partner-logo,
.section--about-trust .partners-grid .partner-logo,
.section--partners-clients .partners-grid .partner-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: clamp(104px, 13vw, 132px);
    min-height: clamp(104px, 13vw, 132px);
    max-height: clamp(104px, 13vw, 132px);
    padding: clamp(0.55rem, 1.1vw, 0.85rem);
    background-color: #ffffff;
    border: 1px solid rgba(18, 49, 78, 0.08);
    border-radius: var(--radius-md);
    box-shadow: none;
    overflow: hidden;
}

.hero .partners-grid .partner-logo img,
.hero .hero__brands .partner-logo img,
.section--trust .testimonial-card__partners .partner-logo img,
.section--about-trust .partners-grid .partner-logo img,
.section--partners-clients .partners-grid .partner-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
}

.partner-logo__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 100%;
    text-decoration: none;
    color: inherit;
    border-radius: inherit;
}

.partner-logo__link:focus-visible {
    outline: 2px solid rgba(14, 51, 84, 0.35);
    outline-offset: 2px;
}

.section--partner-gallery-hero .partner-gallery__kicker {
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
}

.section--partner-gallery-hero .partner-gallery__back {
    color: rgba(14, 51, 84, 0.55);
    text-decoration: none;
    font-weight: 500;
}

.section--partner-gallery-hero .partner-gallery__back:hover {
    color: rgba(14, 51, 84, 0.85);
    text-decoration: underline;
}

.section--partner-gallery-hero .partner-gallery__logo-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.section--partner-gallery-hero .partner-gallery__logo-img {
    max-width: min(100%, 320px);
    max-height: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
}
