html {
    overflow-x: hidden;
    max-width: 100%;
    /* Высота fixed-шапки (задаётся скриптом на главной; fallback для POCO / Android) */
    --impulse-header-offset: 172px;
}

.page-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 188px 0 0 0;
    position: relative;
    overflow-x: hidden;
}

/* Главная: отступ под fixed-шапку (логотип + меню + табы) */
@media (min-width: 1561px) {
    body.home .page-wrapper {
        padding-top: clamp(168px, 11vw, 188px);
    }
}

@media (max-width: 1560px) and (min-width: 1041px) {
    body.home .page-wrapper {
        padding-top: clamp(152px, 10vw, 176px);
    }
}

@media (max-width: 1040px) {
    body.home .page-wrapper {
        /* Реальная высота шапки + safe-area (POCO F6 Pro, вырез камеры) — см. impulse_home_mobile_header_offset_script */
        padding-top: calc(env(safe-area-inset-top, 0px) + var(--impulse-header-offset, 172px) + 10px);
    }
}

@media (max-width: 480px) {
    body.home .page-wrapper {
        padding-top: calc(env(safe-area-inset-top, 0px) + var(--impulse-header-offset, 176px) + 12px);
    }
}

/* Типичная ширина POCO F6 Pro (~393 CSS px): чуть больше запас под 3 ряда шапки */
@media (max-width: 1040px) and (min-width: 360px) and (max-width: 430px) {
    body.home .page-wrapper {
        padding-top: calc(env(safe-area-inset-top, 0px) + var(--impulse-header-offset, 180px) + 14px);
    }

    body.home .banner_lw {
        scroll-margin-top: calc(env(safe-area-inset-top, 0px) + var(--impulse-header-offset, 180px) + 8px);
    }
}

body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* Не перебивать style.css: visible здесь давал горизонтальный скролл из-за full-bleed и свайперов */
main {
    overflow-x: hidden;
    max-width: 100%;
}

/* Единая палитра помощных CTA: синий / белый с синей обводкой / бирюза */
:root {
    --impulse-help-blue: #2563eb;
    --impulse-help-blue-hover: #1d4ed8;
    --impulse-help-blue-ring: #1e40af;
    --impulse-help-outline-bg: #ffffff;
    --impulse-help-outline-hover-bg: #eff6ff;
    --impulse-help-teal: #0ea5e9;
    --impulse-help-teal-hover: #0284c7;
    --impulse-help-teal-ring: #0369a1;
    /* Шапка: ряд «Алко / Нарко / …» — цвет в каждой вкладке (не один красный на всех); отдельно от CTA */
    --impulse-nav-tab-bg: #f8fafc;
    --impulse-nav-tab-bg-hover: #f1f5f9;
    --impulse-nav-tab-border: #e2e8f0;
    --impulse-nav-tab-border-hover: #cbd5e1;
    --impulse-nav-tab-text: #334155;
    --impulse-nav-tab-text-hover: #0f172a;
    --impulse-nav-tab-active-bg: #eef2ff;
    --impulse-nav-tab-active-border: #818cf8;
    --impulse-nav-tab-active-text: #312e81;
    /* Вкладка 1 / 2 / 3: мягкие оттенки (синий / бирюза / фиолетовый) */
    --impulse-nav-tab-a-bg: #eff6ff;
    --impulse-nav-tab-a-border: #bfdbfe;
    --impulse-nav-tab-a-text: #1e3a8a;
    --impulse-nav-tab-a-hover-bg: #dbeafe;
    --impulse-nav-tab-a-hover-border: #93c5fd;
    --impulse-nav-tab-a-active-bg: #dbeafe;
    --impulse-nav-tab-a-active-border: #2563eb;
    --impulse-nav-tab-a-active-text: #1e3a8a;
    --impulse-nav-tab-b-bg: #ecfeff;
    --impulse-nav-tab-b-border: #a5f3fc;
    --impulse-nav-tab-b-text: #155e75;
    --impulse-nav-tab-b-hover-bg: #cffafe;
    --impulse-nav-tab-b-hover-border: #22d3ee;
    --impulse-nav-tab-b-active-bg: #cffafe;
    --impulse-nav-tab-b-active-border: #0891b2;
    --impulse-nav-tab-b-active-text: #164e63;
    --impulse-nav-tab-c-bg: #f5f3ff;
    --impulse-nav-tab-c-border: #ddd6fe;
    --impulse-nav-tab-c-text: #5b21b6;
    --impulse-nav-tab-c-hover-bg: #ede9fe;
    --impulse-nav-tab-c-hover-border: #a78bfa;
    --impulse-nav-tab-c-active-bg: #ede9fe;
    --impulse-nav-tab-c-active-border: #7c3aed;
    --impulse-nav-tab-c-active-text: #5b21b6;
}

/* Главная: общий «канал» контента — заголовки и подзаголовки по левому краю, одинаковые поля (F-pattern, меньше скачков при сканировании) */
body.home {
    --page-home-gutter: clamp(7px, 0.65vw, 10px);
    overflow-x: clip;
}

body.home .page-wrapper {
    overflow-x: clip;
    max-width: 100%;
}

body.home > section,
body.home main > section {
    max-width: 100%;
    box-sizing: border-box;
}

body.home .page-home__main-directions-wrapper,
body.home .page-home__specialists-wrapper,
body.home .page-home__reviews-wrapper,
body.home .page-home__certificates-wrapper,
body.home .page-home__faq-wrapper,
body.home .page-home__contact-form-wrapper,
body.home .page-home__segments-wrapper,
body.home .page-home__about-wrapper {
    padding-left: var(--page-home-gutter);
    padding-right: var(--page-home-gutter);
    box-sizing: border-box;
}

body.home .page-home__prices-strip-inner {
    padding-left: var(--page-home-gutter);
    padding-right: var(--page-home-gutter);
}

/* Блок «Статьи»: убрать двойной отступ — поля как у остальных секций */
body.home .page-home__news-block {
    padding-left: 0;
    padding-right: 0;
}

body.home .page-home__news-wrapper {
    padding-left: var(--page-home-gutter);
    padding-right: var(--page-home-gutter);
    box-sizing: border-box;
}

body.home .main-directions__head,
body.home .main-directions__head-title,
body.home .main-directions__head-subtitle,
body.home .page-home__prices-strip-title,
body.home .page-home__prices-strip-lead,
body.home .page-home__specialists-head-title,
body.home .page-home__reviews-head-title,
body.home .page-home__certificates-head-title,
body.home .page-home__news-head-content-title,
body.home .page-home__news-head-content-text,
body.home .page-home__segments-title,
body.home .page-home__segments-text,
body.home .page-home__faq-left-title,
body.home .page-home__about-left-content-title,
body.home .page-home__about-heading,
body.home .page-home__work--compact .page-home__work-left-title,
body.home .page-home__contact-form-title,
body.home .page-home__contact-form-text {
    text-align: left;
}

body.home .page-home__prices-strip-title,
body.home .page-home__prices-strip-lead {
    margin-left: 0;
    margin-right: 0;
}

body.home .page-home__prices-strip {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
}

body.home .page-home__faq {
    content-visibility: auto;
    contain-intrinsic-size: 1px 360px;
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__certificates {
    content-visibility: auto;
    contain-intrinsic-size: 1px 280px;
}

/* Главная: блок «центр + основные направления» — как сертификаты/новости: clamp, карточки, лёгкий хром */
body.home .page-home__main-directions {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
    padding: clamp(14px, 2.2vw, 26px) 0;
    box-sizing: border-box;
}

body.home .main-directions__head {
    margin-bottom: clamp(14px, 2.2vw, 26px);
}

body.home .main-directions__head-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    line-height: 1.15;
    color: #0f172a;
    margin: 0 0 clamp(6px, 1vw, 10px) 0;
    font-weight: 600;
}

body.home .main-directions__head-subtitle {
    font-size: clamp(13px, 1.35vw, 15px);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0;
    line-height: 1.35;
}

body.home .main-directions__block {
    column-gap: clamp(20px, 4vw, 48px);
    row-gap: clamp(18px, 2.5vw, 28px);
    align-items: stretch;
}

body.home .main-directions__content {
    background: #fff;
    border-radius: clamp(14px, 2vw, 18px);
    border: 1px solid rgba(59, 130, 246, 0.12);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    padding: clamp(16px, 2.2vw, 22px);
    box-sizing: border-box;
}

body.home .main-directions__content img,
body.home .main-directions__content-photo {
    border-radius: clamp(10px, 1.5vw, 14px);
    margin-bottom: clamp(12px, 1.8vw, 18px);
}

body.home .main-directions__content p {
    font-size: clamp(14px, 1.45vw, 17px);
    line-height: 1.45;
    color: #5a616c;
}

body.home .main-directions__links {
    gap: clamp(10px, 1.5vw, 14px);
}

body.home .main-directions__links-item {
    width: 100%;
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2.2vw, 20px);
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    box-sizing: border-box;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

body.home .main-directions__links-item:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.12),
        0 8px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2.2vw, 20px);
}

body.home .main-directions__links-item > span:first-child {
    font-size: clamp(17px, 2vw, 22px) !important;
    font-weight: 600;
    color: #111827;
}

body.home .main-directions__links-item-img {
    border: 1px solid rgba(59, 130, 246, 0.18);
    background: #f8fafc;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

body.home .main-directions__links-item:hover .main-directions__links-item-img {
    background-color: #3a3afe;
    border-color: #3a3afe;
}

body.home .page-home__about {
    padding: clamp(14px, 2.2vw, 26px) 0;
    overflow-x: clip;
    max-width: 100%;
}

body.home .page-home__about-heading {
    margin-bottom: 0;
}

body.home .page-home__specialists {
    content-visibility: auto;
    contain-intrinsic-size: 1px 400px;
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__work {
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__specialists-head {
    margin-bottom: clamp(10px, 1.8vw, 18px);
}

body.home .page-home__specialists-categories {
    margin-top: 0;
    margin-bottom: clamp(12px, 2vw, 20px);
}

body.home .page-home__certificates {
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__certificates-head {
    margin-bottom: clamp(12px, 2vw, 20px);
}

body.home .page-home__certificates-head-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    line-height: 1.15;
    color: #0f172a;
}

body.home .certificates__swiper {
    height: clamp(140px, 24vw, 200px);
}

body.home .certificates__swiper-slide.swiper-slide {
    width: clamp(140px, 18vw, 190px);
}

body.home .certificates__swiper-slide img {
    filter: none;
    border-radius: 10px;
    box-shadow:
        0 0 0 1px rgba(59, 130, 246, 0.22),
        0 6px 18px rgba(15, 23, 42, 0.1);
    background: #fff;
    object-fit: contain;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body.home .certificates__swiper-slide:hover img,
body.home .certificates__swiper-slide:focus-visible img {
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.55),
        0 10px 28px rgba(15, 23, 42, 0.16);
    transform: translateY(-2px);
}

body.home .page-home__news {
    content-visibility: auto;
    contain-intrinsic-size: 1px 320px;
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__news-block {
    padding: clamp(18px, 2.8vw, 32px) clamp(12px, 2.4vw, 24px);
    border-radius: clamp(18px, 2.5vw, 28px);
}

body.home .page-home__news-head {
    margin-bottom: clamp(12px, 2vw, 20px);
}

body.home .page-home__news-head-content {
    margin-bottom: clamp(10px, 1.5vw, 16px);
}

body.home .page-home__news-head-content-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    line-height: 1.15;
}

body.home .page-home__news-head-content-text {
    font-size: clamp(14px, 1.45vw, 16px);
    line-height: 1.45;
    max-width: 100%;
}

body.home .page-home__news-swiper {
    height: clamp(180px, 26vw, 240px);
}

body.home .page-home__news-swiper-slide.swiper-slide {
    width: clamp(220px, 28vw, 300px);
    padding: clamp(14px, 2vw, 20px);
    border-radius: 12px;
    box-shadow:
        0 0 0 1px rgba(59, 130, 246, 0.15),
        0 4px 14px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease !important;
}

body.home .page-home__news-swiper-slide.swiper-slide:hover {
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.45),
        0 8px 22px rgba(15, 23, 42, 0.12);
    transform: translateY(-2px);
}

body.home .page-home__news-swiper-slide-top {
    font-size: clamp(15px, 1.6vw, 17px) !important;
    line-height: 1.35;
}

body.home .page-home__reviews {
    content-visibility: auto;
    contain-intrinsic-size: 1px 480px;
    padding: clamp(14px, 2.2vw, 26px) 0;
    margin: 0;
    border-radius: clamp(14px, 2.2vw, 22px);
    box-sizing: border-box;
}

body.home .page-home__reviews-head {
    margin-bottom: clamp(12px, 2vw, 20px);
}

body.home .page-home__specialists-head-title,
body.home .page-home__work-left-title {
    font-size: clamp(26px, 3vw, 40px) !important;
    line-height: 1.15;
}

body.home .page-home__reviews-head-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    line-height: 1.15;
    color: #0f172a;
}

body.home .page-home__reviews-head-note {
    margin-top: clamp(6px, 1vw, 10px);
    font-size: clamp(13px, 1.35vw, 15px) !important;
    line-height: 1.45;
    color: #5A616C;
}

body.home .page-home__reviews-head-btn {
    font-size: clamp(14px, 1.45vw, 16px) !important;
    font-weight: 600 !important;
    color: var(--impulse-help-blue) !important;
    text-decoration: none;
    padding: clamp(8px, 1vw, 10px) clamp(12px, 1.6vw, 16px);
    border-radius: 10px;
    border: 1px solid rgba(59, 130, 246, 0.35);
    background: #fff;
    column-gap: 8px;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.home .page-home__reviews-head-btn:hover {
    color: var(--impulse-help-blue-hover) !important;
    background: #eff6ff;
    border-color: var(--impulse-help-blue);
}

body.home .page-home__reviews-head-btn:hover .img-hide path {
    stroke: var(--impulse-help-blue-hover);
}

body.home .page-home__reviews-head-btn:hover .img-active path {
    stroke: var(--impulse-help-blue-hover);
}

body.home .page-home__reviews .page-home__reviews-content-slide.first.swiper-slide {
    max-width: clamp(240px, 22vw, 290px);
    padding: clamp(20px, 2.5vw, 32px) clamp(22px, 3vw, 36px);
    border-radius: clamp(12px, 1.8vw, 16px);
    background: linear-gradient(145deg, #4f46e5 0%, #3a3afe 55%, #312e81 100%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 6px 20px rgba(58, 58, 254, 0.35);
}

body.home .page-home__reviews-content-slide-average-num {
    font-size: clamp(40px, 5vw, 56px) !important;
    line-height: 1.05;
}

body.home .page-home__reviews-content-slide-average-text {
    font-size: clamp(14px, 1.45vw, 17px) !important;
    line-height: 1.4;
}

body.home .page-home__reviews .page-home__reviews-content-slide.swiper-slide:not(.first) {
    max-width: clamp(300px, 32vw, 380px);
    padding: clamp(18px, 2.2vw, 24px) clamp(16px, 2vw, 22px);
    border-radius: clamp(12px, 1.8vw, 16px);
    border: 1px solid rgba(59, 130, 246, 0.12);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

body.home .page-home__reviews .page-home__reviews-content-slide.swiper-slide:not(.first):hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.12),
        0 8px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

body.home .page-home__reviews-content-slide-head {
    margin-bottom: clamp(14px, 2vw, 20px);
}

body.home .page-home__reviews-content-slide-head-title {
    font-size: clamp(15px, 1.5vw, 17px) !important;
    max-width: none;
    margin: 0 0 4px 0;
}

body.home .page-home__reviews-content-slide-head-date {
    font-size: clamp(13px, 1.3vw, 15px) !important;
}

body.home .page-home__reviews-content-slide-content {
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.45;
    color: #374151;
}

body.home .page-home__reviews-content-slide-show {
    font-size: clamp(14px, 1.4vw, 15px);
    margin-top: auto;
    padding-top: clamp(10px, 1.5vw, 14px);
}

body.home .page-home__reviews-swiper-pagination.swiper-pagination {
    margin-top: clamp(20px, 3vw, 36px);
}

body.home .page-home__reviews-content {
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
    overflow-x: clip;
}

body.home .page-home__reviews .reviews__swiper.swiper {
    overflow: hidden;
}

body.home .page-home__faq-left-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    line-height: 1.15;
    margin-bottom: clamp(10px, 1.5vw, 18px);
}

body.home .page-home__faq-left-text {
    font-size: clamp(14px, 1.45vw, 16px);
    line-height: 1.45;
    margin-bottom: clamp(14px, 2vw, 22px);
}

body.home .page-home__faq-more {
    margin-top: clamp(12px, 2vw, 18px);
}

body.home .page-home__contact-form {
    content-visibility: auto;
    contain-intrinsic-size: 1px 420px;
    padding: clamp(14px, 2.2vw, 26px) 0;
}

body.home .page-home__contact-form-trust span {
    font-weight: 600;
    font-size: clamp(13px, 1.35vw, 15px);
    line-height: 1.35;
    background: rgba(255, 255, 255, 0.34);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: 0 2px 14px rgba(17, 24, 39, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.home .page-home__contact-form-trust span:hover {
    background: rgba(255, 255, 255, 0.48);
    border-color: rgba(255, 255, 255, 0.72);
    box-shadow: 0 4px 18px rgba(17, 24, 39, 0.14);
}

@media (max-width: 640px) {
    body.home .main-directions__head-title {
        font-size: clamp(20px, 5.5vw, 28px) !important;
    }

    body.home .main-directions__links-item > span:first-child {
        font-size: clamp(16px, 4.2vw, 19px) !important;
    }

    body.home .main-directions__links-item,
    body.home .main-directions__links-item:hover {
        padding: clamp(12px, 3.2vw, 16px) clamp(14px, 3.2vw, 18px);
    }

    body.home .page-home__specialists-categories {
        padding-bottom: 8px;
        gap: 10px;
    }

    body.home .page-home__specialists-categories-item {
        flex: 0 0 auto;
    }

}

@media (min-width: 1400px) {
    main .container, main .container-lg, main .container-md, main .container-sm, main .container-xl, main .container-xxl {
        max-width: 1520px;
    }
}

header.page-header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #ffffff;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}

/* style.css: header { position: sticky; z-index: 99 } — не перекрывать контентом при скролле */
header.page-header {
    position: fixed !important;
}

.admin-bar header.page-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar header.page-header {
        top: 46px;
    }
}

.page-wrapper > main {
    position: relative;
    z-index: 0;
}

.foto__pagination-item {
    width: 48px;
    height: 48px;
    cursor: pointer;

    display: none;
    align-items: center;
    justify-content: center;

    border: 2px solid #EAECF0;
    border-radius: 50%;
}

.foto__pagination-item.show {
    display: flex;
}

.foto__pagination-item span {
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    /*color: red;*/
    color: #5A616C;
}

.foto__pagination-wrapper {
    display: flex;
    align-items: center;
    justify-content: end;
    column-gap: 8px;
    margin-top: 64px;

}

.foto__pagination {
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.foto__pagination-prev {
    width: 48px;
    height: 48px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #EAECF0;
    border-radius: 50%;
}

.foto__pagination-next {
    width: 48px;
    height: 48px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #EAECF0;
    border-radius: 50%;
}

.foto__pagination-next img {
    transform: rotate(180deg);
}

.foto__pagination-item.current {
    background-color: #3A3AFE;
    border: 2px solid #3A3AFE;
}

.foto__pagination-item.current span {
    color: #FFFFFF;
}

.foto__pagination-item:hover {
    border: 2px solid #B7BECA;
}

.foto__pagination-devider {
    width: 48px;
    height: 48px;

    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: #9CA3AF;

    display: flex;
    align-items: center;
    justify-content: center;
}

.foto_hidden {
    display: none;
}

@media (min-width: 992px) {

    .navbar-nav .dropdown-menu {
        padding: 0!important;
        background-color: #ffffff!important;
        border: 1px solid #EBEDF1!important;
        border-radius: 12px;
    }

    .navbar-nav .dropdown-menu .px-3 {
        padding: 18px 20px!important;
        min-width: 240px;
    }

    .navbar-nav .dropdown-menu .px-3 li {
        margin-bottom: 14px;
    }

    .navbar-nav .dropdown-menu .px-3 li:last-child {
        margin-bottom: 0;
    }

}

@media (max-width: 992px) {
    .foto__pagination-wrapper {
        justify-content: center;
        margin-top: 30px;
    }

    .foto__pagination-item {
        width: 27px;
        height: 27px;
    }

    .foto__pagination-devider {
        width: 13px;
        height: 30px;
    }

    .foto__pagination-prev {
        width: 27px;
        height: 27px;
    }

    .foto__pagination-next {
        width: 27px;
        height: 27px;
    }

    .foto__pagination {
        column-gap: 6px;
    }
}


.uslugi-container {
    max-width: 1296px;
    margin: 0 auto;
}

.uslugi__title {
    font-family: Inter !important;
    font-size: 48px;
    font-weight: 700!important;
    line-height: 56.35px;
    margin: 40px 0 32px 0;
    color: #212529;
}

.uslugi__deskr-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 24px;
    max-height: 540px;
    margin-bottom: 32px;
}

.uslugi__deskr-photo img {
    width: 100%;
}

.uslugi__deskr-title {
    margin-bottom: 12px;
    font-family: Inter !important;
    font-size: 32px!important;
    font-weight: 600;
    line-height: 37.57px;
    color: #212529;
}

.uslugi__deskr-text {
    font-family: Inter !important;
    font-size: 16px!important;
    font-weight: 400;
    line-height: 24px;
    color: #212529;
    margin: 0;
}

@media (max-width: 1400px) {
    .uslugi-container {
        max-width: 1140px;
    }
}

@media (max-width: 1200px) {
    .uslugi-container {
        max-width: 960px;
    }
}

@media (max-width: 992px) {
    .uslugi-container {
        max-width: 720px;
    }
}

@media (max-width: 768px) {
    .uslugi-container {
        max-width: 540px;
    }
}

@media (max-width: 580px) {

    .uslugi__title {
        margin: 20px 0;
        line-height: 34.35px;
    }

    .uslugi-container {
        max-width: unset;
        margin: 0 20px;
    }

    .uslugi__deskr-title {
        margin-bottom: 12px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }

    .uslugi-breads .container.mt-5 {
        margin-top: 20px!important;
    }
}



.uslugi__info-block-reasons {
    margin-top: 120px;
}

.uslugi__info-block-reasons__head {
    margin-bottom: 32px;
}

.uslugi__info-block-reasons__head-title {
    font-family: Inter !important;
    font-size: 48px!important;
    font-weight: 600;
    line-height: 37.57px;
    color: #212529;
}

.uslugi__info-block-reasons__head-text {
    font-family: Inter !important;
    font-size: 16px!important;
    font-weight: 400;
    line-height: 24px;
    max-width: 640px;
    color: #212529;
}

.uslugi__info-block-reasons__body-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 50px;
    column-gap: 50px;
}

.uslugi__info-block-reasons__body-item {
    width: 100%;
    max-width: 598px;
}

.uslugi__info-block-reasons__body-item .uslugi__info-block-reasons__body-item-title {
    font-size: 20px!important;
    font-weight: 600;
    line-height: 22px;
    color: #212529;
}

.uslugi__info-block-reasons__body-item > p {
    font-size: 18px!important;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
}

.uslugi__info-block-reasons__body-item-btn {
    cursor: pointer;
    display: inline-block;
    padding: 15px 24px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 50px;
    margin-top: 48px;

    font-size: 18px!important;
    font-weight: 600;
    line-height: 22px;
    color: #FFFFFF;
}
.uslugi__info-block-reasons__body-item-btn:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff;
}

.uslugi__info-block-reasons__body-item ul {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    margin: 0;
    padding: 0;
}

.uslugi__info-block-reasons__body-item ul li {
    display: flex;
    align-items: start;
    column-gap: 12px;

    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
}

.uslugi__info-block-reasons__body-item ul li:before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    margin-top: 8px;
    background-color: #7241FF;
    border-radius: 50%;
    flex-shrink: 0;
}

.uslugi__info-block-reasons__body-item ul li span {
    max-width: 96%;
}

@media (max-width: 1400px) {
    .uslugi__info-block-reasons__body-item {
        max-width: 545px;
    }
}

@media (max-width: 1200px) {
    .uslugi__info-block-reasons__body-item {
        max-width: 455px;
    }
}

@media (max-width: 992px) {
    .uslugi__info-block-reasons__body-item {
        max-width: unset;
    }

    .uslugi__info-block-reasons {
        margin: 60px 0 0 0;
    }
}

@media (max-width: 768px) {

}

@media (max-width: 580px) {
    .uslugi__info-block-reasons__head-title {
        margin-bottom: 12px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }

    .uslugi__info-block-reasons__body-item-btn {
        margin-top: 30px;
        width: 100%;
        text-align: center;
    }
}



.uslugi__info-block-peculiarities {
    margin-top: 120px;
}

.uslugi__info-block-peculiarities__head {
    margin-bottom: 32px;
}

.uslugi__info-block-peculiarities__head-title {
    font-family: Inter !important;
    font-size: 48px!important;
    font-weight: 600;
    line-height: 37.57px;
    color: #212529;
    margin-bottom: 12px;
}

.uslugi__info-block-peculiarities__head-text {
    font-family: Inter !important;
    font-size: 16px!important;
    font-weight: 400;
    line-height: 24px;
    color: #212529;
    max-width: 640px;
}

.uslugi__info-block-peculiarities__body-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    row-gap: 20px;
    column-gap: 20px;
}

.uslugi__info-block-peculiarities__body-item {
    position: relative;

    max-width: 418px;
    width: 100%;

    flex-basis: 492px;
    flex-shrink: 0;

    background-color: #FBFAFF;
    border-radius: 16px;
    padding: 24px 24px 24px 48px;
}

.uslugi__info-block-peculiarities__body-item:nth-child(1):before {
    content: '1';
}

.uslugi__info-block-peculiarities__body-item:nth-child(2):before {
    content: '2';
}

.uslugi__info-block-peculiarities__body-item:nth-child(3):before {
    content: '3';
}

.uslugi__info-block-peculiarities__body-item:nth-child(4):before {
    content: '4';
}

.uslugi__info-block-peculiarities__body-item:nth-child(5):before {
    content: '5';
}

.uslugi__info-block-peculiarities__body-item:nth-child(6):before {
    content: '6';
}

.uslugi__info-block-peculiarities__body-item:nth-child(7):before {
    content: '7';
}

.uslugi__info-block-peculiarities__body-item:nth-child(8):before {
    content: '8';
}

.uslugi__info-block-peculiarities__body-item:nth-child(9):before {
    content: '9';
}

.uslugi__info-block-peculiarities__body-item:nth-child(10):before {
    content: '10';
}

.uslugi__info-block-peculiarities__body-item:nth-child(11):before {
    content: '11';
}

.uslugi__info-block-peculiarities__body-item:nth-child(12):before {
    content: '12';
}

.uslugi__info-block-peculiarities__body-item:nth-child(13):before {
    content: '13';
}

.uslugi__info-block-peculiarities__body-item:nth-child(14):before {
    content: '14';
}

.uslugi__info-block-peculiarities__body-item:nth-child(15):before {
    content: '15';
}

.uslugi__info-block-peculiarities__body-item:nth-child(16):before {
    content: '16';
}

.uslugi__info-block-peculiarities__body-item:nth-child(17):before {
    content: '17';
}

.uslugi__info-block-peculiarities__body-item:nth-child(18):before {
    content: '18';
}

.uslugi__info-block-peculiarities__body-item:nth-child(19):before {
    content: '19';
}

.uslugi__info-block-peculiarities__body-item:nth-child(20):before {
    content: '20';
}

.uslugi__info-block-peculiarities__body-item:before {
    width: 40px;
    height: 40px;
    padding: 9px 14px;

    display: flex;
    align-items: center;

    border-radius: 50%;
    background-color: #ffffff;

    position: absolute;
    top: 15px;
    left: -20px;

    font-size: 24px!important;
    font-weight: 600;
    line-height: 22px;
    color: #7241FF;
}

.uslugi__info-block-peculiarities__body-item-content-title {
    font-size: 20px!important;
    font-weight: 600;
    line-height: 22px;
    margin-bottom: 12px;
}

.uslugi__info-block-peculiarities__body-item-content-text {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

.uslugi__info-block-peculiarities__body-item-content-text p {
    font-size: 16px!important;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
    margin: 0;
}

.uslugi__info-block-peculiarities__body-item-content-text ul {
    padding: 0;
    margin: 0;
}

.uslugi__info-block-peculiarities__body-item-content-text ul li {
    display: flex;
    column-gap: 12px;
    font-size: 14px!important;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
    margin-bottom: 12px;
}

.uslugi__info-block-peculiarities__body-item-content-text ul li p {
    font-size: 14px!important;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
    margin: 0;
}

.uslugi__info-block-peculiarities__body-item-content-text ul li span {
    font-size: 14px!important;
    font-weight: 400;
    line-height: 20px;
    color: #212529;
}

.uslugi__info-block-peculiarities__body-item-content-text ul li:before {
    content: '';
    display: block;
    background-color: #7241FF;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-top: 7px;
    flex-shrink: 0;
}

.uslugi__info-block-under-text {
    margin-top: 32px;
}

.uslugi__info-block-under-text-title {
    font-family: Inter !important;
    font-weight: 600;
    font-size: 24px;
    line-height: 37.57px;
    color: #212529;
    margin-bottom: 12px;
}

.uslugi__info-block-under-text-deskr {
    font-family: Inter !important;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #212529;
}

@media (max-width: 1400px) {
    .uslugi__info-block-peculiarities__body-wrapper {
        column-gap: 20px;
    }

    .uslugi__info-block-peculiarities__body-item {
        max-width: 366px;
    }
}

@media (max-width: 1200px) {
    .uslugi__info-block-peculiarities__body-item {
        max-width: 470px;
    }
}

@media (max-width: 992px) {
    .uslugi__info-block-peculiarities {
        margin: 60px 0 0 0;
    }

    .uslugi__info-block-peculiarities__body-item {
        max-width: 350px;
    }
}

@media (max-width: 768px) {
    .uslugi__info-block-peculiarities__body-item {
        max-width: 100%;
    }
}

@media (max-width: 580px) {
    .uslugi__info-block-peculiarities__body-item {
        padding: 24px 24px 24px 32px;
    }

    .uslugi__info-block-peculiarities__head-title {
        margin-bottom: 12px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }
}



.uslugi-advantages {
    padding-top: 80px;
}

.uslugi-advantages__title {
    font-family: Inter !important;
    font-size: 48px!important;
    font-weight: 600!important;
    line-height: 37.57px;
    color: #212529;
    margin: 0 0 12px 0;
}

.uslugi-advantages__text {
    font-family: Inter !important;
    font-size: 18px!important;
    font-weight: 400!important;
    line-height: 24px;
    color: #212529;
    margin: 0 0 32px 0;
}

.uslugi-advantages__cards {
    margin: 0 0 64px 0;

    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    column-gap: 24px;
}

.uslugi-advantages__card {
    max-width: 416px;
    border-radius: 16px;
    background-color: #FBFAFF;
    padding: 24px 32px 26px 32px;
}

.uslugi-advantages__texts {
    display: flex;
    justify-content: space-between;

}

.uslugi-advantages__texts-item {
    font-family: Inter !important;
    font-size: 16px!important;
    font-weight: 400!important;
    line-height: 24px;
    color: #212529;
    max-width: 590px;

    margin: 0;
}

.uslugi-advantages__card-title {
    margin-bottom: 10px;

    font-size: 20px!important;
    font-weight: 600!important;
    line-height: 22px;
    color: #212529;
}

.uslugi-advantages__card-text {
    font-size: 16px!important;
    font-weight: 400!important;
    line-height: 20px;
    color: #212529;
    margin: 0!important;
}

.uslugi-advantages__card-img {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
}

@media (max-width: 1400px) {
    .uslugi-advantages__card {
        max-width: 364px;
    }
}

@media (max-width: 1200px) {
    .uslugi-advantages__card {
        max-width: 304px;
        padding: 20px;
    }

    .uslugi-advantages__texts {
        flex-direction: column;
        row-gap: 20px;
    }

    .uslugi-advantages__texts-item {
        max-width: unset;
    }
}

@media (max-width: 992px) {
    .uslugi-advantages {
        padding: 20px 0 0 0;
    }

    .uslugi-advantages__card {
        max-width: 348px;
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .uslugi-advantages__card {
        max-width: 100%;
    }
}

@media (max-width: 580px) {
    .uslugi-advantages__title {
        margin-bottom: 12px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }

    .uslugi-advantages__cards {
        margin: 0 0 40px 0;
    }
}



.uslugi-letterofthanks {
    padding-top: 120px;
    padding-bottom: 40px;
}

.uslugi-letterofthanks__wrapper {
    height: unset!important;
}

.uslugi-letterofthanks__title {
    font-family: Inter !important;
    font-size: 32px!important;
    font-weight: 600!important;
    line-height: 37.57px;
    color: #212529;
    margin-bottom: 32px;
}

.uslugi-letterofthanks__slide {
    width: 306px!important;
    height: 440px!important;
    border-radius: 12px;
    overflow: hidden;
    display: flex!important;
    align-items: center;
    justify-content: center;
}

.uslugi-letterofthanks__slide img {
    width: 100%;
}

.uslugi-letterofthanks__slider {
    position: relative;
}

.uslugi-letterofthanks__arrow-prev {
    display: flex;
    align-items: center;
    justify-content: center;

    position: absolute;
    z-index: 2;
    width: 1px;
    height: 1px;
    left: 0;
    top: 50%;
    overflow: visible;
}

.uslugi-letterofthanks__arrow-prev-item {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #EBEDF1;
    border-radius: 50%;
    cursor: pointer;
    background-color: #ffffff;
}

.uslugi-letterofthanks__arrow-prev-item img {
    transform: rotate(180deg);
}

.uslugi-letterofthanks__arrow-next {
    display: flex;
    align-items: center;
    justify-content: center;

    position: absolute;
    z-index: 2;
    width: 1px;
    height: 1px;
    right: 0;
    top: 50%;
    overflow: visible;
}

.uslugi-letterofthanks__arrow-next-item {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #EBEDF1;
    border-radius: 50%;
    cursor: pointer;
    background-color: #ffffff;
}

@media (max-width: 992px) {
    .uslugi-letterofthanks {
        padding-top: 60px;
    }
}
@media (max-width: 580px) {
    .uslugi-letterofthanks__title {
        margin-bottom: 20px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }

    .uslugi-rehabilitation h2.mb-5 {
        font-weight: 600!important;
        font-size: 24px!important;
    }

    .uslugi-onsultation h2.mb-5 {
        font-weight: 600!important;
        font-size: 24px!important;
    }
}



.uslugi-rehabilitation {
    padding-top: 120px;
}

.uslugi-rehabilitation h2.mb-5 {
    font-weight: 600!important;
    font-size: 48px!important;
}
.ysluga-card li > p:not(.ysluga-title) > b{
    font-size: 20px;
}
.uslugi-onsultation h2.mb-5 {
    font-weight: 600!important;
    font-size: 48px!important;
}

@media (max-width: 992px) {
    .uslugi-rehabilitation {
        padding-top: 60px;
    }
}


.footer_reviews {
    font-family: Inter !important;
    font-weight: 500;
    font-size: 48px;
    line-height: 56.35px;
    color: #212529;
}

.footer_reviews__note {
    margin-top: 6px;
    font-family: Inter, sans-serif;
    font-size: 15px;
    line-height: 1.4;
    color: #5A616C;
}

.home-page__card-text {
    margin: 0 !important;
}

.home-page__card {
    height: 130px;
}

@media (max-width: 500px) {
    .home-page__card {
        height: 140px;
    }
    .home-page__card-text {
        margin-bottom: 10px!important;
    }
}


.home-page-title {
    display: flex;
    flex-direction: column;
}

.home-page-title__first {
    font-family: Inter !important;
    font-size: 42px !important;
    font-weight: 600 !important;
    line-height: 49.31px;
    margin-bottom: 16px;
}

.home-page-title__first {
    font-size: 35px !important;
}

.home-page-title__second svg{
	max-width:100%;
}

.home-page-deskr-title {
    font-family: Inter !important;
    font-size: 32px!important;
    font-weight: 600!important;
    line-height: 37.57px;
    margin-bottom: 8px!important;
}

.home-page-deskr-text {
    font-size: 18px!important;
    font-weight: 400!important;
    line-height: 26.01px;
    max-width: 548px;
    margin-bottom: 48px;
}



.page-specialists__wrapper {
    max-width: 1296px;
    margin: 0 auto;
}

.page-specialists__items {
    display: flex;
    flex-wrap: wrap;
    row-gap: 48px;
    column-gap: 24px;
}

.page-specialists__item {
    width: 416px;
    background-color: #F8F6FF;
    border-radius: 20px;
    overflow: hidden;
}

.page-specialists__item-top {
    position: relative;
}

.page-specialists__item-top a {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    cursor: pointer;
}

.page-specialists__item-top > img {
    width: 100%;
}

.page-specialists__item-bottom {
    padding: 24px;
}

.page-specialists__item-title {
    font-family: Inter !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    color: #212529;
    margin: 0;
}

.page-specialists__item-deskr {
    margin: 8px 0 0 0;
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    color: #212529;
}

.page-specialists__item-exp {
    margin: 8px 0 0 0;
    font-family: Inter !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    color: #5A616C;
}

.page-specialists__item-link {
    display: none;
}

.page-specialists__item:hover .page-specialists__item-link {
    display: block;
}

.uslugi-specialists__slide:hover .page-specialists__item-link {
    display: block;
}

@media (max-width: 1399px) {
    .page-specialists__wrapper {
        max-width: 1140px;
    }

    .page-specialists__item {
        width: 364px;
    }

}

@media (max-width: 1199px) {
    .page-specialists__wrapper {
        max-width: 960px;
    }

    .page-specialists__item {
        width: 468px;
    }
}

@media (max-width: 991px) {
    .page-specialists__wrapper {
        max-width: 720px;
    }
    .page-specialists__item {
        width: 348px;
    }
}

@media (max-width: 767px) {
    .page-specialists__wrapper {
        max-width: 540px;
    }

    .page-specialists__item {
        width: 100%;
    }
}

@media (max-width: 575px) {
    .page-specialists__items {
        row-gap: 24px;
    }

    .page-specialists__wrapper {
        max-width: 100%;
        padding: 0 12px;
    }
}


.uslugi-specialists {
    padding-top: 120px;
    padding-bottom: 40px;
}

.uslugi-specialists__wrapper {
    height: unset!important;
}

.uslugi-specialists__title {
    font-family: Inter !important;
    font-size: 48px!important;
    font-weight: 600!important;
    line-height: 37.57px;
    color: #212529;
    margin-bottom: 32px;
}

.uslugi-specialists__slide {
    width: 416px!important;
    height: 525px!important;
    border-radius: 20px;
    overflow: hidden;
    background-color: #F8F6FF;
}

.uslugi-specialists__slide-top {
    position: relative;
}

.uslugi-specialists__slide-top a {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    cursor: pointer;
}

.uslugi-specialists__slide img {
    width: 100%;
}

.uslugi-specialists__slide-bottom {
    padding: 24px;
}

.uslugi-specialists__slider {
    position: relative;
}

.uslugi-specialists__arrow-prev {
    display: flex;
    align-items: center;
    justify-content: center;

    position: absolute;
    z-index: 2;
    width: 1px;
    height: 1px;
    left: 0;
    top: 50%;
    overflow: visible;
}

.uslugi-specialists__arrow-prev-item {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #EBEDF1;
    border-radius: 50%;
    cursor: pointer;
    background-color: #ffffff;
}

.uslugi-specialists__arrow-prev-item img {
    transform: rotate(180deg);
}

.uslugi-specialists__arrow-next {
    display: flex;
    align-items: center;
    justify-content: center;

    position: absolute;
    z-index: 2;
    width: 1px;
    height: 1px;
    right: 0;
    top: 50%;
    overflow: visible;
}

.uslugi-specialists__arrow-next-item {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #EBEDF1;
    border-radius: 50%;
    cursor: pointer;
    background-color: #ffffff;
}

@media (max-width: 992px) {
    .uslugi-specialists {
        padding-top: 60px;
    }
}

@media (max-width: 580px) {
    .uslugi-specialists__title {
        margin-bottom: 20px;
        font-size: 24px !important;
        font-weight: 600;
        line-height: 29.57px;
        color: #212529;
    }

    .uslugi-specialists__slide {
        width: 326px !important;
    }
}


.domasfdasfd {
    display: none;
}


.news__pagination-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    margin-top: 64px;
}

@media (max-width: 992px) {
    .news__pagination-wrapper {
        justify-content: center;
        margin-top: 30px;
    }
}


@font-face {
    font-family: "Serati";
    src: url("../fonts/Serati.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}


.home-page-banners__banner {
    width: 100%;
    height: 400px;
    background-size: cover;
    background-position: right;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 200px;
}

.home-page-banners {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}


.banner-1__text {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-left: 133px;
    width: 687px;
}

.banner-1__text-1 {
    font-family: Inter !important;
    font-weight: 700;
    font-size: 112.8px;
    margin: 0;
    line-height: 100px;
    color: #5145F7;
}

.banner-1__text-2 {
    font-family: "Serati";
    font-weight: 400;
    font-size: 58.66px;
    margin-bottom: 25px;
    line-height: 70px;
    text-align: center;
    color: transparent;
    background-clip: text;
    background-image: linear-gradient(90.74deg, #747474 -7.1%, #262626 49.73%, #9D9D9D 106.89%);

}

.banner-1__text-3 {
    font-family: Inter;
    font-weight: 400;
    font-size: 20.83px;
    color: #292929;
}

.banner-1 img {
    margin-right: 80px;
}


.banner-2__text {
    width: 820px;
}

.banner-2__text-1 {
    font-family: Inter !important;
    font-weight: 700;
    font-size: 48px;
    line-height: 60px;
    color: #535353;
    margin-bottom: 20px;
}

.banner-2__text-2 {
    font-family: Inter !important;
    font-weight: 500;
    font-size: 27px;
    color: #4E4F57;
}

.text-blue {
    color: #4C43F8;
}

.banner-2__cloud {
    display: inline-block;
    background-color: #4C43F8;
    border-radius: 11px;
    color: #FFFFFF;
    font-family: Inter !important;
    font-weight: 600;
    font-size: 18px;
    padding: 8px 13px;
}


@media (max-width: 1650px) {
    .home-page-banners__banner img {
        display: none;
    }
}

@media (max-width: 1250px) {
    .banner-1__text {
        margin: 0;
    }
    .home-page-banners__banner {
        justify-content: center;
        padding: 0 20px;
    }
}

@media (max-width: 650px) {
    .banner-1__text-1 {
        font-size: 70.8px;
        line-height: 70px;
    }

    .banner-1__text-2 {
        font-size: 34.66px;
        line-height: 40px;
    }

    .banner-2__text-1 {
        font-size: 32px;
        line-height: 37px;
    }

    .banner-2__text-2 {
        font-size: 18px;
    }

    .banner-1 {
        background-position: 79% 0px;
    }

    .banner-2 {
        background-position: 61% 0px;
    }



}


.news-filter {
    display: flex;
    align-items: center;
    column-gap: 16px;
    margin-bottom: 40px;
}

.news-filter__all {
    flex-shrink: 0;
    border-radius: 50px;
    padding: 10px 22px;
    border: 2px solid #3A3AFE;
    font-family: Inter !important;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #000000;
    cursor: pointer;
}

.news-filter__all.active {
    background-color: #3A3AFE;
    color: #FFFFFF;
}

.news-filter__years {
    display: flex;
    column-gap: 16px;
}

.news-filter__years-item {
    border-radius: 50px;
    padding: 10px 22px;
    border: 2px solid #3A3AFE;
    font-family: Inter !important;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #000000;
    cursor: pointer;
}

.news-filter__years-item.active {
    background-color: #3A3AFE;
    color: #FFFFFF;
}

.news-filter__month {
    position: relative;
    flex-shrink: 0;
}

.news-filter__month-head {
    border-radius: 50px;
    padding: 10px 22px;
    border: 2px solid #3A3AFE;
    font-family: Inter !important;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #000000;
    cursor: pointer;
    display: flex;
    align-items: center;
    column-gap: 24px;
}

.news-filter__month-list {
    display: none;
    position: absolute;
    flex-direction: column;
    border: 1px solid #EAECF0;
    width: 100%;
    top: 100%;
    margin-top: 12px;
    z-index: 10;
    padding: 8px 0;
    background-color: #ffffff;
    overflow: hidden;
    border-radius: 10px;
    max-height: 304px;
    overflow-y: scroll;
}

.news-filter__month-list::-webkit-scrollbar {
    width: 0px;
}

.news-filter__month-list.active {
    display: flex;
}

.news-filter__month-list-item {
    padding: 13px 20px;
    font-family: Inter !important;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    color: #2C2E33;
    cursor: pointer;
}

.news-filter__month-list-item:hover {
    background-color: #F7F8F9;
}

.post_excerpt {
    color: #000;
}

.news-filter__month-list-mobile-wrapper {
    display: none;
    width: 375px;
    height: 110vh;
    position: fixed;
    z-index: 10000;
    left: -100%;
    top: 0;
    background-color: #FFFFFF;
    transition: all 1s ease-in-out;
}

@media (max-width: 992px) {

    .news-filter {
        max-width: 100%;
        overflow-x: scroll;
    }

    .news-filter::-webkit-scrollbar {
        width: 0px;
        height: 0px;
        background-color: transparent;
    }

    .news-filter__month-list-mobile-wrapper.open {
        display: flex;
        flex-direction: column;
        padding: 32px 20px;
        left: 0;
        transition: all 1s ease-in-out;
    }

    .news-filter__month-list-mobile-title {
        font-family: Inter !important;
        font-weight: 600;
        font-size: 24px;
        line-height: 32px;
        color: #000000;
    }

    .news-filter__month-list-mobile-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
    }

    .news-filter__all {
        padding: 8px 16px;
        font-size: 16px;
    }

    .news-filter__years-item {
        padding: 8px 16px;
        font-size: 16px;
    }

    .news-filter__month-head {
        padding: 8px 16px;
        font-size: 16px;
    }

    .news-filter {
        column-gap: 12px;
    }
    .upbtn{
        display: none !important;
    }
}



@media (max-width: 375px) {
    .news-filter__month-list-mobile-wrapper {
        display: none;
        width: 100%;
    }
}

.banner-1__btn {
    margin-top: 15px;
    font-family: Inter;
    font-weight: 500;
    font-size: 18px;
    color: #ffffff;
    padding: 14px 24px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 10px;
    cursor: pointer;
}
.banner-1__btn:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff;
}

/* page-header */

.page-header__top-contacts a .contact-img {
    display: block;
}

.page-header__top-contacts a .contact-img-hover {
    display: none;
}

.page-header__top-contacts a:hover .contact-img {
    display: none;
}

.page-header__top-contacts a:hover .contact-img-hover {
    display: block;
}

.page-header__top-contacts a .contact-img {
    display: block;
}

.page-header__top-contacts a .contact-img-hover {
    display: none;
}

.page-header__top-contacts a:hover .contact-img {
    display: none;
}

.page-header__top-contacts a:hover .contact-img-hover {
    display: block;
}

.page-header * {
    box-sizing: border-box;
}

.page-header {
    background-color: #ffffff;
    padding: 20px 0;

}


.page-header__wrapper {
    max-width: 1520px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}

.page-header__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.page-header__top-left {
    display: flex;
    align-items: center;
}

.page-header__top-right {
    display: flex;
    align-items: center;
    column-gap: 28px;
}

.page-header__top-address {
    font-family: Inter;
    font-weight: 500;
    font-size: 16px;
    line-height: 28px;
    color: #111827;
}

.page-header__top-phones {
    position: relative;
}

.page-header__top-phones-active {
    display: flex;
    align-items: center;
}

.page-header__top-phones-active span {
    font-family: Inter;
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    color: #3A3AFE;
    margin-right: 15px;
}

.page-header__top-phones-active a {
    font-family: Inter;
    font-weight: 600!important;
    font-size: 18px!important;
    line-height: 28px!important;
    color: #111827;
    margin-right: 6px;
}

/*.page-header__top-menu {*/
/*    display: none;*/
/*}*/

.page-header__top-phones-wrapper {
    display: none;
}

.page-header__top-phones:hover .page-header__top-phones-wrapper {
    position: absolute;
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    border: 1px solid #EBEDF1;
    border-radius: 10px;
    width: 100%;
    background-color: #FFFFFF;
    z-index: 2;
}

.page-header__top-phones:hover .page-header__top-phones-wrapper a {
    padding: 12px 20px;
}

.page-header__top-btn {
    padding: 12px 24px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 10px;

    font-family: Inter;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #ffffff !important;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.page-header__top-btn:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff !important;
}

.page-header__top-contacts {
    display: flex;
    column-gap:  12px;
}

.page-header__top-contacts a {
    padding: 12px;
    background-color: #F7F8F9;
    border-radius: 50%;
}


.page-header__top-menu ul.menu > li.menu-item-has-children > a::after {
    content: '';
    display: block;
    background-image: url(/wp-content/themes/impulse/image/home-page/ico/mobile-chevron.svg);
    width: 16px;
    height: 16px;
}

.page-header__top-menu ul.menu > li.menu-item-has-children > a {
    display: flex;
    column-gap: 4px;
    align-items: center;
}

.page-header__bottom-menu ul.menu > li.menu-item-has-children > a::after {
    content: '';
    display: block;
    background-image: url(/wp-content/themes/impulse/image/home-page/ico/mobile-chevron.svg);
    width: 16px;
    height: 16px;
}

.page-header__bottom-menu ul.menu > li.menu-item-has-children > a {
    display: flex;
    column-gap: 6px;
    align-items: center;
}


.page-header__top-menu ul.menu {
    display: flex;
    column-gap: 24px;
    padding: 0;
    margin: 0 0 0 56px;
}

.page-header__top-menu ul.menu > li > a {
    font-family: Inter;
    font-weight: 500!important;
    font-size: 16px!important;
    color: #5A616C!important;
}

.page-header__top-menu .sub-menu {
    display: none;
}

.page-header__bottom-menu .sub-menu {
    display: none;
}

.page-header__top-menu ul.menu li.menu-item-has-children {
    position: relative;
}

/* Невидимый «мост» между пунктом и выпадающим списком — иначе меню закрывается в зазоре */
.page-header__top-menu ul.menu > li.menu-item-has-children::after,
.page-header__bottom-menu ul.menu > li.menu-item-has-children::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 16px;
    z-index: 49;
    display: none;
}

.page-header__top-menu ul.menu > li.menu-item-has-children:hover::after,
.page-header__top-menu ul.menu > li.menu-item-has-children.is-submenu-open::after,
.page-header__bottom-menu ul.menu > li.menu-item-has-children:hover::after,
.page-header__bottom-menu ul.menu > li.menu-item-has-children.is-submenu-open::after {
    display: block;
}

.page-header__top-menu ul.menu li.menu-item-has-children:hover .sub-menu,
.page-header__top-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu {
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    background-color: #FFFFFF;
    border-radius: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(80vh, 480px);
    -webkit-overflow-scrolling: touch;
    min-width: 220px;
    max-width: min(360px, 92vw);
    z-index: 110;
    border: 1px solid #EBEDF1;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.14);
}

.page-header__top-menu ul.menu li.menu-item-has-children:hover .sub-menu li a,
.page-header__top-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a {
    padding: 12px 24px;
    display: block;
    white-space: normal;
    word-break: break-word;
}

.page-header__bottom {
    width: 100%;
    display: flex;
    align-items: center;
    column-gap: 80px;
}

.page-header__bottom-menu ul.menu li.menu-item-has-children {
    position: relative;
}

.page-header__bottom-menu ul.menu li > a {
    font-family: Inter!important;
    font-weight: 500!important;
    font-size: 18px!important;
    line-height: 24px!important;
    color: #111827!important;
}

.page-header__bottom-menu ul.menu li > a:hover {
    color: #3A3AFE!important;
}

.page-header__top-menu ul.menu li.menu-item-has-children:hover .sub-menu li a:hover,
.page-header__top-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a:hover {
    background-color: #F7F8F9;
    color: #111827!important;
}

.page-header__bottom-menu ul.menu li.menu-item-has-children:hover .sub-menu,
.page-header__bottom-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu {
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    background-color: #FFFFFF;
    border-radius: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(80vh, 480px);
    -webkit-overflow-scrolling: touch;
    min-width: 220px;
    max-width: min(360px, 92vw);
    z-index: 110;
    border: 1px solid #EBEDF1;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.14);
}

.page-header__bottom-menu ul.menu li.menu-item-has-children:hover .sub-menu li a,
.page-header__bottom-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a {
    padding: 12px 24px;
    display: block;
    white-space: normal;
    word-break: break-word;
}

.page-header__bottom-menu ul.menu li.menu-item-has-children:hover .sub-menu li a:hover,
.page-header__bottom-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a:hover {
    background-color: #F7F8F9!important;
    color: #111827!important;
}

.page-header__top-menu ul.menu li.menu-item-has-children:hover .sub-menu > li,
.page-header__top-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu > li,
.page-header__bottom-menu ul.menu li.menu-item-has-children:hover .sub-menu > li,
.page-header__bottom-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu > li {
    width: 100%;
}

.page-header__top-menu ul.menu li.menu-item-has-children:hover .sub-menu li a,
.page-header__top-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a,
.page-header__bottom-menu ul.menu li.menu-item-has-children:hover .sub-menu li a,
.page-header__bottom-menu ul.menu li.menu-item-has-children.is-submenu-open .sub-menu li a {
    min-height: 44px;
    box-sizing: border-box;
}

.page-header__bottom-menu ul.menu {
    display: flex;
    column-gap: 36px;
    margin: 0;
    padding: 0;
}

.page-header__menu-btn {
    display: none;
}

.page-header__mobile-menu {
    display: none;
}

.page-header__block {

}

/* Десктоп: выпадающие «О нас» / «Реабилитация» поверх ряда табов (алко/нарко/помощь) */
@media (min-width: 1041px) {
    .page-header__block {
        position: relative;
        z-index: 40;
    }

    .page-header__tabs-block {
        position: relative;
        z-index: 1;
    }

    /* Кнопка «Неотложная помощь» (Telegram) — всегда кликабельна, даже при открытом меню */
    .page-header__tab.tab-help {
        pointer-events: auto !important;
        position: relative;
        z-index: 2;
        cursor: pointer;
    }
}

@media (max-width: 1560px) {
    
    .page-wrapper {
        overflow: hidden;
        /*width: 100%;*/
        padding: 150px 0 0 0;
    }

    .page-header__wrapper {
        max-width: 1000px;
    }

    .page-header__bottom-logo img {
        max-width: 160px;
    }

    .page-header__bottom {
        column-gap: 30px;
    }
    
    .page-header__bottom-menu ul.menu {
        column-gap: 20px;
    }

    .page-header__bottom-menu ul.menu li > a {
        font-size: 13px!important;
    }

    .page-header__top-address {
        font-size: 12px;
    }

    .page-header__top-right {
        column-gap: 16px;
    }

    .page-header__top-menu ul.menu {
        column-gap: 16px;
        margin: 0 0 0 10px;
    }

    .page-header__top-menu ul.menu > li > a {
        font-size: 14px !important;
    }

    .page-header__top-btn {
        padding: 8px 16px;
        font-size: 13px;
    }

    .page-header__top-phones-active a {
        font-size: 14px !important;
    }

    .page-header__top-phones-active span {
        font-size: 14px;
    }

}

@media (max-width: 1040px) {

    .page-wrapper {
        overflow: hidden;
        /*width: 100vw;*/
        /* Под фикс. шапку (логотип + ряд табов); без гигантского зазора до контента */
        padding: calc(env(safe-area-inset-top, 0px) + clamp(148px, 38vw, 200px)) 0 0 0;
    }

    .page-header__wrapper {
        max-width: 600px;
    }

    .page-header__top {
        display: none;
    }

    .page-header__bottom-menu {
        display: none;
    }

    .page-header {
        padding: 0;
    }


    .page-header__block {
        border-bottom: 1px solid #EBEDF1;
        padding: 12px 0;
        position: relative;
        z-index: 3;
        background-color: #FFFFFF;
    }

    .page-header__menu-btn {
        display: block;
    }

    .page-header__menu-btn .open {
        display: block;
        max-width: 30px;
        max-height: 30px;
    }
    
    .page-header__menu-btn .close {
        display: none;
        max-width: 30px;
        max-height: 30px;
    }

    .page-header__menu-btn.active .open {
        display: none;
    }
    
    .page-header__menu-btn.active .close {
        display: block;
    }

    .page-header__bottom {
        justify-content: space-between;
    }

    .page-header__mobile-menu.hidden {
        left: 100%;
        transition: all .4s linear;
    } 

    .page-header__mobile-menu {
        position: absolute;
        display: block;
        height: 400px;
        background-color: #FFFFFF;
        width: 100%;
        top: 0;
        left: 0%;
        height: 100vh;
        z-index: 2;
        padding: 90px 0 30px 0;
        overflow: scroll;
        transition: all .4s linear;
    }

    .page-header__mobile-menu-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-header__top-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 16px;
    }
    
    .page-header__mobile-menu .page-header__top-contacts {
        margin-top: 16px;
    }

    .page-header__top-address {
        margin-top: 24px;
    }

    .page-header__mobile-menu .page-header__top-phones-wrapper {
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        margin-top: 16px;
    }

    .page-header__mobile-list-top ul.menu {
        margin: 0;
        padding: 0;
    }

    .page-header__mobile-list-bottom ul.menu {
        margin: 24px 0 0 0;
        padding: 0;
    }

    .page-header__mobile-list-top ul.menu li .sub-menu {
        display: none;
    }
    
    .page-header__mobile-list-top ul.menu li.active .sub-menu {
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        margin: 10px 0 0 10px;
        padding: 0;

    }
    
    .page-header__mobile-list-bottom ul.menu li .sub-menu {
        display: none;
    }
    
    .page-header__mobile-list-bottom ul.menu li.active .sub-menu {
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        margin: 10px 0 0 10px;
        padding: 0;

    }
    
    .page-header__mobile-list-top ul.menu {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }

    .page-header__mobile-list-bottom ul.menu {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }
    
    .page-header__mobile-list-top ul.menu li > a {
        font-family: Inter!important;
        font-weight: 500!important;
        font-size: 16px!important;
        line-height: 24px;
    }

    .page-header__mobile-list-top ul.menu > li .sub-menu li > a {
        font-family: Inter!important;
        font-weight: 500!important;
        font-size: 14px!important;
        line-height: 24px;
    }

    .page-header__mobile-list-bottom ul.menu li > a {
        font-family: Inter!important;
        font-weight: 400!important;
        font-size: 16px!important;
        line-height: 24px;
    }

    .page-header__mobile-list-bottom ul.menu > li .sub-menu li > a {
        font-family: Inter!important;
        font-weight: 400!important;
        font-size: 14px!important;
        line-height: 24px;
    }

    .page-header__mobile-list-top li.menu-item-has-children,
    .page-header__mobile-list-bottom li.menu-item-has-children {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 4px;
    }

    .page-header__mobile-list-top li.menu-item-has-children > a,
    .page-header__mobile-list-bottom li.menu-item-has-children > a {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        align-items: center;
        justify-content: flex-start;
        padding-right: 4px;
    }

    /* Стрелка — отдельная кнопка (JS), не часть ссылки: иначе уходит на страницу раздела */
    .page-header__mobile-list-top li.menu-item-has-children > a::after,
    .page-header__mobile-list-bottom li.menu-item-has-children > a::after {
        display: none;
    }

    .page-header__mobile-list-top li.menu-item-has-children > .sub-menu,
    .page-header__mobile-list-bottom li.menu-item-has-children > .sub-menu {
        flex: 0 0 100%;
        width: 100%;
    }

    .impulse-mobile-submenu-toggle {
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        margin: -8px -8px -8px 0;
        padding: 0;
        border: none;
        border-radius: 8px;
        background: transparent url('/wp-content/themes/impulse/image/home-page/ico/mobile-chevron.svg') center center / 16px 16px no-repeat;
        cursor: pointer;
        transition: transform 0.2s ease, background-color 0.15s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .impulse-mobile-submenu-toggle:hover,
    .impulse-mobile-submenu-toggle:focus-visible {
        background-color: #F7F8F9;
        outline: none;
    }

    .page-header__mobile-list-top li.menu-item-has-children.active > .impulse-mobile-submenu-toggle,
    .page-header__mobile-list-bottom li.menu-item-has-children.active > .impulse-mobile-submenu-toggle {
        transform: rotate(180deg);
    }


}

/* Узкие экраны: меньше отступ под фикс. шапку */
@media (max-width: 480px) {
    .page-wrapper {
        padding: calc(env(safe-area-inset-top, 0px) + clamp(152px, 42vw, 210px)) 0 0 0;
    }
}

@media (max-width: 640px) {

    .page-header__mobile-menu-wrapper {
        margin: 0 20px;
    }

    .page-header__wrapper {
        margin: 0 20px;
        width: auto;
    }

}


/* page-header */


/* page-footer */



/* itb-copyright */

.itb-copyright {
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    color: rgba(var(--copyright-color, 0, 0, 0), 0.4);
    transition: color ease-in-out 0.2s;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
}

.itb-copyright__popup {
    width: 300px;
    display: none;
    position: absolute;
    border-radius: 4px;
    padding: 12px;
    box-shadow: 0 5px 7px 0 rgba(0, 0, 0, 0.08);
    background: #f5f5f5;
    top: 0;
    left: -8px;
    transform: translate(-1%, calc(-100% - 24px));
}

.itb-copyright.opened .itb-copyright__popup {
    display: block;
}

.itb-copyright__popup:after {
    content: '';
    border-radius: 2px;
    width: 12px;
    height: 12px;
    background: #f5f5f5;
    transform: rotate(-45deg);
    position: absolute;
    bottom: -6px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.itb-copyright__popup a {
    font-size: 14px;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.6);
    transition: color ease-in-out 0.2s;
}

.itb-copyright__popup a:hover {
    color: rgba(0, 38, 174, 0.6);
}

.itb-copyright__popup a + a {
    margin-left: 24px;
}

.itb-copyright svg {
    fill: rgba(var(--copyright-color, 0, 0, 0), 0.4);
    transition: fill ease-in-out 0.2s;
    margin-left: 12px;
}

.itb-copyright:hover {
    color: rgba(var(--copyright-color, 0, 0, 0), 0.6);
}

.itb-copyright:hover svg {
    fill: rgba(var(--copyright-color, 0, 0, 0), 0.6);
}

.itb-copyright.blacked {
    color: rgba(var(--copyright-color, 255, 255, 255), 0.5);
}

.itb-copyright.blacked svg {
    fill: rgba(var(--copyright-color, 255, 255, 255), 0.5);
}

.itb-copyright.blacked:hover {
    color: rgba(var(--copyright-color, 255, 255, 255), 0.7);
}

.itb-copyright.blacked:hover svg {
    fill: rgba(var(--copyright-color, 255, 255, 255), 0.7);
}

.itb-copyright.blacked .itb-copyright__popup {
    background: #4d4d4d;
}

.itb-copyright.blacked .itb-copyright__popup:after {
    background: #4d4d4d;
}

.itb-copyright.blacked .itb-copyright__popup a {
    color: rgba(255, 255, 255, 0.7);
}

.itb-copyright.blacked .itb-copyright__popup a:hover {
    color: rgba(255, 255, 255, 1);
}

.itb-copyright.colored {
    color: rgba(var(--copyright-color, 255, 255, 255), 0.7);
}

.itb-copyright.colored svg {
    fill: rgba(var(--copyright-color, 255, 255, 255), 0.7);
}

.itb-copyright.colored:hover {
    color: rgba(var(--copyright-color, 255, 255, 255), 0.9);
}

.itb-copyright.colored:hover svg {
    fill: rgba(var(--copyright-color, 255, 255, 255), 0.9);
}

.itb-copyright.colored .itb-copyright__popup {
    background: #f5f5f5;
}

.itb-copyright.colored .itb-copyright__popup:after {
    background: #f5f5f5;
}

.itb-copyright.colored .itb-copyright__popup a {
    color: rgba(0, 0, 0, 0.6);
}

.itb-copyright.colored .itb-copyright__popup a:hover {
    color: rgba(0, 38, 174, 0.6);
}

/* itb-copyright */



/* Лендинги табов: программы и цены (programmy-alkogol / programmy-narko) */
.page-programs-landing {
    --page-home-gutter: clamp(7px, 0.65vw, 10px);
}

.page-programs-landing__inner {
    width: 100%;
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--page-home-gutter);
    padding-right: var(--page-home-gutter);
    box-sizing: border-box;
}

.page-programs-landing__inner > .row {
    margin-left: 0;
    margin-right: 0;
}
@media (max-width: 1560px) {
    .page-programs-landing__inner {
        max-width: 1000px;
    }
}

@media (max-width: 1040px) {
    .page-programs-landing__inner {
        max-width: 600px;
    }
}

@media (max-width: 640px) {
    .page-programs-landing__inner {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.page-programs-landing__section {
    padding: clamp(6px, 0.9vw, 12px) 0 clamp(8px, 1.1vw, 14px);
    box-sizing: border-box;
}

.page-programs-landing__title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(22px, 2.8vw, 36px);
    line-height: 1.15;
    color: #0f172a;
    margin: 0 0 clamp(10px, 1.5vw, 16px);
}

.page-programs-landing__lead {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.45;
    color: #5a616c;
    max-width: 48rem;
    margin: 0;
}

.page-programs-landing .page-home__prices-strip.page-programs-landing-prices {
    margin-top: 0;
    padding-top: clamp(6px, 0.9vw, 12px);
    padding-bottom: clamp(6px, 0.9vw, 12px);
}

.page-programs-landing-hero {
    position: relative;
    overflow: hidden;
}

.page-programs-landing-hero__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.95) 40%, rgba(224, 242, 254, 0.45) 100%);
    pointer-events: none;
}

.page-programs-landing-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 clamp(8px, 1.2vw, 14px);
    padding: 0;
    list-style: none;
}

.page-programs-landing-hero__badge {
    display: inline-block;
    padding: 6px 12px;
    font-family: Inter, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #0f172a;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.page-programs-landing__lead--hero {
    max-width: 40rem;
    margin-bottom: clamp(10px, 1.2vw, 16px);
}

.page-programs-landing-hero__list {
    margin: 0 0 clamp(12px, 1.5vw, 18px);
    padding: 0;
    list-style: none;
    max-width: 40rem;
}

.page-programs-landing-hero__list li {
    position: relative;
    padding-left: 1.35rem;
    margin-bottom: 10px;
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.45;
    color: #334155;
}

.page-programs-landing-hero__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6, #0ea5e9);
}

.page-programs-landing-hero__actions {
    margin-bottom: clamp(6px, 1vw, 10px);
}

.page-programs-landing-hero__micro {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #64748b;
    max-width: 36rem;
}

.page-programs-landing-hero__figure {
    position: relative;
    margin: 0;
    border-radius: clamp(14px, 2vw, 22px);
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: #e2e8f0;
}

/* Лёгкий холодный градиент — стыкует фото с UI, не затемняя светлую сцену */
.page-programs-landing-hero__figure::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(
        165deg,
        rgba(59, 130, 246, 0.04) 0%,
        rgba(255, 255, 255, 0) 50%,
        rgba(14, 165, 233, 0.045) 100%
    );
}

.page-programs-landing-hero__figure picture {
    display: block;
}

.page-programs-landing-hero__img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.page-programs-landing-section-title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.2;
    color: #0f172a;
    margin: 0 0 clamp(10px, 1.2vw, 16px);
}

.page-programs-landing-value-card {
    height: 100%;
    padding: clamp(14px, 1.5vw, 20px);
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.5vw, 16px);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
}

.page-programs-landing-value-card__title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: 17px;
    margin: 0 0 10px;
    color: #0f172a;
}

.page-programs-landing-value-card__text {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #5a616c;
}

.page-programs-landing-related__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: clamp(8px, 1vw, 12px);
}

@media (min-width: 768px) {
    .page-programs-landing-related__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .page-programs-landing-related__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.page-programs-landing-related__link {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    padding: clamp(12px, 1.4vw, 18px);
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.5vw, 16px);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-programs-landing-related__link:hover,
.page-programs-landing-related__link:focus-visible {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
}

.page-programs-landing-related__title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
    color: #0f172a;
}

.page-programs-landing-related__text {
    font-family: Inter, system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: #5a616c;
}

.page-programs-landing-steps {
    background: rgba(248, 250, 252, 0.85);
    border-block: 1px solid rgba(148, 163, 184, 0.2);
}

.page-programs-landing-steps__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: clamp(8px, 1vw, 12px);
    max-width: 52rem;
}

@media (min-width: 768px) {
    .page-programs-landing-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.page-programs-landing-steps__list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: clamp(10px, 1.2vw, 14px);
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.page-programs-landing-steps__num {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Inter, system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border-radius: 50%;
}

.page-programs-landing-steps__text {
    font-family: Inter, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #334155;
    padding-top: 2px;
}

.page-programs-landing-prices {
    margin-top: 0;
}

.page-programs-landing-bottom-cta {
    background: linear-gradient(145deg, #0f172a 0%, #1e293b 55%, #172554 100%);
    color: #e2e8f0;
}

.page-programs-landing-bottom-cta__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.5vw, 18px);
    align-items: flex-start;
}

@media (min-width: 992px) {
    .page-programs-landing-bottom-cta__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.page-programs-landing-bottom-cta__title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.2;
    color: #f8fafc;
    margin: 0 0 10px;
}

.page-programs-landing-bottom-cta__lead {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(226, 232, 240, 0.88);
    max-width: 36rem;
}

.page-programs-landing-bottom-cta .quick-cta--focus-call {
    margin-top: 0;
}

@media (min-width: 992px) {
    .page-programs-landing-bottom-cta__quick {
        align-self: center;
    }
}

/* Лаконичные посадочные услуг (детокс, амбулаторная и др.): общий блок .page-impulse-service */
.page-impulse-service {
    --page-home-gutter: clamp(7px, 0.65vw, 10px);
}

.page-impulse-service-hero {
    position: relative;
    overflow: hidden;
}

.page-impulse-service-hero__cta {
    margin-bottom: clamp(12px, 1.5vw, 18px);
}

.page-impulse-service-hero__cta .quick-cta--compact {
    margin-top: 0;
}

.page-impulse-service-hero__bullets {
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 40rem;
}

.page-impulse-service-hero__bullets li {
    position: relative;
    padding-left: 1.35rem;
    margin-bottom: 10px;
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.45;
    color: #334155;
}

.page-impulse-service-hero__bullets li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6, #0ea5e9);
}

.page-impulse-service-hero__figure {
    position: relative;
    margin: 0;
    border-radius: clamp(14px, 2vw, 22px);
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: #e2e8f0;
}

.page-impulse-service-hero__figure::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(
        165deg,
        rgba(59, 130, 246, 0.06) 0%,
        rgba(255, 255, 255, 0) 50%,
        rgba(14, 165, 233, 0.06) 100%
    );
}

.page-impulse-service-hero__img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.page-impulse-service-text {
    margin: 0 0 clamp(12px, 1.5vw, 18px);
    max-width: 48rem;
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.5;
    color: #5a616c;
}

.page-impulse-service-list {
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 48rem;
}

.page-impulse-service-list li {
    position: relative;
    padding-left: 1.35rem;
    margin-bottom: 10px;
    font-family: Inter, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #334155;
}

.page-impulse-service-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--impulse-help-blue, #2563eb);
}

@media (min-width: 768px) {
    .page-impulse-service-list--2col {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 24px;
        max-width: 52rem;
    }
}

.page-impulse-service-methods {
    background: rgba(248, 250, 252, 0.9);
    border-block: 1px solid rgba(148, 163, 184, 0.2);
}

.page-impulse-service-card {
    height: 100%;
    padding: clamp(16px, 1.8vw, 22px);
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.5vw, 16px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
}

.page-impulse-service-card__title {
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: 17px;
    margin: 0 0 8px;
    color: #0f172a;
}

.page-impulse-service-card__text {
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #5a616c;
}

.page-impulse-service-strip.page-home__prices-strip {
    margin-top: 0;
}

.page-impulse-service-more-wrap {
    padding-bottom: clamp(8px, 1vw, 14px);
}

.page-impulse-service-more {
    max-width: 52rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 0 clamp(12px, 1.5vw, 16px);
    box-sizing: border-box;
}

.page-impulse-service-more__summary {
    cursor: pointer;
    font-family: Inter, system-ui, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #1e40af;
    padding: 14px 0;
    list-style: none;
}

.page-impulse-service-more__summary::-webkit-details-marker {
    display: none;
}

.page-impulse-service-more__summary::after {
    content: ' ▼';
    font-size: 12px;
    opacity: 0.7;
}

.page-impulse-service-more[open] .page-impulse-service-more__summary::after {
    content: ' ▲';
}

.page-impulse-service-more__prose {
    padding-bottom: clamp(12px, 1.5vw, 18px);
    border-top: 1px solid #f1f5f9;
    padding-top: clamp(12px, 1.5vw, 16px);
}

.page-footer {
    margin-top: auto;
}

.page-footer__wrapper {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 clamp(7px, 0.65vw, 10px);
    box-sizing: border-box;
}

.page-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    column-gap: clamp(16px, 2.5vw, 28px);
    row-gap: clamp(14px, 2vw, 22px);
    align-items: start;
}

.page-footer__menu {
    width: 100%;
    min-width: 0;
    padding: clamp(18px, 2.5vw, 28px);
    background-color: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.8vw, 18px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: clamp(12px, 2vw, 22px);
    row-gap: clamp(14px, 2vw, 22px);
    align-items: start;
    box-sizing: border-box;
}

.page-footer__menu-column {
    min-width: 0;
}

.page-footer__menu-column--stack {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 2vw, 22px);
}

.page-footer__menu-column--stack .menu {
    margin: 0;
    padding: 0;
}

.page-footer__menu-column--stack .menu + .menu {
    padding-top: clamp(12px, 1.8vw, 18px);
    border-top: 1px solid rgba(148, 163, 184, 0.35);
}

.page-footer__menu-column .menu + .impulse-footer-article-links {
    margin-top: clamp(8px, 1.2vw, 12px);
    padding-top: 0;
}

.page-footer__menu-column .menu > li > a {
    display: block;
    margin: 0 0 clamp(8px, 1.2vw, 12px) 0;
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.3;
    color: #111827;
}

.page-footer__menu-column .sub-menu {
    padding: 0;
    margin: 0 0 0 0;
    display: flex;
    flex-direction: column;
    row-gap: clamp(6px, 1vw, 10px);
}

.page-footer__menu-column .sub-menu > li > a {
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(14px, 1.35vw, 15px);
    line-height: 1.4;
    color: #5a616c;
}

.page-footer__contacts {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    column-gap: clamp(10px, 1.5vw, 14px);
    row-gap: clamp(10px, 1.5vw, 14px);
}

.page-footer__contacts-top {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: clamp(18px, 2.5vw, 28px);
    background-color: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.8vw, 18px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    box-sizing: border-box;
}

/* Соцсети внутри той же карточки «Контакты» (слева от сетки меню), без второй плашки */
.page-footer__contacts-top .page-footer__contacts-bottom {
    margin: clamp(14px, 2vw, 22px) 0 0 0;
    padding: clamp(14px, 2vw, 20px) 0 0 0;
    border: none;
    border-top: 1px solid rgba(148, 163, 184, 0.38);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
}

.page-footer__top-phones {
    margin-top: clamp(10px, 1.5vw, 14px);
    position: relative;
}

.page-footer__top-phones-active {
    display: flex;
    align-items: center;
}

.page-footer__top-phones-active span {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.35;
    color: #3a3afe;
    margin-right: clamp(8px, 1.2vw, 12px);
}

.page-footer__top-phones-active a {
    font-family: Inter;
    font-weight: 600 !important;
    font-size: clamp(15px, 1.5vw, 17px) !important;
    line-height: 1.35 !important;
    color: #111827;
    margin-right: 4px;
}

.page-footer__top-phones-wrapper {
    display: none;
}

.page-footer__top-phones:hover .page-footer__top-phones-wrapper {
    position: absolute;
    display: flex;
    flex-direction: column;
    padding: 6px 0;
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: 10px;
    width: 100%;
    min-width: min(100%, 260px);
    background-color: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
    z-index: 2;
}

.page-footer__top-phones:hover .page-footer__top-phones-wrapper a {
    padding: 10px 16px;
}

a.page-footer__top-phones-item {
    font-family: Inter !important;
    font-weight: 400 !important;
    font-size: clamp(14px, 1.4vw, 16px) !important;
    line-height: 1.4;
    color: #111827 !important;
}

a.page-footer__top-phones-item:hover {
    color: #3A3AFE!important;
}

.page-footer__contacts-bottom-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.35;
    color: #111827;
    margin: 0 0 clamp(8px, 1.2vw, 12px) 0;
}

.page-footer__contacts-social {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 10px;
}

.page-footer__contacts-social a {
    padding: 10px;
    background-color: #f8fafc;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: 50%;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-footer__contacts-social a:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}

.page-footer__contacts-social a .contact-img {
    display: block;
}

.page-footer__contacts-social a .contact-img-hover {
    display: none;
}

.page-footer__contacts-social a:hover .contact-img {
    display: none;
}

.page-footer__contacts-social a:hover .contact-img-hover {
    display: block;
}

.page-footer__contacts-top-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.25;
    color: #0f172a;
    margin: 0;
}

.page-footer__contacts-top-address {
    margin: clamp(8px, 1.2vw, 12px) 0 0 0;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(14px, 1.35vw, 16px) !important;
    line-height: 1.45;
    color: #374151;
}

.page-footer__contacts-top a.page-footer__contacts-top-mail {
    display: inline-block;
    margin-top: clamp(8px, 1.2vw, 12px);
    font-family: Inter !important;
    font-weight: 500 !important;
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.45;
    color: #111827;
}

/* Перебить style.css a:link — иначе текст на синей кнопке фиолетовый */
a.page-footer__btn,
a.page-footer__btn:link,
a.page-footer__btn:visited,
a.page-footer__btn:active,
a.page-footer__btn:focus {
    margin-top: clamp(14px, 2vw, 20px);
    display: inline-block;
    padding: clamp(10px, 1.4vw, 12px) clamp(18px, 2.2vw, 26px);
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 12px;
    cursor: pointer;
    text-decoration: none;
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.35;
    color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.22);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

a.page-footer__btn:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
}

.page-footer__bottom {
    margin-top: clamp(6px, 1vw, 10px);
    padding: clamp(14px, 2vw, 20px) 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: clamp(10px, 1.5vw, 14px) clamp(12px, 2vw, 18px);
}

.page-footer__bottom-text {
    display: flex;
    align-items: center;
    column-gap: clamp(12px, 2vw, 20px);
    row-gap: 8px;
    flex-wrap: wrap;
}

.page-footer__bottom-text p {
    margin-bottom: 0;
    margin-top: 0;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(13px, 1.3vw, 14px) !important;
    line-height: 1.45;
    color: #5a616c;
}

.page-footer__bottom-link {
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(13px, 1.3vw, 14px) !important;
    line-height: 1.45;
    color: #64748b !important;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
    margin-left: auto;
}

.page-footer__bottom-link:hover {
    color: var(--impulse-help-blue) !important;
    border-bottom-color: rgba(37, 99, 235, 0.35);
}

.page-footer__bottom-slabovid .bvi-open {
    display: flex;
    align-items: center;
}

.page-footer__bottom-slabovid {
    display: flex;
    align-items: center;
}

.page-footer__bottom-slabovid .bvi-shortcode a {
    font-family: Inter;
    font-weight: 500!important;
    font-size: 14px!important;
    color: #5A616C!important;
}



/* page-home */

@media (max-width: 1560px) {

    .page-footer__wrapper {
        max-width: 1000px;
    }

    .page-footer__menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-footer__bottom {
        flex-wrap: wrap;
        row-gap: 12px;
    }

    .page-footer__bottom-text {
        width: 100%;
        justify-content: space-between;
    
    }
}

@media (max-width: 1040px) {

    .page-footer__top {
        grid-template-columns: 1fr;
    }

    .page-footer__wrapper {
        max-width: 600px;
    }

}

@media (max-width: 640px) {

    .page-footer__menu {
        padding: clamp(14px, 3vw, 20px);
        grid-template-columns: 1fr;
        row-gap: clamp(14px, 2.5vw, 20px);
        column-gap: 0;
    }

    .page-footer__contacts-top {
        padding: clamp(14px, 3vw, 20px);
    }

    .page-footer__contacts-top .page-footer__contacts-bottom {
        margin-top: clamp(12px, 2.5vw, 18px);
        padding-top: clamp(12px, 2.5vw, 18px);
        padding-left: 0;
        padding-right: 0;
    }

    .menu-podval-menyu-poleznye-ssylki-container {
        margin-top: 16px;
    }

    .page-footer__menu-column ul.menu {
        padding: 0;
        margin: 0;
    }

    .page-footer__menu-column {
        width: 100%;
        max-width: 100%;
    }

    .page-footer__bottom {
        padding: clamp(12px, 2.5vw, 18px) 0;
        justify-content: flex-start;
    }

    .page-footer__bottom-text {
        flex-direction: column;
        row-gap: 12px;
        align-items: start;
    }

    .page-footer__bottom-link {
        margin-left: 0;
    }

}


/* page-home__banner */

.page-home__banner {
    padding: 0;
}

.page-home__banner-wrapper {
    margin: 0 32px;
}

.page-home__banner-swiper {
    height: 720px;
}

.page-home__banner-slide {
    user-select: none;
    position: relative;
    border-radius: 40px;
    overflow: hidden;
}

.page-home__banner-slide-content {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    padding: 120px 0 0 168px;
}

.page-home__banner-slide-background {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-home__banner-slide-background video {
    width: 100%;
    margin-bottom: 200px;
}

.page-home__banner-slide-content-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 64px;
    line-height: 72px;
    color: #FFFFFF;
    max-width: 1100px;
    margin-bottom: 24px;
}

.page-home__banner-slide-content-text {
    font-family: Inter;
    font-weight: 500;
    font-size: 24px;
    color: #FFFFFF;
    max-width: 642px;
    margin-bottom: 64px;
}

.black .page-home__banner-slide-content-title {
    color: #111827;
}

.black .page-home__banner-slide-content-text {
    color: #111827;
}

.small .page-home__banner-slide-content-title {
    max-width: 784px;
}

.small .page-home__banner-slide-content-text {
    max-width: 642px;
}

.page-home__banner-slide-content-btn {
    font-family: Inter!important;
    font-weight: 500!important;
    font-size: 18px!important;
    color: var(--impulse-help-blue)!important;
    display: inline-block;
    cursor: pointer;
    
    padding: 14px 24px;
    border-radius: 10px;
    background-color: var(--impulse-help-outline-bg);
    border: 1px solid var(--impulse-help-blue);
}
.page-home__banner-slide-content-btn:hover {
    color: var(--impulse-help-blue-hover)!important;
    background-color: var(--impulse-help-outline-hover-bg);
    border-color: var(--impulse-help-blue-hover);
}


@media (max-width: 1700px) {
    .page-home__banner-slide-content {
        padding: 40px;
    }

    .page-home__banner-slide-background video {
        margin-bottom: 100px;
    }

}

@media (max-width: 1500px) {
    .page-home__banner-slide-background video {
        margin: 0;
    }
}

@media (max-width: 1300px) {
    .page-home__banner-slide-background video {
        width: auto;
        height: 100%;

    }
}

@media (max-width: 1040px) {



    .page-home__banner-slide-content-title {
        font-size: 40px;
        line-height: 40px;
    }

    .page-home__banner-slide-content-text {
        font-size: 20px;
    }

}

@media (max-width: 640px) {

    .page-home__banner-wrapper {
        margin: 0 16px;
    }

    .page-home__banner-slide-content-title {
        font-size: 30px;
    }

    .page-home__banner-slide-content-text {
        font-size: 16px;
    }

    .page-home__banner-slide-content {
        padding: 20px;
    }

    .page-home__banner-swiper {
        height: 520px;
    }

    .page-home__banner-slide-content-btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px!important;
        padding: 8px 12px;
    }
}

/* page-home__banner */


/* page-home__main-directions */

.page-home__main-directions-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.main-directions__head {
    margin-bottom: 48px;
}

.main-directions__head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 48px!important;
    color: #111827;
}

.main-directions__head-subtitle {
    font-family: Inter;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    margin: 0;
}

.main-directions__block {
    display: flex;
    align-items: start;
    justify-content: space-between;
    column-gap: 160px;
}

.main-directions__content {
    max-width: 520px;
}

.main-directions__content img {
    max-width: 100%;
    border-radius: 16px;
    margin-bottom: 24px;
}

.main-directions__content-photo {
    height: auto;
    display: block;
}

.main-directions__content p {
    font-family: Inter;
    font-weight: 400;
    font-size: 18px;
    color: #5A616C;
    margin: 0;
}

.main-directions__links {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.main-directions__links-item {
    width: 100%;
    padding: 40px 0;

    display: flex;
    justify-content: space-between;
    align-items: center;

    border-bottom: 1px solid #EBEDF1;
}

.main-directions__links-item:hover {
    border-bottom: 1px solid #B7BECA;
    padding: 40px 0px 40px 24px;
}

.main-directions__links-item-img {
    padding: 12px;
    border-radius: 50%;
    border: 1px solid #EBEDF1;
}

.main-directions__links-item:hover .main-directions__links-item-img {
    background-color: #3A3AFE;
}

.main-directions__links-item-img-active {
    display: none;
}

.main-directions__links-item-img-hide {
    display: block;
}

.main-directions__links-item:hover .main-directions__links-item-img-active {
    display: block;
}

.main-directions__links-item:hover .main-directions__links-item-img-hide {
    display: none;
}

.main-directions__links-item span {
    font-family: Inter;
    font-weight: 500;
    font-size: 32px;
    color: #111827;
}

@media (max-width: 1560px) {

    .page-home__main-directions-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

    .main-directions__block {
        column-gap: 30px;
    }

    .main-directions__content {
        max-width: 460px;
    }



}

@media (max-width: 1040px) {

    .page-home__main-directions-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .main-directions__block {
        row-gap: 30px;
        flex-direction: column;
    }

    .main-directions__content {
        max-width: 100%;
    }

}

@media (max-width: 640px) {

    .page-home__main-directions-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .main-directions__links-item span {
        font-size: 24px;
    }

    .main-directions__links-item {
        padding: 20px 0;
    }

    .main-directions__links-item:hover {
        border-bottom: 1px solid #B7BECA;
        padding: 20px 0px 20px 12px;
    }

    .main-directions__head-title {
        font-size: 28px !important;
    }

    .main-directions__head {
        margin-bottom: 24px;
    }

}

/* page-home__main-directions */


/* page-home__about */

.page-home__about {
    background-color: #F1F6FE;
    padding: clamp(28px, 4vw, 48px) 0;
}

.page-home__about-wrapper {
    max-width: 1520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 2vw, 22px);
    align-items: stretch;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Старая заливка: кнопка вне .page-home__about-bar — не показывать */
.page-home__about-wrapper > a.page-home__about-cta {
    display: none !important;
}

.page-home__about-heading {
    margin: 0;
    width: 100%;
}

.page-home__about-row {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    grid-template-rows: auto auto;
    column-gap: clamp(20px, 4vw, 48px);
    row-gap: clamp(10px, 1.2vw, 14px);
    align-items: stretch;
    min-width: 0;
    width: 100%;
}

.page-home__about-row > .page-home__about-visual {
    grid-column: 1;
    grid-row: 1;
}

.page-home__about-row > .page-home__about-aside {
    grid-column: 2;
    grid-row: 1;
}

.page-home__about-row > .page-home__about-bar {
    grid-column: 1 / -1;
    grid-row: 2;
}

.page-home__about-aside {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.page-home__about-lead {
    max-width: min(726px, 100%);
    width: 100%;
}

.page-home__about-lead h1,
.page-home__about-lead h2,
.page-home__about-lead h3,
.page-home__about-lead h4 {
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(15px, 1.5vw, 17px) !important;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    margin: 0 0 0.5em;
}

/* Полоса под фото: только кнопка слева */
.page-home__about-bar {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(20px, 4vw, 48px);
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    position: relative;
    z-index: 1;
    clear: both;
}

.page-home__about-bar .page-home__about-cta {
    grid-column: 1;
    justify-self: start;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0;
}

.page-home__about-cta {
    margin-top: 0;
}

/* Текст/кнопка не поверх фото — только в .page-home__about-bar (picture — не скрывать) */
.page-home__about-visual > *:not(img):not(picture) {
    display: none !important;
}

.page-home__about-visual picture {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    flex: 1 1 auto;
    min-height: 0;
}

.page-home__about-visual figcaption,
.page-home__about-visual-caption {
    display: none !important;
}

.page-home__about-visual::after,
.page-home__about-visual::before {
    content: none !important;
    display: none !important;
}

.page-home__about-visual {
    margin: 0;
    min-height: 0;
    height: 100%;
    display: flex;
    border-radius: clamp(12px, 1.6vw, 16px);
    overflow: hidden;
    border: 1px solid rgba(59, 130, 246, 0.14);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    background: #fff;
}

.page-home__about-visual img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center 22%;
}

.page-home__about-left-content-title,
.page-home__about-heading {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px) !important;
    line-height: 1.15;
    color: #111827;
}

/* Главная: та же сетка, чуть шире зазор между колонками */
body.home .page-home__about-wrapper {
    gap: clamp(14px, 2vw, 22px);
}

body.home .page-home__about-row {
    column-gap: clamp(24px, 3.5vw, 64px);
}

.page-home__about-left-content-text p {
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(15px, 1.5vw, 17px) !important;
    line-height: 1.45;
    color: #111827;
    margin: 0 0 0.55em;
}

a.page-home__about-left-cards-btn {
    font-family: Inter!important;
    font-weight: 500!important;
    font-size: clamp(16px, 1.5vw, 17px);
    color: #FFFFFF!important;
    padding: clamp(10px, 1.4vw, 13px) clamp(22px, 3vw, 36px);
    border-radius: 10px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    display: inline-block;
    cursor: pointer;
    margin-top: 0;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

a.page-home__about-left-cards-btn:hover {
    color: #FFFFFF!important;
    background-color: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
}

.page-home__about-left-cards {
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px;
    column-gap: 10px;
}

.page-home__about-aside .page-home__about-left-cards {
    flex-direction: column;
    flex-wrap: nowrap;
    flex: 1;
    height: 100%;
    gap: clamp(10px, 1.5vw, 14px);
}

@media (min-width: 961px) {
    .page-home__about-row {
        max-height: none;
        min-height: 0;
    }

    .page-home__about-aside .page-home__about-left-cards {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: clamp(8px, 1vw, 12px);
        height: 100%;
        flex: none;
    }

    .page-home__about-aside .page-home__about-left-cards-card {
        flex: none;
        min-height: 0;
        max-width: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: clamp(10px, 1.2vw, 14px) clamp(12px, 1.5vw, 16px);
    }

    .page-home__about-aside .page-home__about-left-cards-card-title {
        font-size: clamp(16px, 1.7vw, 22px) !important;
        line-height: 1.12;
    }

    .page-home__about-aside .page-home__about-left-cards-card-text {
        font-size: 13px !important;
        line-height: 1.32;
    }
}

.page-home__about-aside .page-home__about-left-cards-card {
    max-width: 100%;
}

.page-home__about-left-cards-card {
    width: 100%;
    border-radius: 14px;
    max-width: 355px;
    background-color: #FFFFFF;
    padding: clamp(16px, 2.2vw, 22px) clamp(16px, 2.2vw, 24px);
    border: 1px solid rgba(59, 130, 246, 0.12);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-home__about-left-cards-card:hover {
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.22),
        0 8px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.page-home__about-left-cards-card-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(22px, 2.6vw, 32px) !important;
    line-height: 1.15;
    color: #111827;
    margin: 0;
}

.page-home__about-left-cards-card-text {
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(14px, 1.45vw, 17px) !important;
    line-height: 1.4;
    color: #5A616C;
    margin: 0;
}

@media (max-width: 1560px) {

    .page-home__about-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

    body.home .page-home__about-wrapper {
        gap: clamp(14px, 2vw, 22px);
    }

    .page-home__about-aside .page-home__about-left-cards-card {
        max-width: 100%;
    }
}

@media (max-width: 960px) {

    body.home .page-home__about {
        content-visibility: visible;
        contain-intrinsic-size: auto;
        contain: none;
    }

    .page-home__about-wrapper {
        max-width: 100%;
        margin: 0 auto;
        width: 100%;
        overflow-x: clip;
        box-sizing: border-box;
    }

    .page-home__about-row {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        row-gap: clamp(12px, 2.5vw, 16px);
        width: 100%;
        min-width: 0;
        max-height: none;
    }

    .page-home__about-row > .page-home__about-visual,
    .page-home__about-row > .page-home__about-aside,
    .page-home__about-row > .page-home__about-bar {
        grid-column: 1;
    }

    .page-home__about-row > .page-home__about-visual {
        grid-row: 1;
    }

    .page-home__about-row > .page-home__about-aside {
        grid-row: 2;
    }

    .page-home__about-row > .page-home__about-bar {
        grid-row: 3;
    }

    .page-home__about-visual {
        height: auto;
        min-height: min(52vw, 260px);
        max-width: 100%;
        width: 100%;
        flex: none;
    }

    .page-home__about-bar {
        grid-template-columns: 1fr;
        margin-top: clamp(10px, 2vw, 14px);
    }

    .page-home__about-bar .page-home__about-cta {
        grid-column: 1;
    }

    .page-home__about-visual img,
    .page-home__about-visual picture img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: min(48vw, 240px);
        max-height: min(58vw, 300px);
        aspect-ratio: 16 / 10;
        object-fit: cover;
        object-position: center 22%;
    }

    .page-home__about-visual picture {
        display: block !important;
        width: 100%;
        height: auto;
    }

    .page-home__about-left-cards-card-title,
    .page-home__about-left-cards-card-text {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        word-break: break-word;
    }

    .page-home__about-heading {
        overflow: visible;
        word-break: break-word;
    }

    .page-home__about-aside {
        max-width: 100%;
        min-width: 0;
    }

    .page-home__about-aside .page-home__about-left-cards {
        height: auto;
        width: 100%;
    }

    .page-home__about-aside .page-home__about-left-cards-card {
        flex: none;
        max-width: 100%;
        min-width: 0;
    }

    .page-home__about-lead {
        max-width: 100%;
        min-width: 0;
    }

}

@media (max-width: 640px) {

    .page-home__about-wrapper {
        max-width: 100%;
        margin: 0;
    }

    .page-home__about {
        padding: clamp(12px, 2.5vw, 18px) 0;
    }

    body.home .page-home__about {
        padding: clamp(10px, 2vw, 16px) 0;
    }

    .page-home__about-left-cards-card {
        max-width: 100%;
    }

    .page-home__about-left-content-title {
        font-size: clamp(22px, 5.5vw, 28px) !important;
    }

    .page-home__about-bar .page-home__about-cta {
        width: 100%;
        justify-content: center;
    }

    .page-home__about-left-cards-card-title {
        font-size: clamp(20px, 5vw, 26px) !important;
    }
}

@media (min-width: 961px) {

    body.home .page-home__about {
        padding: clamp(10px, 1.6vw, 18px) 0;
    }

    body.home .page-home__about-wrapper {
        row-gap: clamp(10px, 1.4vw, 14px);
    }

    body.home .page-home__about-row {
        max-height: none;
    }

    body.home .page-home__about-heading {
        font-size: clamp(22px, 2.4vw, 32px) !important;
        line-height: 1.12;
        margin-bottom: 0;
    }

    body.home .page-home__about-left-content-text p,
    body.home .page-home__about-lead p {
        font-size: clamp(14px, 1.25vw, 15px) !important;
        line-height: 1.38;
        margin: 0 0 0.35em;
    }

    body.home .page-home__about-lead {
        margin-top: 0;
    }

    body.home a.page-home__about-left-cards-btn {
        padding: 8px 22px;
        font-size: 15px;
        margin-top: 0;
    }

    body.home .page-home__about-bar {
        margin-top: clamp(8px, 1vw, 10px);
        column-gap: clamp(20px, 3vw, 48px);
    }

    body.home .page-home__about-aside .page-home__about-left-cards {
        gap: 8px;
    }

    body.home .page-home__about-aside .page-home__about-left-cards-card {
        padding: clamp(10px, 1.1vw, 12px) clamp(12px, 1.3vw, 14px);
    }

    body.home .page-home__about-aside .page-home__about-left-cards-card-title {
        font-size: clamp(15px, 1.6vw, 20px) !important;
    }

    body.home .page-home__about-aside .page-home__about-left-cards-card-text {
        font-size: 12px !important;
        line-height: 1.3;
    }
}

/* Узкий десктоп / планшет: карточки в горизонтальный скролл, без гигантской колонки */
@media (min-width: 641px) and (max-width: 960px) {
    .page-home__about-aside .page-home__about-left-cards {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 10px;
        padding-bottom: 4px;
        height: auto;
    }

    .page-home__about-aside .page-home__about-left-cards-card {
        flex: 0 0 min(72vw, 280px);
        scroll-snap-align: start;
        max-width: none;
    }
}

/* page-home__about */


/* page-home__specialists */

.page-home__specialists {
    padding: clamp(28px, 4vw, 48px) 0;
    overflow-x: hidden;
    overflow-y: visible;
    max-width: 100%;
}

.page-home__specialists-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__specialists-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(10px, 1.8vw, 18px);
    column-gap: 16px;
}

.page-home__specialists-head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px);
    color: #111827;
    margin: 0;
    padding: 0;
    line-height: 1.15;
}

.page-home__specialists-head-btn {
    display: flex;
    align-items: center;
    column-gap: 12px;
    margin: 0;
    align-self: center;
}

.page-home__specialists-head-btn-name {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(16px, 1.5vw, 18px);
    color: #5A616C;
    margin: 0;
}

.page-home__specialists-categories {
    margin-top: 0;
    margin-bottom: clamp(12px, 2vw, 20px);
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(6px, 1.2vw, 12px);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
    padding-bottom: 4px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.page-home__specialists-categories-item {
    flex: 0 0 auto;
    padding: clamp(5px, 0.85vw, 7px) clamp(10px, 1.5vw, 14px);
    border: 1px solid #d2d6dc;
    border-radius: 999px;
    cursor: pointer;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(13px, 1.25vw, 15px);
    color: #5A616C;
    white-space: nowrap;
    background: #fff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.page-home__specialists-categories-item:hover {
    border: 1px solid #3A3AFE;
    color: #111827;
    box-shadow: 0 2px 10px rgba(58, 58, 254, 0.12);
}

.page-home__specialists-categories-item.active {
    border: 1px solid #3A3AFE;
    color: #111827;
    box-shadow: 0 0 0 2px rgba(58, 58, 254, 0.18);
}

/* На всю ширину окна + отступы как у блока max-width 1520px по центру (переполнение по X режется у body/.page-wrapper) */
.page-home__specialists-block {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    padding-left: max(16px, calc((100vw - 1520px) / 2));
    padding-right: max(16px, calc((100vw - 1520px) / 2));
    box-sizing: border-box;
    overflow: hidden;
}

/* Главная: слайдер в том же горизонтальном канале, что заголовок и фильтры (без 100vw — иначе «уезжает» вправо относительно остальных блоков) */
body.home .page-home__specialists-block {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Swiper здесь управляет горизонтальным скроллом; visible ломало вьюпорт */
/* Перебиваем theme style.css: .swiper { height: 400px } иначе слайдер «зажат» по высоте */
.page-home__specialists .swiper.specialists__swiper {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    min-height: 0;
    box-sizing: border-box;
    touch-action: pan-y;
}

/* Ширину слайда считает Swiper (дробный slidesPerView) — заполняет строку без «дыры» справа */
.page-home__specialists-item.swiper-slide {
    height: auto;
    box-sizing: border-box;
}

.specialists__swiper .swiper-wrapper {
    align-items: stretch;
}

.page-home__specialists-item {
    max-width: none;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid rgba(59, 130, 246, 0.12);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-home__specialists-item:hover {
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.2),
        0 8px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
    border-color: rgba(59, 130, 246, 0.22);
}

.page-home__specialists-item.hide {
    display: none;
}

.page-home__specialists-item-top {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: clamp(8px, 1.5vw, 12px);
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}

.page-home__specialists-item-top img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.page-home__specialists-item-bottom {
    padding: 0 clamp(12px, 2vw, 16px) clamp(10px, 1.8vw, 14px);
}

.page-home__specialists-item-bottom-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(16px, 1.55vw, 18px)!important;
    color: #111827;
    margin: 0 0 clamp(6px, 1vw, 10px) 0;
}

.page-home__specialists-item-bottom-doljnost {
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(14px, 1.4vw, 16px)!important;
    color: #5A616C;
    margin: 0 0 6px 0;
}

.page-home__specialists-item-bottom-exp {
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(13px, 1.35vw, 15px)!important;
    color: #5A616C;
    margin: 0;
}


@media (max-width: 1560px) {

    .page-home__specialists-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {

    .page-home__specialists-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__specialists-head {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 8px;
    }

    .page-home__specialists-categories {
        margin-top: 12px;
    }

}

@media (max-width: 640px) {

    .page-home__specialists-head-title {
        font-size: clamp(22px, 5.5vw, 28px) !important;
        line-height: 1.15;
    }

    .page-home__specialists-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__specialists {
        padding: clamp(18px, 3vw, 28px) 0;
    }
}

/* page-home__specialists */


/* page-home__work — компактно: слева текст, справа сетка 2×N карточек + CTA */

.page-home__work {
    padding: clamp(28px, 4vw, 44px) 0;
}

.page-home__work--compact .page-home__work-wrapper {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    gap: clamp(18px, 2.5vw, 32px);
    align-items: start;
    position: relative;
}

.page-home__work--compact .page-home__work-left {
    max-width: none;
    width: auto;
    position: static;
}

.page-home__work-left-block {
}

.page-home__work--compact .page-home__work-left-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(24px, 2.6vw, 34px) !important;
    color: #111827;
    margin-bottom: 12px;
    line-height: 1.15;
}

.page-home__work--compact .page-home__work-left-text,
.page-home__work--compact .page-home__work-left-text p {
    font-family: Inter;
    font-weight: 400;
    font-size: 15px !important;
    line-height: 1.5;
    color: #5a616c;
}

.page-home__work--compact .page-home__work-left-text p {
    margin-bottom: 10px;
}

.page-home__work--compact .page-home__work-left-text p:last-child {
    margin-bottom: 0;
}

.page-home__work--compact .page-home__work-right {
    max-width: none;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.page-home__work-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.page-home__work--compact .page-home__work-right-item {
    background-color: #f1f6fe;
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.page-home__work--compact .page-home__work-right-item-img-wrapper {
    padding: 10px;
    border-radius: 50%;
    background-color: #3a3afe;
    margin-bottom: 10px;
}

.page-home__work-right-item-img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.page-home__work--compact .page-home__work-right-item-title {
    margin: 0 0 6px 0;
    font-family: Inter;
    font-weight: 600;
    font-size: 17px !important;
    line-height: 1.25;
    color: #111827;
}

.page-home__work--compact .page-home__work-right-item-text {
    margin: 0;
    font-family: Inter;
    font-weight: 400;
    font-size: 14px !important;
    line-height: 1.45;
    color: #5a616c;
}

.page-home__work--compact .page-home__work-right-item.last {
    background-color: #3a3afe;
    border-radius: 12px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.page-home__work--compact .page-home__work-right-item.last .page-home__work-right-item-title {
    font-size: 18px !important;
    color: #ffffff;
    margin-bottom: 8px;
}

.page-home__work--compact .page-home__work-right-item.last .page-home__work-right-item-text {
    font-size: 14px !important;
    color: #ffffff;
    margin-bottom: 16px;
}

/* Перебить style.css a:link — кнопка «Оставить заявку» */
a.page-home__work-right-item-btn,
a.page-home__work-right-item-btn:link,
a.page-home__work-right-item-btn:visited,
a.page-home__work-right-item-btn:active,
a.page-home__work-right-item-btn:focus {
    border-radius: 10px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    padding: 12px 20px;
    font-family: Inter;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.25;
    color: #ffffff !important;
    cursor: pointer;
    text-decoration: none;
}

a.page-home__work-right-item-btn:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff !important;
}

@media (max-width: 1100px) {
    .page-home__work--compact .page-home__work-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .page-home__work-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .page-home__work {
        padding: 24px 0;
    }

    .page-home__work--compact .page-home__work-wrapper {
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__work-cards {
        grid-template-columns: 1fr;
    }

    .page-home__work--compact .page-home__work-right-item {
        padding: 14px 16px;
    }

    .page-home__work--compact .page-home__work-left-title {
        font-size: 22px !important;
    }
}

/* page-home__reviews */

.page-home__reviews {
    background-color: #F1F6FE;
    padding: 100px 0 58px 0;
    margin: 60px 0;
    border-radius: 40px;
}

.page-home__reviews-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__reviews-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 48px;
    gap: 16px 24px;
}

.page-home__reviews-head-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.page-home__reviews-head-note {
    margin: 10px 0 0;
    max-width: 42rem;
    font-family: Inter, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    color: #5A616C;
}

.page-home__reviews-head-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px 20px;
}

.page-home__reviews-head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 48px;
    color: #111827;
}

.page-home__reviews-head-btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    column-gap: 12px;

    font-family: Inter!important;
    font-weight: 600!important;
    font-size: 18px!important;
    color: #5A616C!important;
}

.page-home__reviews-head-btn p {
    margin: 0;
}

.page-home__reviews-head-btn:hover {
    color: #3A3AFE!important;
}

.page-home__reviews-head-btn .img-active {
    display: none;
}

.page-home__reviews-head-btn .img-hide {
    display: block;
}

.page-home__reviews-head-btn:hover .img-active {
    display: block;
}

.page-home__reviews-head-btn:hover .img-hide {
    display: none;
}

.page-home__reviews-content-slide.first.swiper-slide {
    max-width: 290px;
    background-color: #3A3AFE;
    border-radius: 16px;
    padding: 32px 40px;
    display: flex;
    flex-direction: column;
    align-items: start;
}

.page-home__reviews-content-slide-average-num {
    font-family: Inter;
    font-weight: 600;
    font-size: 64px!important;
    color: #FFFFFF;
}

.page-home__reviews-content-slide-average-text {
    font-family: Inter;
    font-weight: 400;
    font-size: 18px!important;
    color: #FFFFFF;
    margin-top: auto;
}

.page-home__reviews-content-slide-2gis-note {
    font-size: 14px;
    line-height: 1.4;
}

.page-home__reviews-content-slide-2gis-link {
    color: #fff !important;
    text-decoration: underline;
    font-weight: 500;
}

.page-home__reviews-content-slide-2gis-link:hover {
    color: #e0e7ff !important;
}

.page-home__reviews-content-slide.swiper-slide {
    max-width: 394px;
    border-radius: 16px;
    padding: 32px;
    background-color: #ffffff;

    display: flex;
    flex-direction: column;
}

.page-home__reviews-swiper-pagination.swiper-pagination {
    position: relative;
    margin-top: 70px;
}

.page-home__reviews-content-slide-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 32px;
}

.page-home__reviews-content-slide-head-right {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 1px;
    min-width: 104px;
}

.page-home__reviews-content-slide-head-right svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.page-home__reviews-content-slide-head-title {
    font-family: Inter;
    font-weight: 500;
    font-size: 18px!important;
    color: #0F1523;
    margin: 0 0 8px 0;
    max-width: 210px;
}

.page-home__reviews-content-slide-head-date {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px!important;
    color: #9299A5;
    margin: 0;
}

.page-home__reviews-content-slide-content {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    color: #111827;
}

.page-home__reviews-content-slide-show {
    margin-top: auto;
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    color: #5A616C;
    cursor: pointer;
}

.page-home__reviews-content-slide-show:hover {
    font-family: Inter;
    font-weight: 400;
    font-size: 16px;
    color: #3A3AFE;
}

.page-home__reviews-content-slide-full {
    display: none;
}

[data-review-content] .page-home__reviews-content-slide-excerpt {
    display: none;
}

[data-review-content] .page-home__reviews-content-slide-full {
    display: block;
}

.page-home__reviews-content-slide-source,
.page-inner-reviews__card-source {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3A3AFE;
    font-size: 12px;
    font-weight: 600;
    vertical-align: middle;
}

.page-inner-reviews__card-date {
    margin: 4px 0 0;
    color: #5A616C;
    font-size: 14px;
}

.page-home__reviews-content-slide-show--link {
    text-decoration: none;
}

.reviews__swiper {
    pointer-events: all !important;
}

.page-home__reviews-swiper-pagination {
    pointer-events: all !important;
}

@media (max-width: 1560px) {

    .page-home__reviews-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {

    .page-home__reviews-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__reviews-head {
        flex-direction: column;
        align-items: start;
    }

    .page-home__reviews-head-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .reviews__swiper.swiper {
        overflow: visible;
    }

    body.home .reviews__swiper.swiper {
        overflow: hidden;
    }

}

@media (max-width: 640px) {

    .page-home__reviews-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__reviews-head-title {
        font-size: 24px;
    }

    .page-home__reviews-head {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 24px;
    }

    .page-home__reviews-head-actions {
        justify-content: flex-start;
    }

    .page-home__reviews-head-note {
        max-width: none;
    }

    .page-home__reviews {
        background-color: #F1F6FE;
        padding: 30px 0 30px 0;
        margin: 30px 0;
        border-radius: 24px;
    }

    body.home .page-home__reviews {
        padding: clamp(18px, 3vw, 28px) 0;
        margin: 0;
        border-radius: clamp(12px, 2vw, 18px);
    }

    body.home .page-home__reviews-head-title {
        font-size: clamp(20px, 5.5vw, 28px) !important;
    }

    body.home .page-home__reviews .page-home__reviews-content-slide.swiper-slide:not(.first) {
        max-width: min(320px, 88vw);
    }

    body.home .page-home__reviews .page-home__reviews-content-slide.first.swiper-slide {
        max-width: min(260px, 88vw);
    }

    .page-home__reviews-content-slide-head {
        flex-wrap: wrap;
        gap: 8px;
    }

    .page-home__reviews-content-slide-head-right {
        min-width: 104px;
    }
}

/* page-home__reviews */


/* page-home__video-reviews */

.page-home__video-reviews {
    overflow: hidden;
    padding: 60px 0;
}

.page-home__video-reviews-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__video-reviews-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 48px;
}

.page-home__video-reviews-head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 48px;
    color: #111827;
}

.page-home__video-reviews-head-btn {
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.page-home__video-reviews-head-btn p {
    font-family: Inter;
    font-weight: 600;
    font-size: 18px!important;
    color: #5A616C;
    margin: 0;
}


.video__swiper {
    height: 520px;
}

.video__swiper-slide {
    max-width: 362px;
    overflow: hidden;
    border-radius: 16px;
}

.video__swiper-slide-prev.hide {
    display: none;
}

.video__swiper-slide-prev {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-repeat: no-repeat;
    background-size: cover;
}

.video__swiper-slide-prev-img {
    max-height: 100%;

}

.video__swiper-slide-vid {
    display: none;
}
.video__swiper-slide-vid.show {
    display: block;
    width: 100%;
    height: 100%;
}

.video__swiper-slide-vid.show video {
    width: 100%;
    height: auto;
}

@media (max-width: 1560px) {
    
    .page-home__video-reviews-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {
    
    .page-home__video-reviews-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

}

@media (max-width: 640px) {

    .page-home__video-reviews {
        overflow: hidden;
        padding: 30px 0;
    }
    
    .page-home__video-reviews-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__video-reviews-head-title {
        font-size: 24px;
    }

    .page-home__video-reviews-head-btn p {
        font-family: Inter;
        font-weight: 600;
        font-size: 16px!important;
        color: #5A616C;
        margin: 0;
    }

    .page-home__video-reviews-head {
        flex-direction: column;
        align-items: start;
        row-gap: 12px;
        margin-bottom: 24px;
    }

}

/* page-home__video-reviews */


/* page-home__certificates */

.page-home__certificates {
    padding: clamp(28px, 4vw, 48px) 0;
}

.page-home__certificates-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__certificates-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(16px, 2.5vw, 28px);
}

.page-home__certificates-head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 48px;
    color: #111827;
}

.page-home__certificates-head-btn {
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.page-home__certificates-head-btn p {
    font-family: Inter;
    font-weight: 600;
    font-size: 18px!important;
    color: #9299A5;
    margin: 0;
}

.certificates__swiper {
    height: clamp(160px, 26vw, 240px);
}

.certificates__swiper-slide.swiper-slide {
    width: clamp(160px, 20vw, 220px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.certificates__swiper-slide:hover img {
    filter: none;
}

.certificates__swiper-slide img {
    max-width: 100%;
    max-height: 100%;
    filter: none;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.certificates__swiper-slide:hover img,
.certificates__swiper-slide:focus-visible img {
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.45),
        0 8px 22px rgba(15, 23, 42, 0.12);
    transform: translateY(-2px);
}


@media (max-width: 1560px) {

    .page-home__certificates-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {

    .page-home__certificates-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__certificates-head {
        flex-direction: column;
        align-items: start;
        margin-bottom: 24px;
    }

}

@media (max-width: 640px) {

    .page-home__certificates-head-title {
        font-size: 24px;
    }

    .page-home__certificates-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__certificates-head-btn p {
        font-family: Inter;
        font-weight: 600;
        font-size: 16px!important;
        color: #9299A5;
        margin: 0;
    }

    .page-home__certificates {
        padding: 30px 0;
    }

}

/* page-home__certificates */


/* page-home__partners */

.page-home__partners {
    padding: 60px 0;
}

.page-home__partners-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__partners-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 120px;
}

.page-home__partners-head-title {
    font-family: Inter;
    font-weight: 600;
    font-size: 48px;
    color: #111827;
}


.partners__swiper {
    height: 210px;
}

.partners__swiper-slide.swiper-slide {
    background-color: #F7F8F9;
    overflow: hidden;
    border-radius: 12px;
    max-width: 362px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partners__swiper-slide img {
    max-width: 100%;
}

.partners__swiper-slide.swiper-slide:hover {
    background-color: #F1F2F4;
}

@media (max-width: 1560px) {

    .page-home__partners-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {

    .page-home__partners-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__partners-head {
        margin-bottom: 50px;
    }

    .page-home__partners-head-title {
        font-family: Inter;
        font-weight: 600;
        font-size: 32px;
        color: #111827;
    }

}

@media (max-width: 640px) {

    .page-home__partners {
        padding: 30px 0;
    }

    .page-home__partners-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__partners-head {
        margin-bottom: 24px;
    }

    .partners__swiper-slide.swiper-slide {
        max-width: 280px;
        padding: 12px;
    }

    .page-home__partners-head-title {
        font-family: Inter;
        font-weight: 600;
        font-size: 24px;
        color: #111827;
    }

    .partners__swiper {
        height: 140px;
    }
    
}

/* page-home__partners */


/* page-home__contact-form */

.page-home__contact-form br {
    display: none!important;
}

.page-home__contact-form {
    padding: clamp(28px, 4vw, 48px) 0;
}

.page-home__contact-form-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

[data-form-send="0"] .page-home__contact-form-block {
    display: flex;
}

[data-form-send="0"] .page-home__contact-form-block-submit {
    display: none;
}

[data-form-send="1"] .page-home__contact-form-block {
    display: none;
}

[data-form-send="1"] .page-home__contact-form-block-submit {
    display: flex;
}

.page-home__contact-form-block-submit {
    padding: clamp(24px, 4vw, 48px) clamp(20px, 3.5vw, 56px);
    display: flex;
    flex-direction: column;
    row-gap: clamp(14px, 2.2vw, 22px);
    justify-content: center;
    align-items: center;
    width: 100%;
    background: linear-gradient(90deg, #413DFB 0%, #F894C1 100%);
    border-radius: clamp(18px, 2.5vw, 24px);
}

.page-home__contact-form-block-submit-title {
    max-width: 620px;
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.15;
    color: #FFFFFF;
}

.page-home__contact-form-block-submit-text {
    max-width: 548px;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(15px, 1.55vw, 18px);
    line-height: 1.45;
    text-align: center;
    color: #FFFFFF;
}

.page-home__contact-form-block {
    padding: clamp(24px, 4vw, 48px) clamp(20px, 3.5vw, 56px);
    display: flex;
    justify-content: space-between;
    align-items: start;
    width: 100%;
    background: linear-gradient(90deg, #413DFB 0%, #F894C1 100%);
    border-radius: clamp(18px, 2.5vw, 24px);
    column-gap: clamp(16px, 3vw, 28px);
}

.page-home__contact-form-left {
    max-width: 620px;
    width: 100%;
}

.page-home__contact-form-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.15;
    color: #FFFFFF;
    margin-bottom: clamp(12px, 2vw, 20px);
}

.page-home__contact-form-text {
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(15px, 1.55vw, 18px);
    line-height: 1.45;
    color: #FFFFFF;
}

.page-home__contact-form-trust {
    margin-top: clamp(14px, 2.2vw, 22px);
    display: flex;
    flex-wrap: wrap;
    gap: clamp(8px, 1.2vw, 12px);
}

.page-home__contact-form-trust span {
    display: inline-flex;
    align-items: center;
    padding: clamp(8px, 1.2vw, 10px) clamp(12px, 2vw, 16px);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.38);
    color: #FFFFFF;
    font-size: clamp(12px, 1.3vw, 14px);
    line-height: 1.35;
    font-weight: 500;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-home__contact-form-trust span:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
}

.page-home__contact-form-right {
    max-width: 620px;
    width: 100%;
}

.page-home__contact-form-fields {
    margin-bottom: 28px;
}

.page-home__contact-form-fields p {
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 16px;
    margin: 0;
}

.page-home__contact-form-fields [data-name="username"], .page-home__contact-form-fields [data-name="userphone"] {
    width: 100%;
}

.page-home__contact-form-fields [name="username"], .page-home__contact-form-fields [name="userphone"] {
    width: 100%!important;
    margin: 0;
    padding: 14px 16px;
    border-radius: 10px!important;
    border: none!important;
    background-color: rgba(255, 255, 255, 0.12)!important;
    font-family: Inter!important;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: #FFFFFF;
}

.page-home__contact-form-fields [name="username"]::placeholder, .page-home__contact-form-fields [name="userphone"]::placeholder {
    font-family: Inter!important;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: rgba(255, 255, 255, 0.50)!important;
}


.page-home__contact-form-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 24px;
    
}

.page-home__contact-form-submit .wpcf7-spinner {
    display: none;
}

.page-home__contact-form-submit p  {
    margin: 0;
}

.page-home__contact-form-submit input[type="submit"] {
    padding: 14px 36px;
    background-color: var(--impulse-help-teal) !important;
    border: 1px solid var(--impulse-help-teal-hover) !important;
    border-radius: 10px !important;
    cursor: pointer;

    font-family: Inter;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #ffffff !important;
}
.page-home__contact-form-submit input[type="submit"]:hover {
    background: var(--impulse-help-teal-hover) !important;
    border-color: var(--impulse-help-teal-ring) !important;
    color: #ffffff !important;
}

.page-home__contact-form-submit-privacy {
    font-family: Inter;
    font-weight: 400;
    font-size: 14px!important;
    line-height: 20px;
    color: #FFFFFF!important;
    margin: 0;
}

.page-home__contact-form-submit-privacy a {
    text-decoration: underline;
    font-family: Inter;
    font-weight: 400;
    font-size: 14px!important;
    line-height: 20px;
    color: #FFFFFF!important;
}


@media (max-width: 1560px) {

    .page-home__contact-form-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

    .page-home__contact-form-block {
        padding: clamp(20px, 3.5vw, 32px) clamp(16px, 3vw, 28px);
    }

}

@media (max-width: 1040px) {

    .page-home__contact-form-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__contact-form-block {
        flex-direction: column;
        row-gap: 24px;
    }

    .page-home__contact-form-block-submit-title {
        font-size: clamp(22px, 4vw, 30px);
        line-height: 1.2;
        text-align: center;
    }

    .page-home__contact-form-block-submit-text {
        font-size: 16px;
        line-height: 24px;
    }

}

@media (max-width: 640px) {

    .page-home__contact-form {
        padding: clamp(18px, 3vw, 28px) 0;
    }

    .page-home__contact-form-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__contact-form-block {
        padding: 20px;
    }

    .page-home__contact-form-title {
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 12px;
    }

    .page-home__contact-form-text {
        font-size: 16px;
    }

    .page-home__contact-form-trust {
        margin-top: 16px;
        gap: 8px;
    }

    .page-home__contact-form-trust span {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .page-home__contact-form-submit {
        flex-direction: column;
        align-items: start;
        row-gap: 16px;
    }

    .page-home__contact-form-submit input[type="submit"] {
        width: 100%;
    }

    .page-home__contact-form-submit > p {
        width: 100%;
    }

    .page-home__contact-form-block-submit-title {
        font-size: 24px;
        line-height: 38px;
        text-align: center;
    }

    .page-home__contact-form-block-submit {
        padding: 28px 20px;
        row-gap: 12px;
    }

}

/* page-home__contact-form */

/* page-home__segments */
.page-home__segments {
    padding: 60px 0;
}

.page-home__segments-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__segments-head {
    margin-bottom: 24px;
}

.page-home__segments-title {
    margin: 0 0 10px;
    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    color: #111827;
}

.page-home__segments-text {
    margin: 0;
    font-size: 18px;
    line-height: 1.45;
    color: #5A616C;
    max-width: 900px;
}

.page-home__segments-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.page-home__segments-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 170px;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    background: #FFFFFF;
    text-decoration: none;
}

.page-home__segments-card-title {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    color: #111827;
}

.page-home__segments-card-text {
    font-size: 15px;
    line-height: 1.45;
    color: #5A616C;
}

.page-home__segments-card:hover {
    border-color: #3A3AFE;
}

@media (max-width: 1560px) {
    .page-home__segments-wrapper {
        max-width: 1000px;
    }

    .page-home__segments-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1040px) {
    .page-home__segments-wrapper {
        max-width: 600px;
    }
}

@media (max-width: 640px) {
    .page-home__segments {
        padding: 30px 0;
    }

    .page-home__segments-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__segments-title {
        font-size: 28px;
    }

    .page-home__segments-text {
        font-size: 16px;
    }

    .page-home__segments-grid {
        grid-template-columns: 1fr;
    }

    .page-home__segments-card {
        min-height: unset;
    }
}
/* page-home__segments */


/* page-home__faq */

/* Отдельная страница «Вопрос-ответ» (page-faq.php): те же классы, что у блока на главной */
.page-faq-main {
    padding-bottom: 48px;
}

.page-faq-standalone__empty {
    padding: 20px;
    background: #f7f8f9;
    border-radius: 16px;
    border: 1px solid #ebedf1;
    font-size: 15px;
    line-height: 1.5;
    color: #374151;
}

.page-faq-standalone__empty code {
    font-size: 13px;
}

.page-faq-standalone__legacy-content {
    margin-top: 16px;
}

.page-faq-standalone__legacy-content > *:first-child {
    margin-top: 0;
}

/* Оглавление FAQ (ссылки на вопросы) */
.page-faq-toc {
    width: 100%;
    margin-bottom: 28px;
    padding: 16px 18px;
    background: #f1f6fe;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.page-faq-toc__title {
    font-family: Inter, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #111827;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.page-faq-toc__list {
    margin: 0;
    padding-left: 1.15rem;
    font-family: Inter, sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: #334155;
}

.page-faq-toc__item {
    margin-bottom: 6px;
}

.page-faq-toc__item:last-child {
    margin-bottom: 0;
}

.page-faq-toc__link {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}

.page-faq-toc__link:hover {
    text-decoration: underline;
    color: #1d4ed8;
}

@media (max-width: 640px) {
    .page-faq-toc {
        margin-bottom: 20px;
        padding: 14px 14px;
    }
}

/* Дубль оглавления слева (часто вставлен в ACF/HTML): скрываем — вопросы только в аккордеоне справа */
.page-home__faq-left .page-faq-toc,
.page-home__faq-left-text .page-faq-toc {
    display: none !important;
}

.page-home__faq {
    padding: clamp(28px, 4vw, 48px) 0;
}

.page-home__faq-wrapper {
    max-width: 1520px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    column-gap: clamp(16px, 2.5vw, 28px);
}

.page-home__faq-left {
    max-width: 583px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
}

.page-home__faq-left-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.15;
    color: #111827;
    margin-bottom: clamp(12px, 2vw, 20px);

}

.page-home__faq-left-text {
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.45;
    color: #5A616C;
    margin-bottom: clamp(18px, 2.5vw, 32px);
    
}

.page-home__faq-left-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--impulse-help-blue);
    padding: clamp(10px, 1.4vw, 14px) clamp(22px, 3vw, 30px);
    background-color: var(--impulse-help-outline-bg);
    border: 1px solid var(--impulse-help-blue);
    border-radius: 10px;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(16px, 1.5vw, 17px);
    line-height: 1.3;
    cursor: pointer;
}
.page-home__faq-left-btn:hover {
    background: var(--impulse-help-outline-hover-bg);
    border-color: var(--impulse-help-blue-hover);
    color: var(--impulse-help-blue-hover);
}

.page-home__faq-right {
    max-width: 817px;
    width: 100%;
}

.page-home__faq-items {
    display: flex;
    flex-direction: column;
    width: 100%;
    row-gap: 10px;
}

.page-home__faq-item {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    padding: clamp(16px, 2.2vw, 22px) clamp(16px, 2.2vw, 22px) 0 clamp(16px, 2.2vw, 22px);
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease, background-color 0.25s linear;
    scroll-margin-top: 120px;
}

.page-home__faq-item:hover {
    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.22),
        0 8px 20px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.page-home__faq-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(12px, 2vw, 18px);
    column-gap: 12px;
}

p.page-home__faq-item-head-title {
    margin: 0;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(16px, 1.6vw, 18px)!important;
    line-height: 1.35;
    color: #111827;
}

.page-home__faq-item .page-home__faq-item-head-chevron svg {
    display: block;
}

.page-home__faq-item .page-home__faq-item-head-chevron svg.active {
    display: none;
}

.page-home__faq-item.active .page-home__faq-item-head-chevron svg {
    display: none;
}

.page-home__faq-item.active .page-home__faq-item-head-chevron svg.active {
    display: block;
}

.page-home__faq-item.active .page-home__faq-item-content {
    margin-bottom: clamp(14px, 2vw, 22px);
}

.page-home__faq-item-content {
    overflow: hidden;
    height: 0px;
    margin-bottom: 0;
    transition: all .4s linear;
}

.page-home__faq-item-content p {
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(14px, 1.45vw, 16px)!important;
    line-height: 1.45;
    color: #111827;
}

.page-home__faq-item-content p:last-child {
    margin-bottom: 0;
}


@media (max-width: 1560px) {

    .page-home__faq-wrapper {
        max-width: 1000px;
        margin: 0 auto;
        column-gap: 20px;
    }

}

@media (max-width: 1040px) {

    .page-home__faq-wrapper {
        max-width: 600px;
        margin: 0 auto;
        flex-direction: column;
        row-gap: clamp(16px, 3vw, 22px);
    }

    .page-home__faq-left {
        max-width: 100%;
    }

    .page-home__faq-right {
        max-width: 100%;
    }

}

@media (max-width: 640px) {

    .page-home__faq {
        padding: clamp(18px, 3vw, 28px) 0;
    }

    .page-home__faq-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__faq-left-title {
        font-size: 24px;
        line-height: 34px;
        margin-bottom: 12px;
    }

    .page-home__faq-left-text {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 24px;
    }

    .page-home__faq-left-btn {
        width: 100%;
    }

    p.page-home__faq-item-head-title {
        margin: 0;
        font-family: Inter;
        font-weight: 500;
        font-size: 16px!important;
        line-height: 28px;
        color: #111827;
    }

    .page-home__faq-item {
        padding: clamp(14px, 3vw, 18px) clamp(14px, 3vw, 18px) 0 clamp(14px, 3vw, 18px);
    }

    .page-home__faq-item-head {
        margin-bottom: clamp(10px, 2.5vw, 14px);
    }

}

/* page-home__faq */


/* page-home__news */

.page-home__news {
    padding: clamp(28px, 4vw, 48px) 0;
}

.page-home__news-block {
    padding: clamp(32px, 4vw, 56px) clamp(20px, 3vw, 40px);
    background-color: #F1F6FE;
    border-radius: clamp(20px, 3vw, 32px);
}

.page-home__news-wrapper {
    max-width: 1520px;
    margin: 0 auto;
}

.page-home__news-head {
    margin-bottom: clamp(16px, 2.5vw, 28px);
}

.page-home__news-head-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(12px, 2vw, 18px);
}


.page-home__news-head-content-title {
    font-family: Inter;
    font-weight: 600;
    font-size: clamp(26px, 3.2vw, 40px);
    color: #111827;
}

.page-home__news-head-btn {
    display: flex;
    align-items: center;
    column-gap: 12px;
}

.page-home__news-head-btn p {
    font-family: Inter;
    font-weight: 600;
    font-size: 18px!important;
    color: #9299A5;
    margin: 0;
}

.page-home__news-head-content-text {
    max-width: min(646px, 100%);
    font-family: Inter;
    font-weight: 400;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.45;
    color: #5A616C;
}

.page-home__news-swiper {
    height: clamp(200px, 28vw, 280px);

}

.page-home__news-swiper-slide.swiper-slide {
    width: clamp(240px, 32vw, 320px);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(16px, 2.2vw, 24px);
    text-decoration: none!important;
    background-color: #FFFFFF;
    border-radius: 14px;
    border: 1px solid rgba(59, 130, 246, 0.12);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
}

.page-home__news-swiper-slide-top {
    display: block;
    text-decoration: none!important;
    font-family: Inter;
    font-weight: 500;
    font-size: clamp(16px, 1.7vw, 18px)!important;
    line-height: 1.35;
    color: #111827;
}

.page-home__news-swiper-slide-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.page-home__news-swiper-slide-bottom-date {
    display: block;
    font-family: Inter;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #9299A5;
}

.page-home__news-swiper-slide-bottom-arrow {
    display: block;
    border: 1px solid #EBEDF1;
    background-color: #ffffff;
    border-radius: 50%;
    padding: 8px;
}

.page-home__news-swiper-slide-bottom-arrow .hover {
    display: none;
}

.page-home__news-swiper-slide-bottom-arrow .ne-hover {
    display: block;
}

.page-home__news-swiper-slide.swiper-slide:hover {
    background-color: #3A3AFE;
    border-color: transparent;
    box-shadow:
        0 0 0 2px rgba(58, 58, 254, 0.35),
        0 10px 26px rgba(15, 23, 42, 0.18);
    transform: translateY(-2px);
}

.page-home__news-swiper-slide.swiper-slide:hover .page-home__news-swiper-slide-top {
    color: #FFFFFF;
}

.page-home__news-swiper-slide.swiper-slide:hover .page-home__news-swiper-slide-bottom-date {
    color: #FFFFFF;
}

.page-home__news-swiper-slide.swiper-slide:hover .page-home__news-swiper-slide-bottom-arrow {
    border: 1px solid transparent;
    background-color: #ffffff;
}

.page-home__news-swiper-slide.swiper-slide:hover .page-home__news-swiper-slide-bottom-arrow .hover {
    display: block;
}

.page-home__news-swiper-slide.swiper-slide:hover .page-home__news-swiper-slide-bottom-arrow .ne-hover {
    display: none;
}

@media (max-width: 1560px) {

    .page-home__news-wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

}

@media (max-width: 1040px) {

    .page-home__news-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }

    .page-home__news-head-content {
        flex-direction: column;
        align-items: start;
    }
}

@media (max-width: 640px) {

    .page-home__news-wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    }

    .page-home__news-block {
        padding: clamp(24px, 4vw, 40px) 0;
        border-radius: clamp(18px, 3vw, 28px);
    }

    .page-home__news {
        padding: clamp(18px, 3vw, 28px) 0;
    }

    .page-home__news-head-content-title {
        font-size: 24px;
    }

    .page-home__news-head-btn p {
        font-size: 16px!important;
    }

    .page-home__news-head {
        margin-bottom: 24px;
    }

    .page-home__news-swiper {
        height: clamp(200px, 52vw, 260px);
    }

    .page-home__news-swiper-slide.swiper-slide {
        width: clamp(220px, 78vw, 280px);
        padding: clamp(14px, 3vw, 18px);
    }

    .page-home__news-swiper-slide-top {
        font-size: 16px !important;
    }

}

/* page-home__news */


.modal__background.open {
    display: block;
}

.modal__background {
    display: none;
    background-color: rgba(0, 0, 0, 0.50);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}


/* modal-license */

.modal-license__block {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 30px;
}

.modal-license__block-wrapper {
    max-height: 100%;
    position: relative;
}

.modal-license__block-prev {
    border-radius: 50%;
    position: absolute;
    left: -26px;
    top: calc(50% - 28px);
    border: 1px solid #EBEDF1;
    padding: 14px;
    background-color: #ffffff;
    cursor: pointer;
}

.modal-license__block-next {
    border-radius: 50%;
    position: absolute;
    right: -26px;
    top: calc(50% - 28px);
    border: 1px solid #EBEDF1;
    padding: 14px;
    background-color: #ffffff;
    cursor: pointer;
}

.modal-license__block-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    height: calc(100vh - 120px);
    max-height: 840px;
    width: 580px;
    overflow: hidden;
    padding: 28px 20px;
    border-radius: 16px;
}

.modal-license__block-slide img {
    max-height: 100%;
    max-width: 100%;
}

.modal-license__block-close {
    position: absolute;
    top: 0;
    right: -68px;
    
    background-color: #ffffff;
    padding: 14px;
    border-radius: 10px;
    cursor: pointer;
}

@media (max-width: 700px) {
    .modal-license__block-slide {
        width: 300px;
        max-height: 430px;
    }

    .modal-license__block-close {
        top: -68px;
        right: 0;
    }

}

/* modal-license */



/* modal-license */

.modal-review__block {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 30px;
}

.modal-review__block-wrapper {
    max-height: 100%;
    position: relative;
}

.modal-review__block-slide {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    width: 737px;
    overflow: hidden;
    padding: 32px;
    border-radius: 16px;
    height: 85vh;
}

.modal-review__block-slide video {
    max-height: 100%;
}

.modal-review__block-slide .page-home__reviews-content-slide-show {
    display: none;
}

.modal-review__block-close {
    position: absolute;
    top: 0;
    right: -68px;

    background-color: #ffffff;
    padding: 14px;
    border-radius: 10px;
    cursor: pointer;
}

@media (max-width: 1000px) {

    .modal-review__block-slide {
        width: 100%;
    }

    .modal-review__block-close {
        top: -68px;
        right: 0;
    }

}

@media (max-width: 400px) {

    .modal-review__block-slide .page-home__reviews-content-slide-head {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
        justify-content: space-between;
        margin-bottom: 12px;
    }

}

/* page-home */



/* page-banner */

.page-banner {
    display: flex;
    justify-content: space-between;
    column-gap: 16px;
    margin-top: 32px;
    margin-bottom: 32px;
    padding: 0 32px;
}

.page-banner__left {
    width: 100%;
    border-radius: 40px;
    background-color: #F1F6FE;
    padding: 64px;
}

.page-banner__left-wrapper {
    max-width: 867px;
    margin-left: auto;
}

.page-banner__right {
    overflow: hidden;
    width: 805px;
    border-radius: 40px;
    flex-shrink: 0;
}

.page-banner__right img {
    height: 100%;
}

.page-banner__left-text {

}

.page-banner__left-text h1 {
    font-family: Inter!important;
    font-weight: 600!important;
    font-size: 48px!important;
    line-height: 56px;
    color: #111827;
    margin-bottom: 16px;
}

.page-banner__left-text p {
    font-family: Inter;
    font-weight: 500;
    font-size: 18px!important;
    line-height: 24px;
    color: #5A616C;
}

.page-banner__left-list {
    display: flex;
    flex-direction: column;
    row-gap: 26px;
    margin: 56px 0 0 0;
    padding: 0;
}


.page-banner__left-list-item {
    display: flex;
    align-items: center;
    column-gap: 16px;

}

.page-banner__left-list-item svg {
    flex-shrink: 0;
}

.page-banner__left-list-item p {
    margin: 0;
    font-family: Inter !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: 28px;
    color: #111827;
}

.page-banner__left-info {
    margin-top: 56px;
    display: flex;
    align-items: center;
    column-gap: 64px;
}

.page-banner__left-info-price {
    font-family: Inter;
    font-weight: 600;
    font-size: 40px;
    line-height: 56px;
    color: #111827;
}

.page-banner__left-info-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 56px;
    background-color: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 10px;
    cursor: pointer;

    font-family: Inter;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #FFFFFF;
}
.page-banner__left-info-button:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff;
}

@media (max-width: 1600px) {
    .page-banner__left-text h1 {
        font-size: 32px !important;
        line-height: 32px;
    }

    .page-banner__left-text p {
        font-size: 16px!important;
        line-height: 22px;
    }

    .page-banner__left-list {
        margin: 26px 0 0 0;
    }

    .page-banner__left-info {
        margin-top: 26px;
        column-gap: 10px;
        justify-content: space-between;
    }

    .page-banner__left-info-price {
        font-size: 28px;
    }

    .page-banner__left-info-button {
        padding: 14px 40px;
    }

    .page-banner__right {
        width: 650px;
    }
}

@media (max-width: 1300px) {
    .page-banner__left {
        padding: 40px;
    }

    .page-banner__left-info {
        display: flex;
        align-items: start;
        row-gap: 26px;
        flex-direction: column;
    }

    .page-banner__left-info-button {
        width: 100%;
    }

    .page-banner__right {
        width: 550px;
    }
}

@media (max-width: 1100px) {
    .page-banner {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        row-gap: 16px;
        height: unset;
        margin-top: 32px;
        padding: 0 20px;
    }

    .page-banner__left-wrapper {
        margin: 0 auto;
    }

    .page-banner__right {
        width: unset;
        max-width: 100%;
        margin: 0 auto;
    }

}

@media (max-width: 600px) {
    .page-banner__right {
        height: unset;
    }

    .page-banner__right img {
        height: unset;
        max-width: 100%;
    }

    .page-banner__left {
        padding: 24px;
    }

    .page-banner__left-list-item svg {
        width: 25px;
        height: 25px;
    }

    .page-banner__left-text h1 {
        font-size: 20px !important;
    }

    .page-banner__left-list-item p {
        margin: 0;
        font-family: Inter !important;
        font-weight: 500 !important;
        font-size: 16px !important;
        line-height: 28px;
        color: #111827;
    }

    .page-banner__left-list {
        row-gap: 15px;
    }

    .breadcrumb {
        flex-wrap: nowrap;
        display: flex;
    }
}

/* page-banner */



.breadcrumb-item.active {
    font-family: Inter!important;
    font-weight: 500!important;
    font-size: 16px!important;
    line-height: 24px;
    color: #9299A5!important;
}

.wpcf7-form br {
    display: none!important;
    width: 0px!important;
    height: 0px!important;
}

@media screen and (max-width: 768px) {  
   .page-home__banner-slide-background {
		left: 1170px;
		justify-content: flex-end;
	}
	.page-home__banner-slide-content-btn {
        position: absolute;
		bottom: 55px;
		max-width: 300px;
	}
}


/* BANNER BY 03.12.25 */
.banner_lw {
    padding-top: 0;
    padding-bottom: 0;
    max-width: 1520px;
    width: 100%;
    margin: 0 auto;
    height: 900px;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: #1f2937;
}
.banner_lw img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.banner_lw-filter {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding:0 160px;
    max-width: 860px;
    background: linear-gradient(90deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.66) 72%, rgba(255,255,255,0.00) 100%);
}
.banner_lw-filter .title {
    font-weight: 600;
    font-size: 64px;
    line-height: 100%;
    margin: 0;
    color:#111827;
    margin-bottom: 20px;
}
.banner_lw-filter .description {
    font-weight: 500;
    font-size: 24px;
    line-height: 145%;
    color:#1f2937;
    margin-bottom: 48px;
}
.banner_lw-filter .description > * {
    margin-bottom: 0;
}
.banner_lw-filter .description br {
    display: none;
}
/* Герой: три контактные кнопки — синий / белый с обводкой / бирюза */
.banner_lw-actions .btn {
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    outline: none;
    text-decoration: none;
    box-sizing: border-box;
    border-radius: 8px;
    padding: 11px 18px;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    cursor: pointer;
    min-height: 44px;
    min-width: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.banner_lw-actions .btn.btn-light {
    background-color: var(--impulse-help-blue) !important;
    border: 1px solid var(--impulse-help-blue-hover) !important;
    color: #ffffff !important;
}
.banner_lw-actions .btn.btn-light:hover {
    background-color: var(--impulse-help-blue-hover) !important;
    border-color: var(--impulse-help-blue-ring) !important;
    color: #ffffff !important;
}

.banner_lw-actions .btn:not(.btn-light):not(.btn-dark) {
    background-color: var(--impulse-help-outline-bg) !important;
    border: 1px solid var(--impulse-help-blue) !important;
    color: var(--impulse-help-blue) !important;
}
.banner_lw-actions .btn:not(.btn-light):not(.btn-dark):hover {
    background-color: var(--impulse-help-outline-hover-bg) !important;
    border-color: var(--impulse-help-blue-hover) !important;
    color: var(--impulse-help-blue-hover) !important;
}

.banner_lw-actions .btn.btn-dark {
    background-color: var(--impulse-help-teal) !important;
    border: 1px solid var(--impulse-help-teal-hover) !important;
    color: #ffffff !important;
}
.banner_lw-actions .btn.btn-dark:hover {
    background-color: var(--impulse-help-teal-hover) !important;
    border-color: var(--impulse-help-teal-ring) !important;
    color: #ffffff !important;
}

.banner_lw-actions .btn:active {
    transform: translateY(1px);
}

.banner_lw-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 8px;
    width: min(760px, 100%);
}

.banner_lw-actions .btn {
    margin-bottom: 0;
    width: 100%;
}
.banner_lw-filter .btn-subtitle {
    font-weight: 400;
    font-size: 16px;
    line-height: 145%;
    color:#4b5563;
    margin: 0;
}

.banner_lw-trust-list {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.banner_lw-trust-list li {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(17, 24, 39, 0.10);
    color: #111827;
    font-size: 14px;
    line-height: 18px;
}
@media(max-width:1560px) {
    .banner_lw {
        max-width: 1000px;
        height: 600px;
    }
}
@media (max-width: 1040px) {
    .banner_lw {
        max-width: 600px;
    }
    .banner_lw-filter {
        padding: 0 48px;
        /* Плотная светлая подложка под текст: белый на «солнце» не читался */
        background: linear-gradient(
            125deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(255, 255, 255, 0.94) 42%,
            rgba(248, 250, 252, 0.88) 78%,
            rgba(255, 255, 255, 0.35) 100%
        );
    }
    .banner_lw-filter .title {
        color: #111827;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
    }
    .banner_lw-filter .description {
        font-weight: 500;
        font-size: 16px;
        line-height: 145%;
        color: #374151;
        margin-bottom: 32px;
    }

    .banner_lw-trust-list {
        margin-top: 16px;
    }

    .banner_lw-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .banner_lw-actions .btn {
        font-size: 15px;
    }
}
@media (max-width: 768px) {
    /* Мобильный герой: фото отдельной полосой, текст в светлом блоке — всё читается, ничего не под солнцем */
    .banner_lw {
        width: auto;
        margin: 0 16px;
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
        border-radius: 16px;
        background: #f1f5f9;
        gap: 0;
    }
    body:not(.home) .banner_lw img {
        position: relative;
        flex: 0 0 auto;
        order: -1;
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        min-height: 200px;
        max-height: min(68vw, 360px);
        object-fit: cover;
        object-position: 50% 18%;
        border-radius: 16px 16px 0 0;
    }
    .banner_lw-filter {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        min-height: 0;
        padding: 18px 16px 22px;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        box-sizing: border-box;
        background: #f1f5f9;
        border-radius: 0 0 16px 16px;
        border: 1px solid #e2e8f0;
        border-top: none;
    }
    .banner_lw-filter .title {
        font-size: clamp(22px, 5.5vw, 30px);
        line-height: 1.15;
        margin-bottom: 10px;
        color: #0f172a;
    }
    .banner_lw-filter .description {
        margin-bottom: 14px;
        font-size: 15px;
        line-height: 1.45;
        color: #334155;
    }
    .banner_lw-filter .description > * + * {
        margin-top: 0.35em;
    }
    .banner_lw-actions {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 8px;
        margin-bottom: 8px;
    }
    .banner_lw-actions .btn {
        min-height: 46px;
        padding: 12px 14px;
        margin-bottom: 0;
    }
    .banner_lw-filter .btn-subtitle {
        color: #475569;
    }
    .banner_lw-trust-list {
        margin-top: 10px;
        gap: 8px;
    }
    .banner_lw-trust-list li {
        background: #ffffff;
        border-color: #e2e8f0;
        font-size: 13px;
        line-height: 1.35;
    }
}
@media(max-width:420px) {
    .banner_lw-actions .btn {
        font-size: 14px;
        padding: 10px 14px;
    }
    body:not(.home) .banner_lw img {
        max-height: min(52vw, 260px);
        object-position: 50% 18%;
    }

    body.home .banner_lw > img,
    body.home .banner_lw picture,
    body.home .banner_lw picture img {
        max-height: min(52vw, 260px);
        object-fit: contain !important;
        object-position: center center !important;
    }
    .banner_lw-filter .description br {
        display: block;
    }

    .banner_lw-trust-list {
        gap: 8px;
    }

    .banner_lw-trust-list li {
        font-size: 13px;
        line-height: 16px;
    }

    .banner_lw-actions .btn {
        width: 100%;
        justify-content: center;
        font-size: 14px;
        padding: 10px 14px;
    }

    .banner_lw-actions {
        grid-template-columns: 1fr;
        width: 100%;
    }
}

/* Главная: герой — фото целиком (contain), текст поверх градиента */
body.home .banner_lw {
    display: grid;
    width: calc(100% - 2 * var(--page-home-gutter));
    max-width: min(1520px, 100%);
    margin-left: auto;
    margin-right: auto;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
    max-height: min(75vh, 800px);
    background: #e8eef5;
    border-radius: clamp(14px, 2.2vw, 22px);
    box-shadow:
        0 0 0 1px rgba(59, 130, 246, 0.14),
        0 10px 28px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    overflow: hidden;
}

body.home .banner_lw > img,
body.home .banner_lw picture {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    display: block;
}

.page-home__about-visual picture {
    display: block;
    width: 100%;
    height: 100%;
}

.page-home__about-visual picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 22%;
}

body.home .banner_lw picture img {
    width: 100%;
    height: 100%;
}

body.home .banner_lw > img,
body.home .banner_lw picture img {
    object-fit: contain;
    object-position: center center;
}

body.home .banner_lw-filter {
    grid-area: 1 / 1;
}

@media (max-width: 1560px) {
    body.home .banner_lw {
        max-width: min(1000px, 100%);
        max-height: min(70vh, 640px);
    }
}

@media (max-width: 1040px) {
    body.home .banner_lw {
        max-width: min(600px, 100%);
    }
}

body.home .banner_lw-filter {
    padding: 0 clamp(12px, 5.5vw, 72px) 0 clamp(12px, 3.6vw, 44px);
    max-width: min(860px, 94%);
    box-sizing: border-box;
}

body.home .banner_lw-filter .title {
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1.08;
    margin-bottom: clamp(10px, 1.5vw, 18px);
    letter-spacing: -0.02em;
}

body.home .banner_lw-filter .description {
    font-size: clamp(16px, 1.55vw, 24px);
    line-height: 1.42;
    margin-bottom: clamp(20px, 2.6vw, 36px);
}

body.home .banner_lw-actions {
    gap: clamp(8px, 1.2vw, 12px);
    margin-bottom: clamp(6px, 1vw, 10px);
    width: min(760px, 100%);
}

body.home .banner_lw-actions .btn {
    border-radius: 12px;
    font-size: clamp(14px, 1.3vw, 15px);
    padding: clamp(10px, 1.15vw, 12px) clamp(14px, 1.7vw, 18px);
    min-height: 44px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.home .banner_lw-actions .btn.btn-light {
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.22);
}

body.home .banner_lw-actions .btn.btn-light:hover {
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32);
}

body.home .banner_lw-filter .btn-subtitle {
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.45;
}

body.home .banner_lw-trust-list {
    margin-top: clamp(12px, 1.8vw, 18px);
    gap: clamp(8px, 1.1vw, 10px);
}

body.home .banner_lw-trust-list li {
    padding: clamp(6px, 0.85vw, 8px) clamp(10px, 1.35vw, 14px);
    font-size: clamp(13px, 1.2vw, 14px);
    line-height: 1.35;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(59, 130, 246, 0.2);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.home .banner_lw-trust-list li:hover {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

@media (max-width: 1040px) {
    body.home .banner_lw-filter {
        padding: 0 clamp(12px, 4.2vw, 32px);
        max-width: 100%;
    }

    body.home .banner_lw-filter .title {
        font-size: clamp(24px, 4.5vw, 36px);
    }

    body.home .banner_lw-filter .description {
        font-size: clamp(15px, 2.2vw, 18px);
        margin-bottom: clamp(16px, 2.5vw, 26px);
    }
}

@media (max-width: 768px) {
    /* Главная: колонка «фото → текст», не наложение grid (иначе фото не видно, подпись обрезана) */
    body.home .banner_lw {
        display: flex !important;
        flex-direction: column;
        margin-left: auto;
        margin-right: auto;
        width: calc(100% - 2 * var(--page-home-gutter, clamp(7px, 0.65vw, 10px)));
        max-width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: auto;
        overflow: visible;
        box-shadow:
            0 0 0 1px rgba(59, 130, 246, 0.12),
            0 6px 18px rgba(15, 23, 42, 0.08);
    }

    body.home .banner_lw > img,
    body.home .banner_lw picture {
        grid-area: unset !important;
        position: relative;
        order: -1;
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        min-height: 188px;
        max-height: min(56vw, 300px);
        aspect-ratio: 4 / 3;
        object-fit: contain;
        object-position: center center;
        border-radius: clamp(12px, 2vw, 18px) clamp(12px, 2vw, 18px) 0 0;
        overflow: hidden;
        background: #e8eef5;
    }

    body.home .banner_lw picture img {
        display: block;
        width: 100%;
        height: auto;
        max-height: min(56vw, 300px);
        object-fit: contain;
        object-position: center center;
        border-radius: 0;
    }

    body.home .banner_lw > img {
        max-height: min(56vw, 300px);
    }

    body.home .banner_lw-filter {
        grid-area: unset !important;
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        padding: 18px clamp(12px, 4vw, 16px) 22px;
        box-sizing: border-box;
        background: #f1f5f9;
        border-radius: 0 0 clamp(12px, 2vw, 18px) clamp(12px, 2vw, 18px);
        border: 1px solid rgba(59, 130, 246, 0.12);
        border-top: none;
        box-shadow: none;
        overflow: visible;
    }

    body.home .banner_lw-filter .description {
        overflow: visible;
        max-height: none;
    }

    body.home .banner_lw-trust-list {
        overflow: visible;
    }

    html body.home .banner_lw[data-hero="img"],
    html body.home section.banner_lw {
        background-color: #f1f5f9 !important;
    }

    body.home .banner_lw {
        background: #f1f5f9 !important;
        gap: 0;
    }

    html body.home .banner_lw > img,
    html body.home .banner_lw picture,
    html body.home .banner_lw picture img {
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.home .banner_lw > img,
    body.home .banner_lw picture {
        line-height: 0;
        margin: 0;
        padding: 0;
    }

    body.home .banner_lw picture {
        display: block;
        overflow: hidden;
        border-radius: clamp(12px, 2vw, 18px) clamp(12px, 2vw, 18px) 0 0;
    }
}

/* Header third row tabs — impulse_render_header_tabs() */
.page-header__tabs-block {
    margin-top: 10px;
}

@media (max-width: 640px) {
    .page-header__tabs-block {
        margin-top: 4px;
    }
}

.page-header__tabs-wrapper {
    max-width: 1520px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

/* Тематические переходы: заметные «живые» чипы (объём + hover-lift), не сплошной аларм-красный */
.page-header__tab,
.page-header__tab:link,
.page-header__tab:visited,
.page-header__tab:active {
    min-width: 0;
    min-height: 54px;
    padding: 12px 18px;
    border-radius: 12px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    text-decoration: none;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.01em;
    background: var(--impulse-nav-tab-bg);
    border: 1px solid var(--impulse-nav-tab-border);
    color: var(--impulse-nav-tab-text) !important;
    position: relative;
    z-index: 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 2px 4px rgba(15, 23, 42, 0.05),
        0 8px 20px rgba(15, 23, 42, 0.06);
    transition:
        transform 0.22s cubic-bezier(0.34, 1.2, 0.64, 1),
        box-shadow 0.22s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.page-header__tab::after {
    content: '';
    flex-shrink: 0;
    width: 0.45em;
    height: 0.45em;
    margin-top: 1px;
    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;
    transform: rotate(-45deg);
    opacity: 0.4;
    transition: opacity 0.2s ease, transform 0.22s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.page-header__tab-label {
    display: block;
    flex: 0 1 auto;
    min-width: 0;
}

.page-header__tabs-wrapper > .page-header__tab:hover {
    transform: translateY(-2px);
}

.page-header__tabs-wrapper > .page-header__tab:hover::after {
    opacity: 0.88;
    transform: rotate(-45deg) translate(2px, -2px);
}

.page-header__tabs-wrapper > .page-header__tab:active {
    transform: translateY(0);
    transition-duration: 0.08s;
}

.page-header__tabs-wrapper > .page-header__tab:active::after {
    opacity: 0.55;
    transform: rotate(-45deg);
}

.page-header__tab:hover {
    background: var(--impulse-nav-tab-bg-hover);
    border-color: var(--impulse-nav-tab-border-hover);
    color: var(--impulse-nav-tab-text-hover) !important;
}

.page-header__tab.is-active::after {
    opacity: 0.28;
}

.page-header__tab.is-active {
    background: var(--impulse-nav-tab-active-bg);
    border-color: var(--impulse-nav-tab-active-border);
    color: var(--impulse-nav-tab-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 0 0 1px rgba(129, 140, 248, 0.35),
        0 4px 14px rgba(79, 70, 229, 0.12);
}

.page-header__tab:focus-visible {
    outline: 2px solid var(--impulse-help-blue);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .page-header__tab,
    .page-header__tab::after {
        transition-duration: 0.01ms !important;
    }

    .page-header__tabs-wrapper > .page-header__tab:hover,
    .page-header__tabs-wrapper > .page-header__tab:active {
        transform: none;
    }

    .page-header__tabs-wrapper > .page-header__tab:hover::after {
        transform: rotate(-45deg);
    }
}

/* Цвет по порядку вкладок (контент темы задаётся в админке; позиция сохраняется) */
.page-header__tabs-wrapper > .page-header__tab:nth-child(1),
.page-header__tabs-wrapper > .page-header__tab:nth-child(1):link,
.page-header__tabs-wrapper > .page-header__tab:nth-child(1):visited,
.page-header__tabs-wrapper > .page-header__tab:nth-child(1):active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, var(--impulse-nav-tab-a-bg) 42%, var(--impulse-nav-tab-a-bg) 100%);
    border-color: var(--impulse-nav-tab-a-border);
    color: var(--impulse-nav-tab-a-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 2px 6px rgba(37, 99, 235, 0.07),
        0 10px 22px rgba(37, 99, 235, 0.09);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(1):hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, var(--impulse-nav-tab-a-hover-bg) 40%, var(--impulse-nav-tab-a-hover-bg) 100%);
    border-color: var(--impulse-nav-tab-a-hover-border);
    color: var(--impulse-nav-tab-a-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 14px 30px -8px rgba(37, 99, 235, 0.42),
        0 6px 14px rgba(37, 99, 235, 0.12);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(1).is-active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, var(--impulse-nav-tab-a-active-bg) 45%, var(--impulse-nav-tab-a-active-bg) 100%);
    border-color: var(--impulse-nav-tab-a-active-border);
    color: var(--impulse-nav-tab-a-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 0 0 1px rgba(37, 99, 235, 0.35),
        0 6px 18px rgba(37, 99, 235, 0.2);
}

.page-header__tabs-wrapper > .page-header__tab:nth-child(2),
.page-header__tabs-wrapper > .page-header__tab:nth-child(2):link,
.page-header__tabs-wrapper > .page-header__tab:nth-child(2):visited,
.page-header__tabs-wrapper > .page-header__tab:nth-child(2):active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, var(--impulse-nav-tab-b-bg) 42%, var(--impulse-nav-tab-b-bg) 100%);
    border-color: var(--impulse-nav-tab-b-border);
    color: var(--impulse-nav-tab-b-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 2px 6px rgba(8, 145, 178, 0.08),
        0 10px 22px rgba(8, 145, 178, 0.1);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(2):hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, var(--impulse-nav-tab-b-hover-bg) 40%, var(--impulse-nav-tab-b-hover-bg) 100%);
    border-color: var(--impulse-nav-tab-b-hover-border);
    color: var(--impulse-nav-tab-b-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 14px 30px -8px rgba(8, 145, 178, 0.38),
        0 6px 14px rgba(8, 145, 178, 0.14);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(2).is-active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, var(--impulse-nav-tab-b-active-bg) 45%, var(--impulse-nav-tab-b-active-bg) 100%);
    border-color: var(--impulse-nav-tab-b-active-border);
    color: var(--impulse-nav-tab-b-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        0 0 0 1px rgba(8, 145, 178, 0.38),
        0 6px 18px rgba(8, 145, 178, 0.22);
}

.page-header__tabs-wrapper > .page-header__tab:nth-child(3),
.page-header__tabs-wrapper > .page-header__tab:nth-child(3):link,
.page-header__tabs-wrapper > .page-header__tab:nth-child(3):visited,
.page-header__tabs-wrapper > .page-header__tab:nth-child(3):active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, var(--impulse-nav-tab-c-bg) 42%, var(--impulse-nav-tab-c-bg) 100%);
    border-color: var(--impulse-nav-tab-c-border);
    color: var(--impulse-nav-tab-c-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 2px 6px rgba(124, 58, 237, 0.07),
        0 10px 22px rgba(124, 58, 237, 0.1);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(3):hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, var(--impulse-nav-tab-c-hover-bg) 40%, var(--impulse-nav-tab-c-hover-bg) 100%);
    border-color: var(--impulse-nav-tab-c-hover-border);
    color: var(--impulse-nav-tab-c-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 14px 30px -8px rgba(124, 58, 237, 0.38),
        0 6px 14px rgba(124, 58, 237, 0.14);
}
.page-header__tabs-wrapper > .page-header__tab:nth-child(3).is-active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.52) 0%, var(--impulse-nav-tab-c-active-bg) 45%, var(--impulse-nav-tab-c-active-bg) 100%);
    border-color: var(--impulse-nav-tab-c-active-border);
    color: var(--impulse-nav-tab-c-active-text) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        0 0 0 1px rgba(124, 58, 237, 0.34),
        0 6px 18px rgba(124, 58, 237, 0.22);
}

@media (max-width: 992px) {
    .page-header__tabs-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .page-header__tab:last-child {
        grid-column: 1 / -1;
    }

    .page-header__tab {
        min-height: 48px;
        font-size: 14px;
        padding: 11px 12px;
    }
}

/* Очень узкий экран: ниже блока 992px, чтобы перебить min-height/padding табов */
@media (max-width: 480px) {
    .page-header__tabs-wrapper {
        gap: 6px;
    }

    .page-header__tab,
    .page-header__tab:link,
    .page-header__tab:visited,
    .page-header__tab:active {
        min-height: 46px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.2;
        border-radius: 10px;
        align-items: flex-start;
    }

    .page-header__tab-label {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        line-height: 1.15;
    }
}

.uslugi-mid-tabs .page-header__tabs-wrapper {
    max-width: none;
}

/* Трио контактов на посадочных — тот же вид, что у .banner_lw-actions */
.quick-cta--focus-call {
    justify-content: flex-start;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: min(760px, 100%);
}
.quick-cta--focus-call .quick-cta__btn--light {
    flex: unset;
    min-width: 0;
}
.quick-cta--focus-call .quick-cta__btn--primary {
    flex: unset;
}
.quick-cta--focus-call .quick-cta__btn--ghost {
    flex: unset;
}
.quick-cta--focus-call .quick-cta__btn--light,
.quick-cta--focus-call .quick-cta__btn--primary,
.quick-cta--focus-call .quick-cta__btn--ghost {
    min-height: 44px;
    width: 100%;
    padding: 11px 14px;
    font-size: 15px;
    border-radius: 8px;
    box-shadow: none !important;
}
@media (max-width: 640px) {
    .quick-cta--focus-call {
        grid-template-columns: 1fr;
        width: 100%;
    }
    .quick-cta--focus-call .quick-cta__btn--light {
        flex: unset;
    }
}
.impulse-next-steps {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: #fafbfc;
}
.impulse-next-steps__title {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.impulse-next-steps__list {
    margin: 0;
    padding-left: 1.25rem;
    max-width: 46rem;
    color: #334155;
    font-size: 15px;
    line-height: 1.55;
}
.impulse-next-steps__call {
    font-size: 1.125rem;
}
.impulse-next-steps__phone-link {
    font-weight: 700;
    color: #1d4ed8;
    text-decoration: none;
}
.impulse-next-steps__phone-link:hover {
    color: #1e40af;
    text-decoration: underline;
}
.impulse-next-steps__hint {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 400;
    color: #64748b;
}
.impulse-next-steps__alt {
    font-size: 0.8125rem;
    color: #64748b;
}
.impulse-next-steps__alt a {
    color: #2563eb;
    text-decoration: none;
}
.impulse-next-steps__alt a:hover {
    text-decoration: underline;
}
.modal-trust-note {
    font-size: 0.875rem!important;
}
.quick-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
    align-items: center;
}
.quick-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    min-width: 0;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 16px;
    line-height: 1.2;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    font-weight: 600;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}
.quick-cta--compact {
    gap: 6px;
    margin-top: 12px;
    flex-wrap: nowrap;
}
.quick-cta--compact .quick-cta__btn {
    min-height: 36px;
    padding: 8px 10px;
    font-size: 13px;
    border-radius: 8px;
    margin-bottom: 0;
}
.ysluga-card .quick-cta--compact {
    margin-top: 14px;
    width: 100%;
}
.ysluga-card .col-12.col-xl-8.col-xxl-9 > .quick-cta--compact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
}
.ysluga-card .col-12.col-xl-8.col-xxl-9 > .quick-cta--compact .quick-cta__btn {
    width: 100%;
}
/* Hide any legacy CTA accidentally embedded inside ACF text lists (top row). */
.ysluga-card .col-12.col-xl-8.col-xxl-9 ul .quick-cta,
.ysluga-card .col-12.col-xl-8.col-xxl-9 ul .zapisatsa {
    display: none !important;
}
.quick-cta__btn--light {
    background: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    color: #ffffff !important;
}
.quick-cta__btn--light:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #ffffff !important;
}
.quick-cta__btn--primary {
    background: var(--impulse-help-outline-bg);
    color: var(--impulse-help-blue) !important;
    border: 1px solid var(--impulse-help-blue);
}
.quick-cta__btn--primary:hover {
    background: var(--impulse-help-outline-hover-bg);
    border-color: var(--impulse-help-blue-hover);
    color: var(--impulse-help-blue-hover) !important;
}
.quick-cta__btn--ghost {
    background: var(--impulse-help-teal);
    border: 1px solid var(--impulse-help-teal-hover);
    color: #ffffff !important;
}
.quick-cta__btn--ghost:hover {
    background: var(--impulse-help-teal-hover);
    border-color: var(--impulse-help-teal-ring);
    color: #ffffff !important;
}
@media (max-width: 640px) {
    .ysluga-card .col-12.col-xl-8.col-xxl-9 > .quick-cta--compact {
        grid-template-columns: 1fr;
    }
    .quick-cta {
        flex-direction: column;
        gap: 8px;
        margin-top: 16px;
    }
    .quick-cta__btn {
        width: 100%;
    }
    .quick-cta--compact .quick-cta__btn {
        width: 100%;
        min-height: 40px;
        font-size: 14px;
    }
}

/* CTA сразу под заголовком на посадочных реабилитации */
.impulse-landing-intro-cta .quick-cta {
    margin-top: 0;
}

/* Типовая страница (page.php): читабельность длинного текста + единый нижний CTA */
.impulse-default-page .impulse-prose {
    max-width: 48rem;
}
.impulse-default-page .impulse-prose h2,
.impulse-default-page .impulse-prose h3 {
    margin-top: 1.35em;
    margin-bottom: 0.5em;
    font-weight: 600;
    color: #111827;
}
.impulse-default-page .impulse-prose p {
    margin-bottom: 1em;
}
.impulse-default-page .impulse-prose ul,
.impulse-default-page .impulse-prose ol {
    margin-bottom: 1em;
    padding-left: 1.25rem;
}
.impulse-page-bottom-cta {
    max-width: min(48rem, 100%);
}

/* Внутренние страницы: style.css .btn-main / .btn-ques → та же палитра */
.btn-main {
    background: var(--impulse-help-blue) !important;
    border: 1px solid var(--impulse-help-blue-hover) !important;
    color: #ffffff !important;
}
.btn-main:hover {
    background: var(--impulse-help-blue-hover) !important;
    border-color: var(--impulse-help-blue-ring) !important;
    color: #ffffff !important;
}
.btn-ques {
    background: var(--impulse-help-outline-bg) !important;
    color: var(--impulse-help-blue) !important;
    border: 1px solid var(--impulse-help-blue) !important;
}
.btn-ques:hover {
    background: var(--impulse-help-outline-hover-bg) !important;
    color: var(--impulse-help-blue-hover) !important;
    border-color: var(--impulse-help-blue-hover) !important;
}
.postpone_section .btn-ques,
.prise_section .btn-ques {
    color: var(--impulse-help-blue) !important;
    border: 1px solid var(--impulse-help-blue) !important;
    background: var(--impulse-help-outline-bg) !important;
}
.postpone_section .btn-ques:hover,
.prise_section .btn-ques:hover {
    background: var(--impulse-help-outline-hover-bg) !important;
    color: var(--impulse-help-blue-hover) !important;
    border-color: var(--impulse-help-blue-hover) !important;
}

/* «Наверх» — бирюза в общей палитре помощных CTA */
.upbtn {
    background-color: var(--impulse-help-teal) !important;
}
.upbtn:hover {
    background-color: var(--impulse-help-teal-hover) !important;
}

/* Якорь формы: учёт фиксированной шапки и табов при скролле */
#help-form {
    scroll-margin-top: clamp(120px, 22vw, 220px);
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

a.page-header__top-btn {
    text-decoration: none;
}

a.page-home__faq-left-btn {
    text-decoration: none;
}

/* Главная: блок цен — без двойной линии после «Направлений» */
body.home .page-home__main-directions + .page-home__prices-strip {
    border-top: none;
}

.page-home__prices-strip {
    padding: clamp(14px, 2.2vw, 26px) 0;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.page-home__prices-strip-inner {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 var(--page-home-gutter, clamp(7px, 0.65vw, 10px));
    box-sizing: border-box;
}

/* Одна вертикаль с «Направлениями» / специалистами / отзывами: те же max-width, иначе заголовки «Стоимость…» и «Как мы…» уезжают к краю на средних экранах */
@media (max-width: 1560px) {
    .page-home__prices-strip-inner,
    .page-home__work--compact .page-home__work-wrapper {
        max-width: 1000px;
    }
}

@media (max-width: 1040px) {
    .page-home__prices-strip-inner,
    .page-home__work--compact .page-home__work-wrapper {
        max-width: 600px;
    }
}

@media (max-width: 640px) {
    .page-home__prices-strip-inner,
    .page-home__work--compact .page-home__work-wrapper {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.page-home__prices-strip-title {
    font-size: clamp(22px, 2.8vw, 36px);
    font-weight: 600;
    line-height: 1.15;
    color: #0f172a;
    margin: 0 0 clamp(8px, 1.2vw, 12px);
}

.page-home__prices-strip-lead {
    color: #5a616c;
    margin: 0 0 clamp(14px, 2vw, 22px);
    max-width: 42rem;
    line-height: 1.45;
    font-size: clamp(14px, 1.45vw, 16px);
}

.page-home__prices-strip-list {
    list-style: none;
    margin: 0 0 clamp(14px, 2vw, 22px);
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: clamp(10px, 1.5vw, 14px);
}

.page-home__prices-strip-list li {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: clamp(6px, 1vw, 10px);
    padding: clamp(12px, 1.8vw, 16px) clamp(14px, 2vw, 18px);
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: 12px;
    font-size: clamp(14px, 1.4vw, 16px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    min-width: 0;
}

.page-home__prices-strip-list li:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow:
        0 0 0 2px rgba(37, 99, 235, 0.12),
        0 8px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.page-home__prices-strip-name {
    font-weight: 500;
    color: #111827;
    min-width: 0;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.page-home__prices-strip-price {
    font-weight: 600;
    color: #111827;
    white-space: normal;
    font-size: clamp(14px, 1.45vw, 16px);
    line-height: 1.35;
    text-align: right;
    margin-top: auto;
}

.page-home__prices-strip-mini-faq {
    margin: 0 0 clamp(14px, 2vw, 22px);
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2.2vw, 20px) clamp(14px, 2vw, 18px) clamp(22px, 3vw, 28px);
    list-style: disc;
    list-style-position: outside;
    color: #475569;
    font-size: clamp(13px, 1.35vw, 15px);
    line-height: 1.55;
    max-width: 48rem;
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.12);
    border-radius: clamp(12px, 1.8vw, 16px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.page-home__prices-strip-mini-faq li {
    margin-bottom: clamp(8px, 1.2vw, 10px);
    padding-left: 0.35rem;
}

.page-home__prices-strip-mini-faq li:last-child {
    margin-bottom: 0;
}

.page-home__prices-strip-actions {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 1.5vw, 14px) clamp(14px, 2vw, 20px);
    align-items: center;
}

.page-home__prices-strip-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(12px, 1.6vw, 14px) clamp(18px, 2.2vw, 24px);
    background: var(--impulse-help-blue);
    border: 1px solid var(--impulse-help-blue-hover);
    border-radius: 12px;
    color: #fff !important;
    font-weight: 600;
    font-size: clamp(15px, 1.5vw, 16px);
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.25);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page-home__prices-strip-cta:hover {
    background: var(--impulse-help-blue-hover);
    border-color: var(--impulse-help-blue-ring);
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
}

.page-home__prices-strip-link {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 500;
    color: var(--impulse-help-blue);
    text-decoration: none;
    padding: clamp(8px, 1vw, 10px) clamp(12px, 1.5vw, 16px);
    border-radius: 10px;
    border: 1px solid rgba(59, 130, 246, 0.35);
    background: #fff;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.page-home__prices-strip-link:hover {
    color: var(--impulse-help-blue-hover);
    background: #eff6ff;
    border-color: var(--impulse-help-blue);
}

@media (max-width: 640px) {
    .page-home__prices-strip-cta {
        width: 100%;
        justify-content: center;
    }
}

.page-home__faq-more {
    margin: clamp(12px, 2vw, 18px) 0 0;
    padding-top: 6px;
    font-size: clamp(14px, 1.4vw, 15px);
}

.page-home__faq-more a {
    color: var(--impulse-help-blue);
    font-weight: 500;
    text-decoration: underline;
}

.page-home__faq-more a:hover {
    color: var(--impulse-help-blue-hover);
}

/* Герой: только <img>; сброс чужого background на секции (в т.ч. без body.home, после Used CSS / кэша) */
html body .banner_lw[data-hero="img"],
html body section.banner_lw {
    background-image: none !important;
    background-color: #1f2937 !important;
}

html body.home .banner_lw[data-hero="img"],
html body.home section.banner_lw {
    background-color: #e8eef5 !important;
}

html body .banner_lw[data-hero="img"] > img,
html body section.banner_lw > img,
html body.home .banner_lw picture img {
    content: normal !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body.home .banner_lw > img,
html body.home .banner_lw picture img {
    object-fit: contain !important;
    object-position: center center !important;
}

/* Страница цен (шаблон «Мой шаблон страницы цена»): сетка как у лендингов программ */
.page-price-landing .page-price-landing__hero {
    position: relative;
    overflow: hidden;
}

.page-price-landing .page-price-landing__intro {
    margin-top: clamp(8px, 1.2vw, 14px);
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(15px, 1.45vw, 17px);
    line-height: 1.55;
    color: #334155;
    max-width: 38rem;
}

.page-price-landing .page-price-landing__intro p:last-child {
    margin-bottom: 0;
}

.page-price-landing .page-price-landing__block {
    padding-top: clamp(8px, 1.5vw, 16px);
    padding-bottom: clamp(8px, 2vw, 24px);
}

.page-price-landing .page-price-landing__block--last {
    padding-bottom: clamp(24px, 4vw, 48px);
}

.page-price-landing .page-price-landing__card {
    border-radius: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
}

.page-price-landing .page-price-landing__img-wrap {
    border-radius: 1rem;
    overflow: hidden;
    background: #f1f5f9;
}

.page-price-landing .page-price-landing__img-wrap img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

@media (min-width: 992px) {
    .page-price-landing .page-price-landing__img-wrap img {
        min-height: 220px;
    }
}

/* Женская реабилитация / Baby: маркированные списки в «Что входит» — синие точки */
.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ul,
.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol {
    list-style-position: outside;
    margin: 0.35rem 0 0;
    padding-left: 1.35rem;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ul {
    list-style-type: disc;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol {
    list-style-type: decimal;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ul.list-unstyled,
.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol.list-unstyled {
    list-style-type: disc !important;
    padding-left: 1.35rem !important;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol.list-unstyled {
    list-style-type: decimal !important;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ul li::marker,
.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol li::marker {
    color: var(--impulse-help-blue, #2563eb);
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ul ul,
.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit ol ol {
    margin-top: 0.35rem;
    margin-bottom: 0;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit li {
    margin-bottom: 0.35rem;
}

.page-price-landing .page-price-landing__card--women .page-price-landing__chto-vhodit li:last-child {
    margin-bottom: 0;
}

/* Внутренние страницы раздела «О центре» / «О нас» */
.page-inner-landing__header {
    position: relative;
    overflow: hidden;
}
.page-inner-landing__header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.95) 45%, rgba(224, 242, 254, 0.5) 100%);
    pointer-events: none;
}
.page-inner-landing__header .page-programs-landing__inner {
    position: relative;
    z-index: 1;
}
.page-inner-landing__breadcrumbs {
    margin-bottom: clamp(8px, 1.2vw, 14px);
    padding: 0;
}
.page-inner-landing__breadcrumbs .breadcrumb {
    margin: 0;
    font-size: 14px;
}
.page-inner-landing__subnav {
    margin-top: clamp(12px, 1.8vw, 20px);
}
.page-inner-landing__subnav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.page-inner-landing__subnav-list a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 999px;
    font-family: Inter, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #334155;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(148, 163, 184, 0.35);
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.page-inner-landing__subnav-list a:hover {
    color: var(--impulse-help-blue);
    border-color: var(--impulse-help-blue);
    background: #fff;
}
.page-inner-landing__subnav-list .current-menu-item > a,
.page-inner-landing__subnav-list .current_page_item > a {
    color: #fff;
    background: var(--impulse-help-blue);
    border-color: var(--impulse-help-blue-hover);
}
.page-inner-landing__content {
    padding-bottom: clamp(8px, 1vw, 16px);
}
.page-inner-landing__section {
    padding-top: clamp(10px, 1.4vw, 20px);
    padding-bottom: clamp(14px, 2vw, 28px);
}

/* style.css: section { padding: 80px 0 } — сброс для внутренних лендингов */
.page-inner-landing.page-programs-landing > section.page-programs-landing__section {
    padding-top: clamp(10px, 1.2vw, 16px) !important;
    padding-bottom: clamp(10px, 1.2vw, 16px) !important;
}
.page-inner-landing__section-lead {
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.45;
    color: #5a616c;
    max-width: 42rem;
}
.page-inner-landing__body.impulse-prose {
    max-width: none;
}
.page-inner-landing__cta {
    border-top: 1px solid rgba(148, 163, 184, 0.25);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.4) 0%, rgba(255, 255, 255, 0.95) 100%);
}
.page-inner-landing__cta-inner {
    max-width: min(48rem, 100%);
}
.page-inner-landing__empty {
    margin: 0;
    padding: 1.5rem 0;
    color: #64748b;
    font-size: 16px;
}

/* Карточки и блоки внутри about-center */
.page-inner-landing .services_section_card {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.page-inner-landing .we_item {
    background: rgba(224, 242, 254, 0.55);
    border: 1px solid rgba(56, 189, 248, 0.25);
    color: #0f172a;
    font-size: 14px;
    font-weight: 500;
    min-height: 44px;
}
.page-inner-landing .card_title {
    font-weight: 600;
    color: #0f172a;
}

/* Отзывы */
.page-inner-reviews__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin-bottom: clamp(16px, 2vw, 28px);
}
.page-inner-reviews__add {
    flex-shrink: 0;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
    padding: 10px 20px;
}
.page-inner-reviews__list {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2vw, 24px);
}
.page-inner-reviews__card {
    position: relative;
    z-index: 0;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 16px;
    padding: clamp(16px, 2vw, 24px);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}

body.post-type-archive-reviews .page-inner-landing,
body.post-type-archive-reviews .page-inner-landing__content {
    position: relative;
    z-index: 0;
}
.page-inner-reviews__card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.page-inner-reviews__card-title {
    margin: 0;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 600;
    color: #0f172a;
}
.page-inner-reviews__card-body {
    max-width: 52rem;
}
.page-inner-reviews__pagination {
    margin-top: clamp(20px, 2.5vw, 32px);
}
.page-inner-reviews__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    margin: 0 4px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--impulse-help-blue);
}
.page-inner-reviews__pagination .page-numbers.current {
    background: var(--impulse-help-blue);
    color: #fff;
}

/* Архив /specialists/ — компактные карточки */
body.post-type-archive-specialists .page-inner-landing__header {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
}

body.post-type-archive-specialists .page-inner-landing__title {
    margin-bottom: 6px !important;
}

body.post-type-archive-specialists .page-inner-landing__lead {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 0 !important;
}

body.post-type-archive-specialists .page-inner-landing__subnav {
    margin-top: 8px;
}

body.post-type-archive-specialists .page-inner-landing__subnav-list a {
    min-height: 32px;
    padding: 4px 11px;
    font-size: 12px;
}

body.post-type-archive-specialists .page-inner-landing__content {
    padding-bottom: 8px;
    max-width: 100%;
    overflow-x: clip;
}

/* Не сужать контент до 600/1000px — иначе 7 колонок вылезают за экран */
body.post-type-archive-specialists .page-inner-landing__header .page-programs-landing__inner,
body.post-type-archive-specialists .page-specialists-landing .page-programs-landing__inner {
    width: 100%;
    max-width: min(1520px, 100%);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.page-specialists-landing.page-inner-landing__section {
    padding-top: 6px !important;
    padding-bottom: 12px !important;
}

.page-specialists-landing__root {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.page-specialists-landing__count {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
}

.page-specialists-landing__grid {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    gap: clamp(8px, 0.75vw, 12px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
    .page-specialists-landing__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .page-specialists-landing__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* 7 специалистов — один ряд в пределах .page-programs-landing__inner */
@media (min-width: 1180px) {
    .page-specialists-landing__grid {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

.page-specialists-landing__card {
    margin: 0;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
}

.page-specialists-landing__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.page-specialists-landing__link:hover {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    transform: none;
    color: inherit;
}

.page-specialists-landing__media {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 4 / 5;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f6fe 100%);
    overflow: hidden;
}

.page-specialists-landing__photo,
.page-specialists-landing__media img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto;
    object-fit: contain !important;
    object-position: center;
    display: block;
}

.page-specialists-landing__photo-placeholder {
    position: absolute;
    inset: 0;
    display: block;
    background: linear-gradient(145deg, #e2e8f0 0%, #cbd5e1 100%);
}

.page-specialists-landing__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 8px 8px;
    flex: 1;
    min-height: 0;
}

.page-specialists-landing .page-specialists-landing__exp {
    display: none !important;
}

/* style.css: h2 48px, p 18px — переопределяем в карточках */
.page-specialists-landing .page-specialists-landing__name {
    margin: 0 !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #0f172a !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.page-specialists-landing .page-specialists-landing__role {
    margin: 0 !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: #475569 !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.page-specialists-landing .page-specialists-landing__exp {
    margin: 0 !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #64748b !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ФИО в шапке single (style.css h1 48px) */
body.single-specialists .page-inner-landing__title {
    font-size: clamp(20px, 2.1vw, 26px) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

.page-specialists-landing__heading {
    margin: 0 0 clamp(12px, 1.4vw, 16px);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #0f172a;
}

/* Карточка специалиста (single) */
.page-specialist-single__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
}

@media (min-width: 992px) {
    .page-specialist-single__layout {
        grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
        align-items: start;
    }
}

.page-specialist-single__media {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
    background: #f8fafc;
}

.page-specialist-single__photo,
.page-specialist-single__media img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.page-specialist-single__facts {
    margin: 0;
    display: grid;
    gap: 14px;
}

.page-specialist-single__fact dt {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.page-specialist-single__fact dd {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #0f172a;
}

.page-specialist-single__details {
    padding: clamp(16px, 2vw, 24px);
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}

.page-specialist-single__back {
    margin: 20px 0 0;
}

.page-specialist-single__back a {
    color: var(--impulse-help-blue);
    font-weight: 600;
    text-decoration: none;
}

.page-specialist-single__back a:hover {
    text-decoration: underline;
}

.page-specialist-single__certs {
    margin-top: clamp(24px, 3vw, 40px);
}

.page-specialist-single__certs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(10px, 1.5vw, 14px);
}

@media (min-width: 768px) {
    .page-specialist-single__certs-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.page-specialist-single__cert-link {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
}

.page-specialist-single__cert-link img {
    width: 100%;
    height: auto;
    display: block;
}

/* Галерея фото */
.page-inner-foto .page-inner-foto__thumb {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
}
.page-inner-foto .page-inner-foto__thumb img {
    width: 100%;
    height: auto;
    transition: transform 0.2s ease;
}
.page-inner-foto .page-inner-foto__thumb:hover img {
    transform: scale(1.03);
}
.page-inner-foto .foto__pagination-item {
    border-color: rgba(148, 163, 184, 0.35);
}
.page-inner-foto .foto__pagination-item.current {
    background: var(--impulse-help-blue);
    border-color: var(--impulse-help-blue);
}

/* Галерея /foto/ */
.page-foto-landing__root {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.2vw, 28px);
}

.page-foto-landing__intro {
    max-width: 48rem;
}

.page-foto-landing__count {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
}

.page-foto-landing__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(10px, 1.5vw, 14px);
}

@media (min-width: 768px) {
    .page-foto-landing__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .page-foto-landing__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.page-foto-landing__item {
    margin: 0;
    min-width: 0;
}

.page-foto-landing__item.foto_hidden {
    display: none;
}

.page-foto-landing__link {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    aspect-ratio: 4 / 3;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.page-foto-landing__link:hover {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.page-foto-landing__link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-foto-landing__pagination {
    justify-content: center;
    margin-top: clamp(8px, 1.5vw, 16px);
}

.page-foto-landing__pager-btn {
    padding: 0;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 50%;
}

.page-foto-landing__pager-btn:hover {
    border-color: var(--impulse-help-blue);
}

.page-inner-landing .page-foto-landing .foto__pagination-item {
    display: flex;
    padding: 0;
    background: #fff;
    border: 2px solid #e2e8f0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.page-inner-landing .page-foto-landing .foto__pagination-item:not(.show) {
    display: none;
}

.page-inner-landing .page-foto-landing .foto__pagination-item.show {
    display: flex;
}

.page-inner-landing .page-foto-landing .foto__pagination-item.current {
    background: var(--impulse-help-blue);
    border-color: var(--impulse-help-blue);
}

.page-inner-landing .page-foto-landing .foto__pagination-item.current span {
    color: #fff;
}

.page-inner-landing .page-foto-landing .foto__pagination-item:hover {
    border-color: var(--impulse-help-blue-hover);
}

/* Страница /video/ */
.page-video-landing__root {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.5vw, 32px);
}

.page-video-landing__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
}

.page-video-landing__note {
    margin: 0;
    max-width: 36rem;
    flex: 1 1 280px;
}

.page-video-landing__subscribe {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #fff;
    color: #0f172a;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.page-video-landing__subscribe:hover {
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
    color: #0f172a;
}

.page-video-landing__subscribe img {
    display: block;
    height: auto;
    max-height: 24px;
    width: auto;
}

.page-video-landing__heading {
    margin: 0 0 clamp(10px, 1.2vw, 14px);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #0f172a;
}

.page-video-landing__featured {
    max-width: 920px;
}

.page-video-landing__more {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.page-video-landing__grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: clamp(12px, 1.6vw, 16px);
}

@media (min-width: 640px) {
    .page-video-landing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .page-video-landing__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.page-video-landing__item {
    margin: 0;
    min-width: 0;
}

.page-video-landing__ratio {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    background: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.page-video-landing__item--featured .page-video-landing__ratio {
    border-radius: 20px;
}

.page-video-landing__poster {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: transparent;
    z-index: 2;
}

.page-video-landing__poster-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(145deg, rgba(15, 23, 42, 0.55) 0%, rgba(37, 99, 235, 0.35) 100%),
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.12), transparent 55%);
}

.page-video-landing__play {
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 8px 20px rgba(15, 23, 42, 0.35));
    transition: transform 0.15s ease;
}

.page-video-landing__poster:hover .page-video-landing__play,
.page-video-landing__poster:focus-visible .page-video-landing__play {
    transform: scale(1.06);
}

.page-video-landing__poster:focus-visible {
    outline: 2px solid var(--impulse-help-blue);
    outline-offset: 3px;
}

.page-video-landing__poster-title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: #fff;
    text-align: left;
    background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.82) 100%);
}

.page-video-landing__item.is-playing .page-video-landing__ratio {
    background: #000;
}

.page-video-landing__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Страница «О центре» (/center/) */
.page-center-landing {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.5vw, 36px);
    padding-bottom: clamp(8px, 1vw, 16px);
}

.page-center-landing .page-inner-landing__section {
    padding-top: 0;
    padding-bottom: 0;
}

.page-center-landing__intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(16px, 2.5vw, 32px);
    align-items: start;
}

.page-center-landing__copy.impulse-prose {
    max-width: 40rem;
}

.page-center-landing__copy.impulse-prose p {
    margin-bottom: 0.85em;
    font-size: clamp(15px, 1.45vw, 17px);
    line-height: 1.55;
    color: #334155;
}

.page-center-landing__copy .page-programs-landing-section-title {
    margin-top: 0;
}

.page-center-landing__gallery {
    margin: 0;
    min-width: 0;
}

.page-center-landing__gallery-main {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
    max-height: min(280px, 42vh);
}

.page-center-landing__gallery-main img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: min(280px, 42vh);
    object-fit: cover;
    object-position: center 20%;
}

.page-center-landing__gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    list-style: none;
    padding: 0;
}

.page-center-landing__gallery-thumb {
    flex: 0 0 calc(33.333% - 6px);
    max-width: calc(33.333% - 6px);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.25);
    aspect-ratio: 3 / 2;
}

.page-center-landing__gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-center-landing__step-card {
    position: relative;
    padding-top: clamp(18px, 2vw, 24px);
}

.page-center-landing__step-num {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--impulse-help-blue);
    border-radius: 50%;
}

.page-center-landing__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-center-landing__chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    color: #1e3a5f;
    background: rgba(224, 242, 254, 0.7);
    border: 1px solid rgba(59, 130, 246, 0.22);
}

.page-center-landing__reason-card,
.page-center-landing__step-card {
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.page-inner-landing .page-center-landing__reason-card:hover,
.page-inner-landing .page-center-landing__step-card:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    background: #fff;
}

.page-inner-landing .page-center-landing__reason-card:hover p,
.page-inner-landing .page-center-landing__step-card:hover p,
.page-inner-landing .page-center-landing__reason-card:hover .page-programs-landing-value-card__title,
.page-inner-landing .page-center-landing__step-card:hover .page-programs-landing-value-card__title {
    color: inherit;
}

.page-center-landing__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-center-landing__links a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    color: var(--impulse-help-blue);
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.25);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.page-center-landing__links a:hover {
    color: #fff;
    background: var(--impulse-help-blue);
    border-color: var(--impulse-help-blue-hover);
}

/* Страница «О нас» (/about/) */
.page-about-landing__hero-frame {
    display: block;
    max-height: min(300px, 40vh);
}

.page-about-landing__hero-frame img {
    max-height: min(300px, 40vh);
    object-position: center 30%;
}

.page-about-landing__direction-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-about-landing__direction-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    padding: clamp(14px, 1.8vw, 18px);
    border-radius: 14px;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(59, 130, 246, 0.18);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.page-about-landing__direction-card:hover {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
}

.page-about-landing__direction-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--impulse-help-blue);
}

.page-about-landing__direction-text {
    font-size: 14px;
    line-height: 1.4;
    color: #5a616c;
}

.page-about-landing__family-box {
    max-width: 48rem;
    padding: clamp(16px, 2vw, 22px);
    background: rgba(241, 246, 254, 0.65);
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: 14px;
}

.page-about-landing__family-box p {
    margin: 0 0 0.75em;
    font-size: 15px;
    line-height: 1.55;
    color: #334155;
}

.page-about-landing__family-box p:last-child {
    margin-bottom: 0;
}

@media (max-width: 960px) {
    .page-about-landing__direction-list {
        grid-template-columns: 1fr;
    }

    .page-center-landing__intro-grid {
        grid-template-columns: 1fr;
    }

    .page-center-landing__gallery-main,
    .page-center-landing__gallery-main img {
        max-height: min(220px, 50vw);
    }

    .page-center-landing__gallery-thumb {
        flex: 0 0 calc(25% - 6px);
        max-width: calc(25% - 6px);
    }
}

@media (max-width: 640px) {
    .page-inner-reviews__toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .page-inner-reviews__add {
        width: 100%;
    }
}

/* Страница /contacts/ */
body.page-template-page-contacts .page-inner-landing__header .page-programs-landing__inner,
body.page-template-page-contacts .page-contacts-landing .page-programs-landing__inner {
    max-width: min(1520px, 100%);
}

.page-contacts-landing__root {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.2vw, 28px);
}

.page-contacts-landing__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    padding: clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 26px);
    border-radius: 18px;
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 42%, #38bdf8 100%);
    box-shadow: 0 14px 36px rgba(37, 99, 235, 0.28);
    color: #fff;
}

.page-contacts-landing__hero-text {
    flex: 1 1 280px;
    min-width: 0;
}

.page-contacts-landing__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.35);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.page-contacts-landing__hero-title {
    margin: 10px 0 6px;
    font-size: clamp(17px, 1.8vw, 22px);
    font-weight: 700;
    line-height: 1.3;
    color: #fff !important;
}

.page-contacts-landing__hero-note {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92) !important;
    max-width: 36rem;
}

.page-contacts-landing__hero-cta {
    flex: 1 1 320px;
    max-width: 100%;
}

.page-contacts-landing__hero-cta .quick-cta {
    margin: 0;
}

.page-contacts-landing__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

@media (min-width: 992px) {
    .page-contacts-landing__layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        align-items: start;
    }
}

.page-contacts-landing__cards {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 10px;
}

@media (min-width: 640px) {
    .page-contacts-landing__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.page-contacts-landing__card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

a.page-contacts-landing__card:hover {
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
    color: inherit;
}

.page-contacts-landing__card--primary {
    background: linear-gradient(145deg, #eff6ff 0%, #dbeafe 100%);
    border-color: rgba(37, 99, 235, 0.35);
}

.page-contacts-landing__card--primary .page-contacts-landing__card-value {
    font-size: clamp(17px, 1.6vw, 20px);
    font-weight: 700;
    color: #1d4ed8;
}

.page-contacts-landing__card-icon {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(37, 99, 235, 0.1);
    margin-bottom: 4px;
}

.page-contacts-landing__card--primary .page-contacts-landing__card-icon {
    background: rgba(37, 99, 235, 0.18);
}

.page-contacts-landing__card-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.page-contacts-landing__card-value {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: #0f172a !important;
}

.page-contacts-landing__card-hint {
    font-size: 13px;
    font-weight: 500;
    color: #475569 !important;
}

.page-contacts-landing__card-link {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--impulse-help-blue) !important;
    text-decoration: none;
}

.page-contacts-landing__card-link:hover {
    text-decoration: underline;
}

.page-contacts-landing__card--social {
    grid-column: 1 / -1;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.page-contacts-landing__card--social .page-contacts-landing__card-label {
    font-size: 12px;
    margin-bottom: 2px;
}

.page-contacts-landing__card--social .page-contacts-landing__social {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 16px 20px;
    margin-top: 4px;
    padding-top: 4px;
}

.page-contacts-landing__social-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 80px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease;
}

.page-contacts-landing__social-link:hover {
    transform: translateY(-2px);
    color: inherit;
}

.page-contacts-landing__social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    border: 2px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.page-contacts-landing__social-icon img,
.page-contacts-landing__social-icon svg {
    display: block;
    width: auto;
    height: auto;
    max-width: 32px;
    max-height: 28px;
    filter: brightness(0) invert(1);
}

.page-contacts-landing__social-link--youtube .page-contacts-landing__social-icon {
    background: #ff0000 !important;
    border-color: #ffb3b3;
    box-shadow: 0 8px 22px rgba(255, 0, 0, 0.35);
}

.page-contacts-landing__social-link--vk .page-contacts-landing__social-icon {
    background: #0077ff !important;
    border-color: #93c5fd;
    box-shadow: 0 8px 22px rgba(0, 119, 255, 0.32);
}

.page-contacts-landing__social-link--ok .page-contacts-landing__social-icon {
    background: #ee8208 !important;
    border-color: #fdba74;
    box-shadow: 0 8px 22px rgba(238, 130, 8, 0.32);
}

.page-contacts-landing__social-link--youtube:hover .page-contacts-landing__social-icon {
    background: #dc0000 !important;
    box-shadow: 0 10px 26px rgba(255, 0, 0, 0.45);
}

.page-contacts-landing__social-link--vk:hover .page-contacts-landing__social-icon {
    background: #0066dd !important;
    box-shadow: 0 10px 26px rgba(0, 119, 255, 0.45);
}

.page-contacts-landing__social-link--ok:hover .page-contacts-landing__social-icon {
    background: #d97706 !important;
    box-shadow: 0 10px 26px rgba(238, 130, 8, 0.45);
}

.page-contacts-landing__social-name {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.page-contacts-landing__social-link--youtube .page-contacts-landing__social-name {
    color: #b91c1c !important;
}

.page-contacts-landing__social-link--vk .page-contacts-landing__social-name {
    color: #1d4ed8 !important;
}

.page-contacts-landing__social-link--ok .page-contacts-landing__social-name {
    color: #c2410c !important;
}

.page-contacts-landing__map-title {
    margin: 0 0 10px;
    font-size: clamp(17px, 1.6vw, 20px);
    font-weight: 700;
    color: #0f172a;
}

.page-contacts-landing__map {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    min-height: 280px;
}

.page-contacts-landing__map iframe {
    display: block;
    width: 100%;
    height: min(420px, 52vh);
    min-height: 280px;
    border: 0;
}

.page-contacts-landing__map-2gis {
    width: 100%;
    min-height: 420px;
    background: #eef2f7;
}

.page-contacts-landing__map-2gis-frame {
    display: block;
    width: 100%;
    height: min(520px, 56vh);
    min-height: 420px;
    border: 0;
}

.page-contacts-landing__map-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    background: #fff;
}

.page-contacts-landing__map-links a {
    font-size: 14px;
    line-height: 1.4;
    color: var(--impulse-help-blue, #3A3AFE);
    text-decoration: none;
}

.page-contacts-landing__map-links a:hover {
    text-decoration: underline;
}

.page-contacts-landing__map-noscript {
    margin: 0;
    padding: 16px;
    font-size: 14px;
    color: #5A616C;
}

.page-contacts-landing__form-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(16px, 2vw, 24px);
    padding: clamp(18px, 2.2vw, 26px);
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

@media (min-width: 992px) {
    .page-contacts-landing__form-block {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        align-items: start;
    }
}

.page-contacts-landing__form-title {
    margin: 0 0 8px;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    color: #0f172a;
}

.page-contacts-landing__trust {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-contacts-landing__trust li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.4;
    color: #475569 !important;
}

.page-contacts-landing__trust li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--impulse-help-blue);
}

.page-contacts-landing__form-panel {
    padding: clamp(12px, 1.5vw, 18px);
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.page-contacts-landing__form-panel .wpcf7-form p {
    margin-bottom: 0.75rem;
}

.page-contacts-landing__form-panel input[type="text"],
.page-contacts-landing__form-panel input[type="tel"],
.page-contacts-landing__form-panel input[type="email"],
.page-contacts-landing__form-panel textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}

.page-contacts-landing__form-panel input[type="submit"],
.page-contacts-landing__form-panel .wpcf7-submit {
    width: 100%;
    border-radius: 10px;
    background: var(--impulse-help-blue) !important;
    border-color: var(--impulse-help-blue-hover) !important;
    color: #fff !important;
    font-weight: 600;
    padding: 12px 18px;
}

/* Мобильная шапка: только логотип + бургер (планшеты и телефоны) */
@media (max-width: 1200px) {
    .page-header__top,
    .page-header__bottom-menu {
        display: none !important;
    }

    .page-header__menu-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        padding: 0;
        margin: 0;
        border: none;
        border-radius: 10px;
        background: #f7f8f9;
        cursor: pointer;
    }

    .page-header__bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        column-gap: 12px;
        min-height: 52px;
    }

    .page-header__bottom-logo {
        flex: 1 1 auto;
        min-width: 0;
    }

    .page-header__bottom-logo img {
        max-width: min(132px, 42vw);
        height: auto;
        display: block;
    }

    .page-header__block {
        padding: 10px 0;
    }

    .page-header__wrapper {
        row-gap: 0;
    }

    .page-header__mobile-menu {
        z-index: 1002;
    }

    .page-header__mobile-menu.hidden {
        visibility: hidden;
        pointer-events: none;
        transform: translateX(100%);
        opacity: 0;
    }

    .page-header__tabs-wrapper {
        gap: 6px;
    }

    .page-header__tab,
    .page-header__tab:link,
    .page-header__tab:visited {
        min-height: 48px;
        padding: 8px 10px;
        font-size: 13px;
        align-items: flex-start;
    }

    .page-header__tab-label {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        line-height: 1.15;
    }
}

body.impulse-mobile-nav-open {
    overflow: hidden;
}

/* Перелинковка → impulsplus55.ru (женское направление) */
.impuls-plus-crosslink {
    margin: clamp(1.5rem, 3vw, 2.5rem) auto;
    padding: 0 clamp(1rem, 3vw, 1.5rem);
    max-width: 48rem;
}
.impuls-plus-crosslink__inner {
    padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #e8dfe1;
    border-radius: 1rem;
    background: linear-gradient(135deg, #fff 0%, #fdf8f9 100%);
}
.impuls-plus-crosslink__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.15rem, 2.2vw, 1.35rem);
    font-weight: 600;
    color: #1f1416;
    line-height: 1.35;
}
.impuls-plus-crosslink__text {
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #4b3f42;
}
.impuls-plus-crosslink__actions {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.6;
}
.impuls-plus-crosslink__btn {
    font-weight: 600;
    color: #1f1416;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.impuls-plus-crosslink__link,
.impuls-plus-crosslink__phone {
    color: #1f1416;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.page-home .impuls-plus-crosslink {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}
.page-home .impuls-plus-crosslink__inner {
    max-width: 48rem;
    margin: 0 auto;
}

/* CTA и перелинковка в статьях /news/ */
.single_news .entry-content {
    font-size: 1.05rem;
    line-height: 1.7;
}

.news-article-end {
    display: grid;
    gap: 1.75rem;
    margin-bottom: 2.5rem;
}

.news-article-cta {
    border: 1px solid #dbeafe;
    border-radius: 1rem;
    background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
    padding: 1.25rem 1.25rem 1rem;
}

.news-article-cta--inline {
    margin: 1.75rem 0;
}

.news-article-cta__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.news-article-cta__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
    line-height: 1.25;
    color: #0f172a;
}

.news-article-cta__lead {
    margin: 0 0 1rem;
    color: #334155;
    line-height: 1.55;
}

.news-article-cta__note {
    margin: 0.75rem 0 0;
    font-size: 0.85rem;
    color: #64748b;
}

.news-article-cta .quick-cta {
    margin: 0;
}

.news-article-services,
.news-article-related {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 1.15rem 1.25rem;
    background: #fff;
}

.news-article-services__title,
.news-article-related__title {
    margin: 0 0 0.85rem;
    font-size: 1.1rem;
    color: #0f172a;
}

.news-article-services__list,
.news-article-related__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.news-article-services__list a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
}

.news-article-services__list a::after {
    content: "→";
}

.news-article-services__list a:hover {
    text-decoration: underline;
}

.news-article-related__item a {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem 0;
    border-top: 1px solid #f1f5f9;
    color: inherit;
    text-decoration: none;
}

.news-article-related__item:first-child a {
    border-top: 0;
    padding-top: 0;
}

.news-article-related__item-title {
    font-weight: 600;
    color: #0f172a;
    line-height: 1.35;
}

.news-article-related__item-date {
    font-size: 0.85rem;
    color: #64748b;
}

.news-article-related__item a:hover .news-article-related__item-title {
    color: #1d4ed8;
}

.news-article-related__more {
    margin: 0.75rem 0 0;
    font-size: 0.95rem;
}

.news-article-related__more a {
    font-weight: 600;
    color: #1d4ed8;
}

.news-article-contacts__lead {
    font-weight: 700;
    color: #0f172a;
}

@media (max-width: 640px) {
    .news-article-cta {
        padding: 1rem;
    }

    .news-article-cta .quick-cta--compact .quick-cta__btn {
        width: 100%;
        justify-content: center;
    }
}

/* end */