/* ==========================================================================
   MAIN STYLES - Header & Hero строго по Figma макету
   ========================================================================== */


/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */


/* Desktop-only line break */

.desktop-br {
    display: inline;
}
@media (max-width: 768px) {
    .desktop-br {
        display: none;
    }
}

/* === HEADER === */

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-fixed);
    /*background: rgba(255, 255, 255, 0.95);*/
    background: transparent;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(229, 231, 235, 0.3);
    padding: 20px 0;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.header--sticky {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(15px);
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(229, 231, 235, 0.5);
}

/* Инвертированный хедер поверх тёмных hero (body.has-dark-hero ставит фильтр в functions.php).
   При скролле хедер получает --sticky с белым фоном — инверсия снимается. */
.has-dark-hero .header:not(.header--sticky) {
    border-bottom-color: rgba(255, 255, 255, 0.14);
}
.has-dark-hero .header:not(.header--sticky) .header__logo-img {
    filter: brightness(0) invert(1);
}
.has-dark-hero .header:not(.header--sticky) .header__nav-link,
.has-dark-hero .header:not(.header--sticky) .header__phone {
    color: #f2f7f4;
}
.has-dark-hero .header:not(.header--sticky) .header__nav-link:hover,
.has-dark-hero .header:not(.header--sticky) .header__nav-link--active,
.has-dark-hero .header:not(.header--sticky) .header__phone:hover {
    color: #34d399;
}
.has-dark-hero .header:not(.header--sticky) .header__burger span {
    background: #f2f7f4;
}

/* Bootstrap handles the layout with row and col classes */


/* === ЛОГОТИП === */

.header__logo {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
.header__logo-img {
    width: auto;
    height: auto;
}
.header__logo-text {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 28px;
    color: var(--color-gray-900);
    letter-spacing: -0.02em;
}

/* === НАВИГАЦИЯ === */

.header__nav {
    display: flex;
    align-items: center;
    gap: 40px;
}
.header__nav-link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    color: var(--Text, #1F272A);
    text-decoration: none;
    transition: color var(--transition-normal);
    position: relative;
    padding: 8px 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.header__nav-link:hover {
    color: var(--color-primary);
}
.header__nav-link--active {
    color: var(--color-primary);
}
.header__nav-link--active::after {
    width: 100%;
}
.header__nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--color-primary);
    transition: width var(--transition-normal);
}
.header__nav-link:hover::after {
    width: 100%;
}

/* === DROPDOWN MENU === */

.header__nav-dropdown {
    position: relative;
}
.header__nav-link--dropdown {
    display: flex;
    align-items: center;
    gap: 6px;
}
.header__nav-arrow {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.header__nav-dropdown:hover .header__nav-arrow {
    transform: rotate(180deg);
}

/* === MEGA MENU === */
.header__mega-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.10), 0 0 0 1px rgba(0, 0, 0, 0.04);
    padding: 24px;
    min-width: 280px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
    z-index: 1000;
}
.header__mega-menu--two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    min-width: 600px;
}
.header__nav-dropdown:hover .header__mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Колонки мега-меню */
.header__mega-col {
    padding: 0 20px;
}
.header__mega-col:first-child {
    padding-left: 0;
}
.header__mega-menu--two-col .header__mega-col:first-child {
    padding-right: 20px;
    border-right: 1px solid #F0F0F0;
}
.header__mega-col:last-child {
    padding-right: 0;
}
.header__mega-heading {
    font-family: var(--font-family-primary);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #9CA3AF;
    margin-bottom: 12px;
    padding: 0 10px;
}

/* Элементы левой колонки (ACF с иконками) */
.header__mega-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--color-gray-900);
    transition: background-color 0.2s ease;
    cursor: pointer;
}
.header__mega-item:hover {
    background: #EFF3FF;
    text-decoration: none;
    color: var(--color-gray-900);
}
.header__mega-item img {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
}
.header__mega-item span {
    font-family: var(--font-family-primary);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    white-space: nowrap;
}
.header__mega-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 7px 10px;
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 13px;
    color: var(--color-primary);
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.2s;
}
.header__mega-all:hover {
    background: #EFF3FF;
    text-decoration: none;
}
.header__mega-all svg {
    transition: transform 0.2s;
}
.header__mega-all:hover svg {
    transform: translateX(3px);
}

/* Правая колонка: группы ниш */
.header__mega-group {
    margin-bottom: 16px;
}
.header__mega-group:last-child {
    margin-bottom: 0;
}
.header__mega-parent {
    display: block;
    padding: 7px 10px;
    border-radius: 10px;
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-gray-900);
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}
.header__mega-parent:hover {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}
.header__mega-children {
    padding-left: 10px;
    margin-top: 2px;
}
.header__mega-child {
    display: block;
    padding: 4px 10px;
    border-radius: 8px;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.6;
    color: #6B7280;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}
.header__mega-child:hover {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}

/* Дочерние элементы с подменю (3-й уровень) */
.header__mega-child-wrap {
    position: relative;
}
.header__mega-child--parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 8px;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.6;
    color: #6B7280;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}
.header__mega-child--parent span {
    flex: 1;
}
.header__mega-child-arrow {
    flex-shrink: 0;
    opacity: 0.5;
    transition: opacity 0.2s, transform 0.2s;
}
.header__mega-child-wrap:hover .header__mega-child--parent,
.header__mega-child--parent:hover {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}
.header__mega-child-wrap:hover .header__mega-child-arrow {
    opacity: 1;
    transform: translateX(2px);
}

/* Flyout подменю */
.header__mega-flyout {
    position: absolute;
    left: calc(100% + 4px);
    top: -8px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(0,0,0,.10), 0 0 0 1px rgba(0,0,0,.04);
    padding: 8px;
    min-width: 260px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-6px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
    z-index: 1001;
}
.header__mega-child-wrap:hover .header__mega-flyout {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.header__mega-flyout-item {
    display: block;
    padding: 6px 12px;
    border-radius: 8px;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    color: #6B7280;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}
.header__mega-flyout-item:hover {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}
.header__mega-flyout-item--overview {
    font-weight: 600;
    color: var(--color-gray-900);
    margin-bottom: 2px;
}
.header__mega-flyout-item--overview:hover {
    background: #EFF3FF;
    color: var(--color-primary);
}

/* === КОНТАКТЫ === */

.header__contacts {
    display: flex;
    align-items: center;
    gap: 30px;
}
.header__phone {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-base);
    color: var(--color-gray-900);
    text-decoration: none;
    transition: color var(--transition-normal);
}
.header__phone:hover {
    color: var(--color-primary);
}
.header__social {
    display: flex;
    align-items: center;
    gap: 8px;
}
.header__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
}
.header__social-link:hover {
    transform: translateY(-1px);
}
.header__social-icon {
}
.header__social-link--whatsapp {
    background: #25D366;
}
.header__social-link--telegram {
    background: #0088CC;
}

/* === МОБИЛЬНОЕ МЕНЮ === */

.header__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    gap: 4px;
}
.header__burger span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--color-gray-700);
    transition: color var(--transition-slow), background-color var(--transition-slow), border-color var(--transition-slow), box-shadow var(--transition-slow), transform var(--transition-slow), opacity var(--transition-slow);
    border-radius: 1px;
}
.header__burger:hover span {
    background: var(--color-primary);
}

/* === HERO SECTION === */

.hero {
    padding: 151px 0 0px 0px;
    position: relative;
    overflow: hidden;
    margin-top: 0px;
    /* Отступ для фиксированного хедера */
}

/* === BREADCRUMBS === */

.hero-pic {
    top: 0;
    right: 0;
}
.hero__breadcrumbs {
    margin-bottom: 10px;
    margin-left: 60px;
}

/* Mobile Back Button */

.hero__mobile-back {
    display: none;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
}
.mobile-back__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: #f6f8ff;
    color: var(--color-gray-600);
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.mobile-back__btn:hover {
    background: var(--color-gray-200);
    color: var(--color-gray-700);
}
.mobile-back__icon {
    width: 16px;
    height: 16px;
}
.mobile-back__title {
    font-family: var(--font-family-primary);
    font-size: var(--font16);
    font-weight: var(--font-weight-medium);
    color: #1F272A;
}
/*
 * QA 12.08.2026. Здесь был flex без переноса. Yoast отдаёт крошки одной строкой,
 * и на мобильном последний элемент — полное название страницы — не влезал:
 * на живой странице читалось «Главная страница / Услуги / Продвижен» вместо
 * «…Продвижение бизнеса на Яндекс и Google Картах». Строка не переносилась, а
 * обрезалась родителем с overflow, поэтому и в замерах выглядела «нормальной».
 * flex-wrap решает: на десктопе строка и так влезает, поведение не меняется.
 */
.breadcrumbs > span {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    font-family: var(--font-family-primary);
    font-size: var(--font16);
    color: #1F272A;
}
/* Длинное название в последнем элементе должно переноситься, а не растягивать строку. */
.breadcrumbs > span > span:last-child,
.breadcrumbs__current {
    min-width: 0;
    overflow-wrap: break-word;
}
.breadcrumbs__item {
    display: flex;
    align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
    content: '—';
    margin-left: 8px;
    color: var(--color-gray-400);
}
.breadcrumbs a {
    /* QA 13.08.2026: был #797A7F — 4,28:1 на белом при норме 4,5. #6B6C71 даёт 5,24:1. */
    color: #6B6C71;
    text-decoration: none;
    transition: color 0.2s ease;
}
.breadcrumbs a:hover {
    color: var(--color-primary);
}
.breadcrumbs__current {
    color: var(--color-gray-900);
    font-weight: var(--font-weight-medium);
}
.hero__wrapper {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 549px;
    min-height: 549px;
}

/* === КОНТЕНТ === */

.hero__content {
    max-width: 691px;
    z-index: 2;
    position: relative;
}
.hero__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-extrabold);
    font-size: var(--font56);
    line-height: 1.15;
    color: var(--color-gray-900);
    margin: 0 0 24px 0;
    letter-spacing: -0.02em;
}
.hero__subtitle {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: var(--font20);
    line-height: 1.6;
    color: var(--color-gray-600);
    margin: 0 0 40px 0;
}
.hero__buttons {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 48px;
}
.hero__btn {
    /* Используем стандартные стили кнопок */
}

/* === HERO ENTRANCE ANIMATIONS === */

@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(32px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroPicReveal {
    from {
        opacity: 0;
        transform: translateX(40px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

.hero__title {
    opacity: 0;
    animation: heroFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards;
}

.hero__subtitle {
    opacity: 0;
    animation: heroFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
}

.hero__content .why-choose__btn {
    opacity: 0;
    animation: heroFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
}

.hero-pic {
    opacity: 0;
    animation: heroPicReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

.hero__visual {
    opacity: 0;
    animation: heroPicReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

.hero__breadcrumbs {
    opacity: 0;
    animation: heroFadeUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}

.hero-pic-mobile {
    opacity: 0;
    animation: heroFadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .hero__title,
    .hero__subtitle,
    .hero__content .why-choose__btn,
    .hero-pic,
    .hero__visual,
    .hero__breadcrumbs,
    .hero-pic-mobile {
        opacity: 1;
        animation: none;
    }
}

/* === ВИЗУАЛ === */

.hero__visual {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    right: -5%;
    top: 0;
    width: 70%;
    height: 100%;
    overflow: visible;
}
.hero__dashboard {
    position: relative;
    width: 80%;
    height: auto;
    z-index: 2;
    object-fit: cover;
    object-position: center;
}

/* === АДАПТИВНОСТЬ === */

@media (max-width: 1024px) {
    .header__nav {
        gap: 32px;
    }
    .header__mega-menu--two-col {
        grid-template-columns: 1fr;
        min-width: 300px;
    }
    .header__mega-menu--two-col .header__mega-col:first-child {
        border-right: none;
        padding-right: 0;
        padding-bottom: 16px;
        border-bottom: 1px solid #F0F0F0;
        margin-bottom: 16px;
    }
    .header__mega-col {
        padding: 0;
    }
    /* Flyout при узком экране — открывается вниз вместо вправо */
    .header__mega-flyout {
        position: static;
        box-shadow: none;
        border-radius: 0;
        padding: 0 0 0 12px;
        min-width: auto;
        opacity: 0;
        visibility: hidden;
        max-height: 0;
        overflow: hidden;
        transform: none;
        transition: opacity 0.2s, visibility 0.2s, max-height 0.3s;
    }
    .header__mega-child-wrap:hover .header__mega-flyout {
        opacity: 1;
        visibility: visible;
        max-height: 500px;
        transform: none;
    }
    .hero-small__wrapper {
        flex-direction: column;
        height: auto;
        min-height: auto;
        gap: 40px;
    }
    .hero__wrapper {
        flex-direction: column;
        height: auto;
        min-height: auto;
        gap: 40px;
    }
    .hero__title {
        font-size: 48px;
        line-height: 1.2;
    }
    .hero__subtitle {
        font-size: 18px;
        line-height: 1.4;
    }
    .hero__breadcrumbs {
        margin-bottom: 30px;
    }
}
@media (max-width: 768px) {
    .header {
        padding: 15px 0;
    }
    .header__nav {
        display: none;
    }
    .header__mega-menu {
        display: none;
    }
    /* Скрываем десктопные элементы */
    .header__contacts {
        display: none;
    }
    .header__burger {
        display: none;
    }
    /* Мобильные действия */
    .header__mobile-actions {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .header__mobile-social {
        display: flex;
        gap: 8px;
    }
    .header__mobile-social-link {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    }
    .header__mobile-social-icon {
        width: 32px;
        height: 32px;
    }
    .header__mobile-menu {
        width: 40px;
        height: 40px;
        border: none;
        background: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }
    .header__mobile-menu:hover {
        background: var(--color-gray-100);
    }
    .header__mobile-menu-icon {
        width: 32px;
        height: 32px;
    }
    .header__logo-img {
        width: auto;
        height: auto;
    }
    .header__logo-text {
        font-size: var(--font20);
    }
    .hero {
        padding: 120px 0 0 0;
    }
    .hero-small__wrapper {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }
    .hero__wrapper {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }
    .hero__content {
        width: 100%;
        max-width: none;
        text-align: center;
        order: 1;
    }
    .hero__visual {
        display: block;
    }
    .hero__visual {
        display: block;
        align-items: center;
        position: absolute;
        right: -20%;
        top: -30px;
        width: 100%;
        height: 100%;
        overflow: visible;
    }
    .hero__title {
        font-size: 40px;
    }
    .hero__subtitle {
        font-size: var(--font16);
    }
    .hero__buttons {
        justify-content: center;
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
    .hero__buttons .why-choose__btn {
        width: 100%;
        max-width: 280px;
    }
}
@media (max-width: 576px) {
    .header__contacts {
        display: none;
    }
    .hero {
        padding: 100px 0 0 0;
    }
    .hero__title {
        font-size: 36px;
        line-height: 1.2;
    }
    .hero__buttons {
        flex-direction: column;
        width: 100%;
        align-items: center;
        gap: 16px;
    }
    .hero__buttons .why-choose__btn {
        width: 100%;
        max-width: 100%;
    }
    /*
     * QA 13.08.2026. Правило было безусловным: на экранах до 576px крошки прятались
     * в расчёте на кнопку «назад», которая идёт следующим правилом. Но .hero__mobile-back
     * есть не во всех шаблонах — на медицинском и косметологическом семействе его нет,
     * и там у пользователя не оставалось никакой навигации: ни крошек, ни кнопки.
     * Прячем крошки только там, где замена реально выводится.
     */
    body:has(.hero__mobile-back) .hero__breadcrumbs {
        display: none;
    }
    .hero__mobile-back {
        display: flex;
    }
}

/* ==========================================================================
   SERVICES SECTION
   ========================================================================== */


/* === SERVICES SECTION === */

.services {}
.services__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.24;
    color: var(--color-gray-900);
    margin: 0;
}
.services__btn {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    padding: 18px 16px;
    background: var(--color-primary);
    color: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    white-space: nowrap;
    width: 265px;
}
.services__btn:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    transform: translateY(-1px);
}
.services__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}
.services__cards {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    gap: 20px;
    width: 100%;
}

/* === SERVICE CARD === */

.service-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px;
    background: var(--color-white);
    border-radius: 30px;
    flex: 1;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.04);
}
.service-card:hover {
    transform: translateY(-2px);
    box-shadow: none;
}
.service-card:hover .service-card__title {
    color: var(--color-primary);
}
.service-card__content {
    display: flex;
    flex-direction: column;
    gap: 50px;
    height: 100%;
}
.service-card__icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.service-card__text {
    display: flex;
    flex-direction: column;
    gap: 30px;
    flex: 1;
}
.service-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.13;
    color: var(--color-gray-900);
    margin: 0;
    letter-spacing: -0.4px;
}
/* Специфичность 0,1,1 — перебивает bootstrap a{text-decoration:underline},
   который грузится после бандла темы */
.service-card__title a {
    color: inherit;
    text-decoration: none;
}
.service-card__title a:hover {
    color: var(--color-primary);
}
.service-card__description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin: 0;
}
.service-card__link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-normal);
    align-self: flex-start;
}
.service-card__link:hover {
    color: var(--color-primary-hover);
}

/* === АДАПТИВНОСТЬ === */


/* ==========================================================================
   CASES SECTION
   ========================================================================== */


/* === CASES SECTION === */

.cases {
    background: var(--color-white);
}
.cases__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.24;
    color: var(--color-gray-900);
    margin: 0;
}
.cases__btn {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    padding: 18px 16px;
    background: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 12px;
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    display: flex;
    align-items: center;
    gap: 8px;
    width: 265px;
    justify-content: center;
}
.cases__btn:hover {
    background: var(--color-primary);
    color: var(--color-white);
}

/* === CASE SLIDER === */

.case-slider {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}
.case-slider__wrapper:first-child {
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.04);
}
.case-slider__wrapper {
    overflow: hidden;
    width: 100%;
}
.case-slider__container {
    display: flex;
    transition: transform 0.3s ease;
}
.case-card {
    width: 100%;
    background: var(--color-white);
    border-radius: 30px;
    overflow: hidden;
    flex-shrink: 0;
}
.case-card__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    height: 424px;
}
.case-card__text {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 452px;
}
.case-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.13;
    color: var(--color-gray-900);
    margin: 0;
}
.case-card__stat {
    display: flex;
    -ms-align-items: center;
    align-items: center;
    gap: 12px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    line-height: 1.4;
    color: #4B4E55;
    font-size: var(--font16);
}
.case-card__stat strong {
    font-weight: bold;
    font-size: var(--font22);
}
.case-card__stat-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.case-card__stat-subtitle {
    font-size: var(--font16);
    color: #6B7280;
    font-weight: var(--font-weight-medium);
}
.case-card__stat-value {
    font-size: var(--font22);
    color: #1F2937;
    font-weight: var(--font-weight-bold);
}
.case-card__metrics {
    display: flex;
    gap: 30px;
}
.case-card__metric {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1;
    color: #178017;
}
.case-card__link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    line-height: 2;
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-normal);
    width: fit-content;
}
.case-card__link:hover {
    color: #047857;
}
.case-card__image {
    position: relative;
    overflow: hidden;
}
.case-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* === SLIDER DOTS === */

.case-slider__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: 100%;
}
.case-slider__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #F4F3F8;
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
}
.case-slider__dot--active {
    width: 16px;
    height: 16px;
    background: #999898;
}

/* Скрываем мобильную кнопку на десктопе */

.case-slider__mobile-btn {
    display: none;
}

/* === RESPONSIVE === */

@media (max-width: 768px) {
    .cases__header {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    .cases__title {
        font-size: 32px;
    }
    .cases__btn {
        width: 100%;
        max-width: 300px;
    }
    .case-card__content {
        grid-template-columns: 1fr;
        height: auto;
    }
    .case-card__text {
        padding: 30px 20px;
        max-width: none;
        gap: 25px;
    }
    .case-card__title {
        font-size: 24px;
    }
    .case-card__metrics {
        flex-direction: column;
        gap: 15px;
    }
    .case-card__image {
        height: 300px;
    }
    /* Скрываем оригинальную кнопку в заголовке на мобильной */
    .cases .col-lg-auto {
        display: none;
    }
    /* Показываем кнопку под дотсами */
    .case-slider__mobile-btn {
        display: flex;
        justify-content: center;
        margin-top: 30px;
    }
    .case-slider__mobile-btn .cases__btn {
        width: 100%;
        max-width: 300px;
    }
    /* Метрики в одну строчку */
    .case-card__metrics {
        flex-direction: row;
        gap: 20px;
        flex-wrap: wrap;
    }
    .case-card__metric {
        white-space: nowrap;
        font-size: 14px;
    }
    /* Тени сверху у слайдов в мобильной версии */
    .case-card {
        box-shadow: 0px 8px 24px 0px rgba(0, 0, 0, 0.08);
        border-radius: 20px;
    }
}

/* ==========================================================================
   STRATEGY SECTION
   ========================================================================== */


/* === STRATEGY SECTION === */

.strategy {
    background: var(--color-white);
}
.strategy__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.strategy__header {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.strategy__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.07;
    color: var(--color-gray-900);
    margin: 0;
}

/* === ACCORDION === */

.strategy__accordion {
    display: flex;
    flex-direction: column;
}
.accordion-item {
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
}
.accordion-item:last-child {
    border-bottom: none;
}
.accordion-item__header {
    position: relative;
    padding: 16px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 16px;
}
.accordion-item__divider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-gray-900);
}
.accordion-item__toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    border-radius: 50%;
    flex-shrink: 0;
}
.accordion-item__toggle:hover {
    background: rgba(13, 110, 253, 0.1);
    transform: scale(1.1);
}
.accordion-item__toggle:active {
    transform: scale(0.95);
}
.accordion-item__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.accordion-item__icon--plus {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.accordion-item__icon--minus {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
}
.accordion-item__title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1.55;
    color: var(--color-gray-900);
    margin: 0;
    flex: 1;
    text-align: left;
    padding-left: 0;
}
.accordion-item__content {
    max-height: 0;
    overflow: hidden;
    transition: color 0.6s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.6s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.6s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 16px;
    opacity: 0;
    transform: translateY(-8px);
}
.accordion-item__content p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin: 0;
    padding-bottom: 16px;
}

/* === ACTIVE STATE === */

.accordion-item--active .accordion-item__icon--plus {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
}
.accordion-item--active .accordion-item__icon--minus {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.accordion-item--active .accordion-item__content {
    max-height: 200px;
    padding: 16px 0;
    opacity: 1;
    transform: translateY(0);
}
.accordion-item--active .accordion-item__title {}

/* === ANIMATIONS === */

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-15px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
@keyframes iconBounce {
    0% {
        transform: translate(-50%, -50%) scale(0.5) rotate(-180deg);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.3) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) scale(1) rotate(0deg);
    }
}
.accordion-item__title {
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

/* === VISUAL === */

.strategy__visual {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0;
    margin-top: 40px;
}
.strategy__progress {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 660px;
}

/* === PROGRESS BARS === */

.progress-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px;
    position: relative;
    background: var(--color-white);
    border-radius: 50px;
    box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.04);
    margin-bottom: 12px;
}
.progress-item:nth-child(2),
.progress-item:nth-child(3) {
    margin-left: 70px;
}
.progress-item__avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}
.progress-item__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.progress-item__bar {
    flex: 1;
    height: 12px;
    border-radius: 30px;
    position: relative;
    overflow: hidden;
}
.progress-item__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F4F3F8;
    border-radius: 30px;
}
.progress-item__fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 30px;
    width: 0;
    transition: width 0.3s ease;
}

/* Initial fill on scroll into view */
.progress-item__fill.is-visible {
    animation: progressFill 1.4s cubic-bezier(0.22, 1, 0.36, 1) forwards,
               progressPulse 4s ease-in-out 1.6s infinite;
}

@keyframes progressFill {
    from { width: 0; }
    to   { width: var(--progress-width); }
}

@keyframes progressPulse {
    0%   { width: var(--progress-width); }
    30%  { width: var(--pulse-min, 25%); }
    60%  { width: var(--pulse-max, 90%); }
    100% { width: var(--progress-width); }
}

/* Each bar pulses at its own range and speed */
.progress-item:nth-child(1) .progress-item__fill {
    --pulse-min: 55%;
    --pulse-max: 95%;
}
.progress-item:nth-child(2) .progress-item__fill {
    --pulse-min: 40%;
    --pulse-max: 80%;
    animation-delay: 0s, 2.0s;
}
.progress-item:nth-child(3) .progress-item__fill {
    --pulse-min: 20%;
    --pulse-max: 70%;
    animation-delay: 0s, 2.4s;
}
.progress-item:nth-child(4) .progress-item__fill {
    --pulse-min: 15%;
    --pulse-max: 60%;
    animation-delay: 0s, 2.8s;
}

/* Stagger the initial fill */
.progress-item:nth-child(1) .progress-item__fill.is-visible { animation-delay: 0s, 1.6s; }
.progress-item:nth-child(2) .progress-item__fill.is-visible { animation-delay: 0.15s, 2.0s; }
.progress-item:nth-child(3) .progress-item__fill.is-visible { animation-delay: 0.3s, 2.4s; }
.progress-item:nth-child(4) .progress-item__fill.is-visible { animation-delay: 0.45s, 2.8s; }

.progress-item__fill--blue {
    background: #FFC107;
}
.progress-item__fill--yellow {
    background: #4285F4;
}
.progress-item__fill--blue-light {
    background: #E3F2FD;
}
.progress-item__fill--red {
    background: #FF5722;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .progress-item__fill.is-visible {
        animation: progressFill 0.01s forwards;
    }
}

/* === RESPONSIVE === */

@media (max-width: 1024px) {
    .strategy__wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .strategy__title {
        font-size: 36px;
        max-width: none;
    }
    .strategy__accordion {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .strategy {}
    .strategy__wrapper {
        gap: 40px;
    }
    .strategy__title {
        font-size: 28px;
    }
    .accordion-item__title {
        font-size: 18px;
    }
    .strategy__progress {
        gap: 8px;
    }
    .progress-item__avatar {
        width: 60px;
        height: 60px;
    }
    .progress-item__bar {
        height: 6px;
    }
}

/* ==========================================================================
   ABOUT SECTION
   ========================================================================== */

.about {
    background: var(--color-white);
}

/* === VISUAL SIDE === */

.about__visual {
    position: relative;
    width: 100%;
    height: 540px;
    transition: transform 0.3s ease;
}
.about__images {
    position: relative;
    width: 583px;
    height: 540px;
}
.about__image-card {
    position: absolute;
    width: 583px;
    height: 260px;
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0px 5px 14px 0px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}
.about__image-card:first-child {
    top: 0;
    left: 0;
}
.about__image-card:last-child {
    bottom: 0;
    left: 0;
}
.about__image-content {
    position: relative;
    padding: 50px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.about__image-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.about__image-icon {
    width: 68px;
    height: 68px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}
.about__image-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about__image-info {
    flex: 1;
    position: relative;
}
.about__image-dot {
    position: absolute;
    top: 40px;
    left: 0;
    width: 14px;
    height: 14px;
    background: #178017;
    border-radius: 50%;
}
.about__image-title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1;
    color: var(--color-gray-900);
    margin: 0 0 10px 0;
}
.about__image-version {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: 14px;
    line-height: 1;
    color: #797A7F;
    margin-left: 30px;
}
.about__image-bars {
    display: flex;
    flex-direction: column;
    gap: 17px;
    margin-top: 20px;
}
.about__image-bar {
    width: 100%;
    height: 16px;
    background: #F4F3F8;
    border-radius: 8px;
}
.about__image-bar--short {
    width: 70%;
}
.about__image-stats {
    position: absolute;
    top: 64px;
    right: 50px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1;
    color: #178017;
}

/* === BADGE === */

.about__badge {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: calc(100% - 50px);
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--color-primary);
    border-radius: 25px;
    padding: 12px 20px;
    box-shadow: 0px 4px 12px rgba(13, 110, 253, 0.3);
    z-index: 10;
}
.about__badge-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.about__badge-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.about__badge-text {
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: var(--font16);
    line-height: 1.21;
    color: var(--color-white);
}
.about__triangle {
    position: absolute;
    bottom: calc(100% - 20px);
    right: calc(100% + 0px);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
.about__triangle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* === CONTENT SIDE === */

.about__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 566px;
}
.about__header {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.about__tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-900);
    border-radius: 100px;
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.57;
    color: var(--color-gray-900);
    width: fit-content;
}
.about__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.07;
    color: var(--color-gray-900);
    margin: 0;
    max-width: 513px;
}
.about__text {
    max-width: 550px;
}
.about__text p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1.7;
    font-weight: 500;
    color: var(--color-gray-900);
    margin: 0;
}

/* === PARALLAX EFFECT === */

.about__image-card {
    transition: transform 0.1s ease-out;
    will-change: transform;
}

/* ==========================================================================
   WHY CHOOSE US SECTION
   ========================================================================== */

.why-choose {
    background: var(--color-white);
    position: relative;
}
.why-choose__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 0.76;
    color: var(--color-gray-900);
    margin: 0;
}
.why-choose__subtitle {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
}
.why-choose-bg {
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.04);
    padding: 90px 30px;
}

/* === CONTENT GRID === */

.why-choose__content {
    display: flex;
    flex-direction: column;
}
.why-choose__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 67px;
}
.why-choose__item {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}
.why-choose__icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.why-choose__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.why-choose__text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.why-choose__item-title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1.45;
    color: var(--color-gray-900);
    margin: 0;
}
.why-choose__item-description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: var(--font16);
    line-height: 1.6;
    color: #4B4E55;
    margin: 0;
}

/* === SHOW MORE FUNCTIONALITY (MOBILE ONLY) === */

.why-choose__show-more {
    display: none;
    /* Hidden by default on desktop */
}
.why-choose__show-more-link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.5;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary);
}
.why-choose__show-more-link:hover {
    color: var(--color-primary-hover);
}
.why-choose__show-more-link svg {
    transition: transform 0.3s ease;
}
.why-choose__show-more-link:hover svg {
    transform: translateY(2px);
}

/* === BUTTONS === */

.why-choose__buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
}
.why-choose__btn {
    padding: 18px 32px;
    border-radius: 12px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 1.5;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    border: none;
}
.why-choose__btn--primary {
    background: #059669;
    color: #fff;
    border-radius: 50px;
}
.why-choose__btn--primary:hover {
    color: #fff;
    background: #047857;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.3);
}
.why-choose__btn--secondary {
    background: transparent;
    color: #059669;
    border: 2px solid #059669;
    border-radius: 50px;
}
.why-choose__btn--secondary:hover {
    background: #059669;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.3);
}

/* === RESPONSIVE === */

@media (max-width: 1024px) {
    .why-choose__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    .why-choose__content {
        padding: 50px;
    }
    .why-choose__title {
        font-size: 36px;
    }
    .why-choose__buttons {
        flex-direction: column;
        align-items: center;
    }
    .why-choose__btn {
        width: 100%;
        max-width: 280px;
    }
}
@media (max-width: 768px) {
    .why-choose__btn {
        width: 100%;
        max-width: 100%;
    }
    .why-choose {}
    .why-choose__wrapper {}
    .why-choose__header {
        margin-bottom: 60px;
    }
    .why-choose__title {
        font-size: 28px;
        line-height: 110%;
        text-align: left;
    }
    .why-choose__subtitle {
        font-size: var(--font16);
        text-align: left;
        margin: 30px auto;
    }
    .why-choose__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .why-choose__content {
        padding: 0;
    }
    .why-choose__item {
        gap: 15px;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    .why-choose__icon {
        width: 55px;
        height: 55px;
        font-size: var(--font20);
        margin-bottom: -15px;
        margin-left: -5px;
    }
    .why-choose__text {
        gap: 10px;
        align-items: flex-start;
    }
    .why-choose__item-title {
        font-size: var(--font20);
        margin-bottom: 5px;
    }
    .why-choose__item-description {
        font-size: 14px;
    }
    /* Mobile Show More Functionality */
    .why-choose__show-more {
        display: flex;
        justify-content: center;
        margin-bottom: 20px;
    }
    /* Hide items 4-6 on mobile by default */
    .why-choose__item:nth-child(n+4) {
        display: none;
    }
    /* Show all items when expanded */
    .why-choose__item.why-choose__item--visible {
        display: flex;
        animation: slideDown 0.5s ease-out forwards;
    }
    /* Animation for smooth reveal */
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* ==========================================================================
   REVIEWS SECTION
   ========================================================================== */

.reviews {
    background: var(--color-white);
    overflow: visible;
}
.reviews__wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    overflow: visible;
}

/* === HEADER === */

.reviews__header {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}
.reviews__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.07;
    color: var(--color-gray-900);
    margin: 0;
}

/* === CONTENT CAROUSEL === */

.reviews__carousel {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
}
.reviews__track {
    display: flex;
    gap: 20px;
    transition: transform 0.3s ease;
    width: calc(100% * 5);
    /* 3 оригинальные + 2 клона для бесконечной прокрутки */
}

/* Стили для слайдера отзывов на главной странице */

.reviews__carousel .review-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 0;
    width: 519px;
    flex-shrink: 0;
    transition: none !important;
}
.reviews__carousel .review-card .inner {
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.04);
    height: 100%;
    padding: 30px;
}
.reviews__carousel .review-card:hover {
    box-shadow: none !important;
    transition: none !important;
}
.reviews__carousel .review-card__user {
    display: flex;
    -ms-align-items: center;
    align-items: center;
    gap: 16px;
    position: relative;
}
.reviews__carousel .review-card__avatar {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
}
/*
 * АУДИТ 11.08.2026, приём из 21st.dev (Testimonial Card).
 * Монограмма вместо стокового портрета: атрибуция отзывов обезличена до практики
 * и города, и обобщённое лицо рядом с подписью «Адвокатское бюро» обещало
 * конкретного человека, которого нет. Буквы, а не лицо — честнее и не имитирует
 * персону. aria-hidden на элементе: монограмма дублирует подпись рядом, читать
 * её скринридером значит произносить «А Б» перед «Адвокатское бюро».
 */
.reviews__carousel .review-card__avatar--mono,
.review-card__avatar--mono {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary-light, rgba(5, 150, 105, 0.1));
    color: var(--color-primary-dark, #065f46);
    font-weight: 800;
    font-size: 24px;
    letter-spacing: 0.02em;
    user-select: none;
}
/* Звёзды и подпись оценки в одну строку, подпись — мелким серым. */
.review-card__stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    vertical-align: middle;
}
.review-rating .rating-score {
    margin-left: 8px;
    font-size: 13px;
    color: var(--color-gray-500, #6b7280);
    font-weight: 600;
    vertical-align: middle;
}
.reviews__carousel .review-card__avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 50%;
    display: block !important;
}
.reviews__carousel .review-card__user-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}
.reviews__carousel .review-card__name {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font22);
    font-weight: bold;
    line-height: 1.27;
    color: var(--color-gray-900);
    margin: 0;
    text-decoration: underline;
}
.reviews__carousel .review-card__position {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: var(--font16);
    line-height: 1.75;
    color: var(--color-gray-900);
    margin: 0;
}
.reviews__carousel .review-card__yandex {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    z-index: 9999;
}
.reviews__carousel .review-card__text {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.reviews__carousel .review-card__quote {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-gray-700);
    margin: 0;
}
.reviews__carousel .review-card__link {
    font-family: var(--font-family-primary);
    font-weight: bold;
    font-size: var(--font16);
    line-height: 1.5;
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-normal);
    width: fit-content;
}
.reviews__carousel .review-card__link:hover {
    color: var(--color-primary-dark);
}

/* === RESPONSIVE === */


/* === SEO MODELS SECTION === */

.seo-models {}
.seo-models__block {
    display: flex;
    flex-direction: column;
    gap: 40px;
    background: #F4F3F8;
    border-radius: 30px;
    padding: 30px;
    max-width: 100%;
    margin: 0 auto;
}
.seo-models__block.bez_fona .seo-models__card {
    box-shadow: 0 9px 24px 0 rgba(0, 0, 0, 0.03), 0 9px 24px 0 rgba(0, 0, 0, 0.03);
}
.seo-models__block.bez_fona .seo-models__cards.fz22 .seo-models__card-title {
    font-weight: 500;
}
.seo-models__block.bez_fona {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
}
.seo-models__header {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.seo-models__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.071;
    letter-spacing: -0.6px;
    color: var(--color-gray-900);
    margin: 0;
}
.seo-models__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.seo-models__card {
    background: #FFFFFF;
    border-radius: 30px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}
.seo-models__card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    gap: 50px;
    width: 100%;
}
.seo-models__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}
.seo-models__card-info {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 30px;
}
.seo-models__card-title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.133;
    letter-spacing: -0.4px;
    color: var(--color-gray-900);
    margin: 0;
}
.seo-models__cards.fz22 .seo-models__card-content {
    gap: 30px;
}
.seo-models__cards.fz22 .seo-models__card-title {
    font-size: var(--font22);
    font-weight: normal;
    line-height: 150%;
}
.seo-models__card-features {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 30px;
}
.seo-models__feature {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    align-self: stretch;
    gap: 20px;
}
.seo-models__feature-text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.24;
    color: var(--color-gray-900);
    flex: 1;
}

/* Responsive styles for SEO Models */

@media (max-width: 1024px) {
    .seo-models__cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .seo-models__title {
        font-size: 36px;
    }
}
@media (max-width: 768px) {
    .seo-models__block {
        gap: 30px;
        border-radius: 15px;
        padding: 15px;
    }
    .seo-models__cards {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .seo-models__card-info {
        gap: 15px;
    }
    .seo-models__title {
        font-size: 28px;
    }
    .seo-models__card {
        padding: 20px 15px;
    }
    .seo-models__card-content {
        gap: 15px;
    }
    .seo-models__card-features {
        gap: 20px;
    }
}
@media (max-width: 576px) {
    .seo-models__feature-text {
        font-size: 14px;
    }
}

/* === TWO COLUMN TEXT SECTION === */


/* === METRICS SECTION === */

.metrics {
    background: #fff;
}
.metrics__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}
.metrics__content--grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 40px;
    justify-content: stretch;
}
.metrics__item {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}
.metrics__icon {
    flex-shrink: 0;
}
.metrics__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.metrics__percentage {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font40);
    line-height: 0.85;
    color: var(--color-gray-900);
}
.metrics__description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.4;
    color: var(--color-gray-700);
}

/* Responsive styles for Metrics */

@media (max-width: 1024px) {
    .metrics__content {
        gap: 30px;
    }
    .metrics__content--grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}
@media (max-width: 768px) {
    .metrics {}
    .metrics__content {
        flex-direction: column;
        gap: 40px;
    }
    .metrics__content--grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .metrics__item {
        width: 100%;
        justify-content: flex-start;
        gap: 20px;
    }
    .metrics__icon {
        width: 48px;
        height: 48px;
    }
    .metrics__icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .metrics__text {
        gap: 8px;
    }
}
@media (max-width: 576px) {
    .metrics {}
    .metrics__content {
        gap: 32px;
    }
    .metrics__item {
        gap: 16px;
    }
    .metrics__icon {
        width: 40px;
        height: 40px;
    }
    .metrics__text {
        gap: 6px;
    }
}

/* === HOW WE WORK SECTION === */

.how-we-work__block {
    display: flex;
    flex-direction: column;
    gap: 40px;
    background: #F4F3F8;
    border-radius: 30px;
    padding: 30px;
    max-width: 100%;
    margin: 0 auto;
}
.how-we-work__block.bez_fona {
    background-color: transparent;
    padding: 0;
}
.how-we-work__header {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.how-we-work__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.071;
    letter-spacing: -0.6px;
    color: var(--color-gray-900);
    margin: 0;
}
.how-we-work__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.how-we-work__card {
    background: #FFFFFF;
    border-radius: 30px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.04);
}
.how-we-work__card-content {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}
.how-we-work__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    height: 60px;
    flex-shrink: 0;
}
.how-we-work__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    background: #F4F3F8;
    border-radius: 20px;
    flex-shrink: 0;
}
.how-we-work__icon-wrapper img {
    width: 35px;
    height: 35px;
}
.how-we-work__card-info {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 30px;
    flex: 1;
}
.how-we-work__card-title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font22);
    line-height: 1.2;
    letter-spacing: -0.3px;
    color: var(--color-gray-900);
    margin: 0;
}
.how-we-work__card-features {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 25px;
}
.how-we-work__feature {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    align-self: stretch;
    gap: 20px;
}
.how-we-work__feature-text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.24;
    color: var(--color-gray-900);
    flex: 1;
}

/* Responsive styles for How We Work */

@media (max-width: 1024px) {
    .how-we-work__cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .how-we-work__title {
        font-size: 36px;
    }
}
@media (max-width: 768px) {
    .how-we-work__block {
        padding: 15px;
        gap: 30px;
        border-radius: 15px;
    }
    .how-we-work__title {
        font-size: 28px;
    }
    .how-we-work__card {
        padding: 20px;
    }
    .how-we-work__card-content {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
    .how-we-work__card-info {
        gap: 15px;
    }
    .how-we-work__card-icon {
        width: 50px;
        height: 50px;
    }
    .how-we-work__icon-wrapper {
        width: 50px;
        height: 50px;
    }
    .how-we-work__icon-wrapper img {
        width: 30px;
        height: 30px;
    }
    .how-we-work__card-features {
        gap: 15px;
    }
    .how-we-work__cards {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
@media (max-width: 576px) {
    .how-we-work__title {
        font-size: 24px;
    }
    .how-we-work__card {
        padding: 16px;
    }
    .how-we-work__feature-text {
        font-size: 14px;
    }
}

/* Show More Button */

.how-we-work__show-more {
    display: flex;
    justify-content: center;
}
.how-we-work__show-more-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    color: var(--color-primary);
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    cursor: pointer;
    border-radius: 8px;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.how-we-work__show-more-btn:hover {
    background: rgba(5, 150, 105, 0.1);
}
.how-we-work__show-more-icon {
    transition: transform 0.3s ease;
}
.how-we-work__show-more-btn.active .how-we-work__show-more-icon {
    transform: rotate(180deg);
}

/* Hide cards on mobile by default */

@media (max-width: 768px) {
    .how-we-work__card:nth-child(n+4) {
        display: none;
    }
    .how-we-work__card.how-we-work__card--visible {
        display: flex;
        animation: slideDown 0.5s ease-out forwards;
    }
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Hide show more button on desktop */

@media (min-width: 769px) {
    .how-we-work__show-more {
        display: none;
    }
}
.reviews {
    background: #fff;
}
.reviews__content {
    margin: 0 auto;
}

/* Rating Summary Block */

.reviews__rating-summary {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.reviews__rating-left {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}
.reviews__rating-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.reviews__rating-score {
    text-align: center;
}
.reviews__rating-number {
    font-size: 48px;
    font-weight: 700;
    color: #374151;
    line-height: 1;
    margin-bottom: 8px;
}
.reviews__rating-stars {
    display: flex;
    gap: 4px;
    justify-content: center;
}
.reviews__star {
    width: 24px;
    height: 24px;
    filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(638%) hue-rotate(359deg) brightness(103%) contrast(107%);
}
.reviews__star--empty {
    filter: brightness(0) saturate(100%) invert(84%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(89%) contrast(86%);
}
.review-card__star {
    width: 16px;
    height: 16px;
    filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(638%) hue-rotate(359deg) brightness(103%) contrast(107%);
}
.reviews__star--half {
    filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(638%) hue-rotate(359deg) brightness(103%) contrast(107%);
    opacity: 0.5;
}
.reviews__rating-count {
    font-size: var(--font16);
    /* QA 13.08.2026: был #9ca3af — 2,54:1 на белом. #6b7280 даёт 4,83:1. */
    color: #6b7280;
    font-weight: 500;
}
.reviews__rating-details {
    display: flex;
    gap: 12px;
    align-items: center;
}
.reviews__rating-labels {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    color: #374151;
    font-weight: 500;
    min-width: 60px;
}
.reviews__rating-labels > div {
    height: 14px;
    display: flex;
    align-items: center;
    margin: 2px 0;
}
.reviews__rating-bars {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 300px;
}
.reviews__rating-bar {
    position: relative;
    height: 14px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
    margin: 2px 0;
}
.reviews__rating-bar-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #e5e7eb;
    border-radius: 4px;
}
.reviews__rating-bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #fbbf24;
    border-radius: 4px;
    transition: width 0.3s ease;
}
.reviews__rating-numbers {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    color: #374151;
    font-weight: 600;
    text-align: right;
    min-width: 30px;
}
.reviews__rating-numbers > div {
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 2px 0;
}
.reviews__rating-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    text-align: left;
}
.reviews__rating-text {
    font-size: var(--font16);
    color: #374151;
    font-weight: 500;
    max-width: 220px;
    line-height: 1.4;
}
.reviews__rating-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    background: #059669;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: var(--font16);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
    min-width: 180px;
}
.reviews__rating-btn:hover {
    background: #047857;
}

/* Reviews List */

.reviews__list-container {
    margin-bottom: 40px;
}
.reviews__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.review-card {
    display: flex;
    gap: 16px;
    background: white;
    border: none;
    border-radius: 0;
    width: 100%;
    transition: none !important;
}
.review-card .inner {}
.review-card:hover {
    box-shadow: none;
}
.review-card__avatar {
    position: relative;
    flex-shrink: 0;
    width: 48px !important;
    height: 48px !important;
}
.review-card__avatar-img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    object-fit: cover;
    display: block !important;
}
.review-card__platform {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid white;
}
.review-card__platform-icon {
    width: auto;
    height: auto;
}
.review-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.review-card__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.review-card__info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-direction: row;
}
.review-card__name {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
}
.review-card__tag {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    background: none;
    color: #10b981;
    border-radius: 0;
    font-size: var(--font16);
    font-weight: 500;
    width: fit-content;
    line-height: 1;
}
.review-card__tag-icon {
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.review-card__tag-img {
    width: 16px;
    height: 16px;
}
.review-card__stars {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
    margin-top: 4px;
}
.review-card__star {
    width: 24px;
    height: 24px;
    filter: brightness(0) saturate(100%) invert(84%) sepia(31%) saturate(638%) hue-rotate(359deg) brightness(103%) contrast(107%);
}
.review-card__text {
    font-size: var(--font16);
    line-height: 1.6;
    color: #374151;
}
.review-card__text p {
    margin-bottom: 0;
}
.review-card__date {
    display: flex;
    gap: 8px;
    font-size: var(--font16);
    color: #9ca3af;
    font-weight: 500;
}

/* Pagination */

.reviews__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 0px;
}
.reviews__show-more {
    display: none;
}
@media (max-width: 576px) {
    .reviews__show-more {
        display: block !important;
    }
}
.reviews__pagination-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    border: none;
    background: white;
    color: #374151;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.reviews__pagination-btn:hover {
    color: #059669;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}
.reviews__pagination-btn--active {
    background: white;
    border: none;
    color: #059669;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.reviews__pagination-btn--more {
    width: auto;
    height: auto;
    padding: 6px 24px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #059669;
    color: #059669;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

/* Стрелки пагинации */

.reviews__pagination-btn--prev,
.reviews__pagination-btn--next {
    color: #6B7280;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.reviews__pagination-btn--prev:hover,
.reviews__pagination-btn--next:hover {
    color: #059669;
    transform: scale(1.1);
}

/* Точки в пагинации */

.reviews__pagination-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    color: #6B7280;
    font-size: 14px;
    font-weight: 600;
}

/* Responsive Design */

@media (max-width: 1024px) {
    .reviews__rating-summary {
        flex-direction: column;
        gap: 40px;
        align-items: center;
        text-align: center;
    }
    .reviews__rating-left {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }
    .reviews__rating-right {
        align-items: center;
        text-align: center;
    }
}
@media (max-width: 768px) {}

/* === FAQ SECTION === */

.faq {
    background: var(--color-white);
}
.faq__content {
    width: 100%;
}

/* === УНИВЕРСАЛЬНЫЙ ТЕГ === */

.section__tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 16px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-900);
    border-radius: 100px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.57;
    color: var(--color-gray-900);
    width: fit-content;
    margin-bottom: 16px;
}
.faq__header {
    margin-bottom: 40px;
}
.faq__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 36px;
    line-height: 1.2;
    color: var(--color-gray-900);
    margin-bottom: 40px;
    letter-spacing: -0.02em;
}
.faq__accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* === STRATEGIC ANALYSIS SECTION === */

.strategic-analysis {
    padding: 80px 0;
    background: #fff;
}
.strategic-analysis__content {
    position: relative;
}
.strategic-analysis h2 {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 32px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0 0 40px 0;
}
.strategic-analysis h3 {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0 0 20px 0;
}
.strategic-analysis h4 {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 18px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0 0 16px 0;
}
.strategic-analysis p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin: 0 0 20px 0;
}
.strategic-analysis ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}
.strategic-analysis ul li {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}
.strategic-analysis ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--color-gray-900);
}
.strategic-analysis ul.with-icons li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 0;
}
.strategic-analysis ul.with-icons li::before {
    display: none;
}
.strategic-analysis__check-icon {
    flex-shrink: 0;
}
.strategic-analysis__subtitle {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 18px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0 0 16px 0;
}
.strategic-analysis__ideas {
    margin-top: 20px;
}
.strategic-analysis__example {
    background: #E3F2FD;
    border-radius: 12px;
    padding: 24px;
    margin: 40px 0;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.strategic-analysis__example-icon {
    flex-shrink: 0;
}
.strategic-analysis__example-text p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.5;
    color: #1565C0;
    margin: 0;
}
.strategic-analysis__divider {
    height: 1px;
    background: #E0E0E0;
    margin: 20px 0;
}
.strategic-analysis__text--bold {
    font-weight: var(--font-weight-bold) !important;
}
.strategic-analysis__conclusion {
    background: #F5F5F5;
    border-radius: 12px;
    padding: 24px;
    margin: 40px 0;
}
.strategic-analysis__toggle {
    text-align: left;
    margin: 30px 0;
}
.strategic-analysis__toggle-link {
    color: #1976D2;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    transition: color 0.3s ease;
}
.strategic-analysis__toggle-link:hover {
    color: #1565C0;
    text-decoration: underline;
}
.strategic-analysis__toggle-icon {
    transition: transform 0.3s ease;
}
.strategic-analysis__toggle-link:hover .strategic-analysis__toggle-icon {
    transform: translateX(2px);
}
.strategic-analysis__toggle-link.active .strategic-analysis__toggle-icon {
    transform: rotate(90deg);
}
.strategic-analysis__collapsible {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
}
.strategic-analysis__collapsible.active {
    max-height: 2000px;
    transition: max-height 0.5s ease-in;
}

/* Responsive styles for Strategic Analysis */

@media (max-width: 768px) {
    .strategic-analysis {
        padding: 60px 0;
    }
    .strategic-analysis__title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    .strategic-analysis__section-title {
        font-size: var(--font22);
    }
    .strategic-analysis__section {
        margin-bottom: 30px;
    }
    .strategic-analysis__example {
        flex-direction: column;
        gap: 12px;
        padding: 20px;
    }
    .strategic-analysis__conclusion {
        padding: 20px;
    }
}
@media (max-width: 576px) {
    .strategic-analysis__title {
        font-size: 24px;
    }
    .strategic-analysis__section-title {
        font-size: var(--font20);
    }
    .strategic-analysis__text,
    .strategic-analysis__list li {
        font-size: 14px;
    }
}

/* FAQ Responsive Styles */

@media (max-width: 768px) {
    .faq__title {
        font-size: 28px;
        margin-bottom: 30px;
    }
}
@media (max-width: 576px) {
    .faq__title {
        font-size: 24px;
        margin-bottom: 25px;
    }
    .section__tag {
        font-size: 12px;
        padding: 3px 12px;
    }
}

/* === CTA SECTION === */

.cta {
    background: #fff;
    overflow: visible;
}
.cta__text {
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: var(--color-primary);
    border-radius: 30px;
    box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0.04);
    position: relative;
    width: 100%;
}
@media (min-width: 993px) {
    .cta__text {
        padding: 50px;
    }
}
.cta__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.24;
    color: var(--color-white);
    margin: 0;
    letter-spacing: -0.01em;
}
.cta__description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font20);
    line-height: 1.6;
    color: var(--color-white);
    margin: 0;
}
.cta__form {
    display: flex;
    flex-direction: column;
    gap: 19px;
}
.cta__fields {
    display: flex;
    gap: 10px;
}
.cta__field {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cta__input-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 214px;
    height: 60px;
}
.cta__field:nth-child(2) .cta__input-wrapper {
    width: 279px;
}
.cta__input-wrapper p {
    margin-bottom: 0;
}
.cta__input-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.input-name {
    &:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translate(0, -50%);
        z-index: 2;
        background-image: url(../images/cta-user.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        -webkit-background-size: cover;
        background-size: cover;
        width: 25px;
        height: 25px;
    }
}
.input-phone {
    &:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translate(0, -50%);
        z-index: 2;
        background-image: url(../images/cta-phone.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        -webkit-background-size: cover;
        background-size: cover;
        width: 25px;
        height: 25px;
    }
}
.input-site {
    &:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translate(0, -50%);
        z-index: 2;
        background-image: url(../images/site.svg);
        background-repeat: no-repeat;
        background-position: 0 0;
        -webkit-background-size: cover;
        background-size: cover;
        width: 25px;
        height: 25px;
    }
}
.cta__input {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1;
    color: var(--color-gray-900);
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    padding: 22px 22px 22px 56px;
    background: var(--color-white);
    border-radius: 12px;
}
.cta__input::placeholder {
    color: var(--color-gray-900);
    opacity: 0.5;
}
.cta__button {
    display: flex;
    text-align: left;
    padding: 18px 37px 18px 37px;
    background: var(--color-white);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    width: 191px;
    height: 60px;
    font-size: 16px;
    font-weight: bold;
    background-image: url(../images/arrow-submit.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 37px) center;
}
.cta__button:hover {
    transform: translateY(-2px);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
}
.cta__button-text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 1.5;
    color: var(--color-gray-900);
}
.cta__button-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.cta__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 20px;
}
.cta__checkbox p {
    margin-bottom: 0;
}
@media (min-width: 993px) {
    .cta__image {
        position: absolute;
        bottom: 0;
        right: 20px;
        width: 461px;
        height: 444px;
        flex-shrink: 0;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        z-index: 10;
        pointer-events: none;
    }
}

/* === CONTACT INFO SECTION === */

.contact-info {
    padding: 80px 0;
    z-index: 9999;
    position: relative;
    top: -130px;
}
.contact-info__content {
    background: var(--color-gray-100);
    border-radius: var(--radius-2xl);
    padding: var(--spacing-2xl);
}
.contact-info__phone {
    font-family: var(--font-family-primary);
    font-size: var(--font22);
    font-weight: var(--font-weight-semibold);
    color: var(--Text);
    margin-bottom: var(--spacing-xl);
    line-height: var(--line-height-normal);
    letter-spacing: -0.01em;
    text-align: right;
}
.contact-info__office-details {
    font-size: var(--font16);
}

/* Убираем CSS Grid, используем Bootstrap сетку */


/* Убираем flex стили, используем Bootstrap */

.contact-info__office {
    margin-bottom: var(--spacing-lg);
    height: 100%;
}
.contact-info__office-address {
    font-family: var(--font-family-primary);
    font-size: var(--font22);
    font-weight: var(--font-weight-semibold);
    color: var(--Text);
    margin-bottom: var(--spacing-md);
    line-height: var(--line-height-normal);
    letter-spacing: -0.01em;
}
.contact-info__office-details p {
    margin: 6px 0;
    font-family: var(--font-family-primary);
    font-size: var(--font16);
    color: var(--color-gray-500);
    line-height: var(--line-height-normal);
    font-weight: var(--font-weight-normal);
    letter-spacing: -0.01em;
}
.contact-info__map {
    border-radius: var(--radius-lg);
    overflow: hidden;
    height: 100%;
}

/* Убираем flex стили, используем Bootstrap */

.contact-info__channels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.contact-info__channel {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    background: var(--color-white);
    border-radius: 30px;
    padding: 30px;
    transition: var(--transition-slow);
    margin-bottom: var(--spacing-sm);
}
.contact-info__channel:last-child {
    margin-bottom: 0;
}

/* Убираем hover эффект с каналов связи */

.contact-info__channel-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: var(--transition-slow);
}
.contact-info__channel-icon img {
    width: 68px;
    height: 68px;
}
.contact-info__channel-content {
    flex: 1;
}
.contact-info__channel-name {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    color: var(--Text);
    margin-bottom: var(--spacing-xs);
    font-size: var(--font22);
    line-height: var(--line-height-normal);
    letter-spacing: -0.01em;
}
.contact-fix {
    margin: 30px 0px !important;
}
.contact-info__channel-link {
    font-family: var(--font-family-primary);
    color: var(--color-primary);
    text-decoration: none;
    font-size: var(--font16);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
    letter-spacing: -0.01em;
}

/* Убираем hover эффект с ссылок каналов связи */

@media (max-width: 768px) {
    .contact-info__content {
        padding: 30px;
    }
    .contact-info__office {
        padding: 5px;
        margin-bottom: 32px;
    }
    .contact-info__office-address {
        font-size: var(--font16);
        margin-bottom: 16px;
    }
    .contact-info__phone {
        font-size: var(--font16);
        margin-bottom: 24px;
        text-align: left;
    }
    .contact-info__map {
        margin-bottom: 32px;
    }
    .contact-info__channels {
        margin-top: 0;
    }
    .contact-info__channel {
        margin-bottom: 16px;
        padding: 16px;
    }
    .contact-info__channel:last-child {
        margin-bottom: 0;
    }
    .contact-info__channel-icon {
        width: 48px;
        height: 48px;
    }
    .contact-info__channel-icon img {
        width: 68px;
        height: 68px;
    }
}
@media (max-width: 576px) {
    .contact-info {
        padding: 40px 0;
    }
    .contact-info__content {
        padding: 24px;
        border-radius: 16px;
    }
    .contact-info__columns {
        gap: 32px;
    }
    .contact-info__channel {
        padding: 16px;
    }
    .contact-info__channel-icon {
        width: 68px;
        height: 68px;
    }
}

/* === BRANDS SECTION === */

.brands {
    background: var(--color-white);
    overflow: hidden;
    padding: 40px 0;
}
/*
 * АУДИТ 11.08.2026. Порт приёмов из 21st.dev (Logo Cloud Marquee).
 *
 * .brands__viewport — окно с маской: лента затухает к краям в белый вместо
 * резкого обрыва по границе секции. Маска идёт ПОВЕРХ overflow:hidden у .brands,
 * а не вместо него: overflow нужен, чтобы дубль ленты не растягивал страницу.
 * Проценты 12/88 — из оригинала; на узких экранах затухание сжато до 6/94,
 * иначе оно съедает половину видимых логотипов.
 */
.brands__viewport {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}
.brands__carousel {
    display: flex;
    width: max-content;
    animation: brandsScroll 25s linear infinite;
    will-change: transform;
}
/*
 * Пауза по наведению — чистым CSS. Раньше её делал jQuery: слушал hover на .brands
 * и гонял requestAnimationFrame, вызывая $carousel.width() НА КАЖДОМ КАДРЕ, то есть
 * заставлял браузер пересчитывать раскладку 60 раз в секунду. Скрипт удалён.
 */
.brands:hover .brands__carousel,
.brands:focus-within .brands__carousel {
    animation-play-state: paused;
}
/* Логотип под курсором становится цветным — единственная точка цвета в ленте. */
.brands__item:hover .brands__logo {
    filter: grayscale(0);
    opacity: 1;
}
@media (max-width: 760px) {
    .brands__viewport {
        -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
        mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
    }
}
/*
 * Без анимации лента замирает на первом кадре и становится обычным горизонтально
 * прокручиваемым рядом — иначе часть логотипов была бы недостижима.
 */
@media (prefers-reduced-motion: reduce) {
    .brands__carousel {
        animation: none;
    }
    .brands__viewport {
        overflow-x: auto;
    }
}
.brands__track {
    display: flex;
    gap: 60px;
    padding: 0 30px;
    flex-shrink: 0;
}
.brands__item {
    width: auto;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
/*
 * АУДИТ 06.08.2026. Явные размеры на десктопе: без них бокс задавали атрибуты img,
 * и логотипы разных пропорций сплющивало в одну коробку. object-fit:contain
 * страхует случай, когда в галерею попадёт файл, не приведённый к общему холсту, —
 * он впишется, а не растянется.
 */
.brands__logo {
    width: 120px;
    height: 60px;
    object-fit: contain;
    opacity: 0.8;
    filter: grayscale(100%);
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
@media (max-width: 760px) {
    .brands__logo {
        width: 80px;
        height: 40px;
    }
}
/* === RESPONSIVE === */

@media (max-width: 768px) {
}
@keyframes brandsScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* === FOOTER === */

.footer {
    background: var(--color-white);
    padding: 75px 0 0;
    border-top: 1px solid rgba(229, 231, 235, 0.3);
}

/* === LEFT SIDE - LOGO AND CONTACT === */

.footer__left {
    display: flex;
    flex-direction: column;
}
.footer__logo {
    display: flex;
    align-items: center;
    gap: 8.42px;
    margin-bottom: 20px;
}
.footer__logo-link {
    text-decoration: none;
    transition: opacity var(--transition-normal);
}
.footer__logo-link:hover {
    opacity: 0.8;
}
.footer__logo-img {
    width: auto;
    height: auto;
}
.footer__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.footer__contact-row {
    display: flex;
    align-items: center;
    gap: 15px;
}
.footer__phone {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-base);
    color: var(--color-gray-900);
    text-decoration: none;
    transition: color var(--transition-normal);
    white-space: nowrap;
}
.footer__phone:hover {
    color: var(--color-primary);
}
.footer__social {
    display: flex;
    align-items: center;
    gap: 7px;
}
.footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: transform var(--transition-normal);
    text-decoration: none;
}
.footer__social-link:hover {
    transform: scale(1.1);
}
.footer__social-link--whatsapp {
    background: #48C95F;
}
.footer__social-link--telegram {
    background: #2F89CE;
}
.footer__social-icon {
    width: 13px;
    height: 13px;
    filter: brightness(0) invert(1);
    display: block;
}

/* === RIGHT SIDE - NAVIGATION === */

.footer__nav {
    display: flex;
    gap: 60px;
}
.footer__nav-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.footer__nav-link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    color: var(--color-gray-900);
    text-decoration: none;
    transition: color var(--transition-normal);
    line-height: 1.25;
}
.footer__nav-link:hover {
    color: var(--color-primary);
}

/* === BOTTOM SECTION === */

.footer__bottom {
    padding: 22px 0;
    border-top: 1px solid rgba(229, 231, 235, 0.3);
}
.footer__copyright {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: 14px;
    color: var(--color-gray-900);
    line-height: 1.57;
}
.footer__legal {
    display: flex;
    gap: 20px;
}
.footer__legal-link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: 14px;
    color: var(--color-gray-900);
    text-decoration: underline;
    transition: color var(--transition-normal);
    line-height: 1.57;
}
.footer__legal-link:hover {
    color: var(--color-primary);
}

/* === RESPONSIVE === */

@media (max-width: 1024px) {
    .footer__nav {
        gap: 40px;
    }
    .footer__nav-column {
        gap: 20px;
    }
}
@media (max-width: 768px) {
    .footer {
        padding: 40px 20px 20px;
    }
    .footer__wrapper {
        flex-direction: column;
        gap: 40px;
        align-items: center;
        text-align: center;
    }
    .footer__left {
        max-width: none;
        align-items: center;
        width: 100%;
    }
    .footer__logo {
        margin-bottom: 16px;
        text-align: center;
    }
    .footer__contact {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .footer__contact-row {
        flex-direction: row;
        align-items: center;
        gap: 15px;
        margin-bottom: 16px;
        justify-content: center;
    }
    .footer__phone {
        font-size: 18px;
        margin-bottom: 0;
    }
    .footer__social {
        display: flex;
        gap: 15px;
        justify-content: center;
    }
    .footer__nav {
        margin-left: 0;
        gap: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footer__nav-column {
        gap: 15px;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .footer__nav-link {
        text-align: center;
        padding: 8px 0;
        font-size: var(--font16);
    }
    .footer__bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid rgba(229, 231, 235, 0.3);
    }
    .footer__legal {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }
    .footer__legal-link {
        text-align: center;
        font-size: 14px;
    }
}
@media (max-width: 576px) {
    .footer {
        padding: 30px 15px 15px;
    }
    .footer__phone {
        font-size: 18px;
    }
    .footer__nav-link {
        font-size: 15px;
        padding: 6px 0;
    }
    .footer__legal-link {
        font-size: 14px;
    }
    .reviews {
        overflow: hidden;
    }
    .reviews__carousel {
        overflow: hidden;
    }
    .reviews__carousel .review-card {
        width: 326px;
        padding: 10px 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
    }
}

/* Cases pagination fixes */

.cases-pagination-hidden {
    display: none !important;
}
.cases-pagination-visible {
    display: flex !important;
}

/* Mobile Sort Header */

.cases-filter__sort-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px 15px;
    margin-bottom: 10px;
}
.cases-filter__sort-label {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    color: var(--color-gray-700);
}

/* Filter buttons base styles */

.cases-filter__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.cases-filter__btn {
    padding: 8px 16px;
    border: 1px solid #E5E7EB;
    border-radius: 20px;
    background: var(--color-white);
    color: var(--color-gray-700);
    font-family: var(--font-family-primary);
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    white-space: nowrap;
}
.cases-filter__btn--active,
.cases-filter__btn:hover {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}
@media (max-width: 768px) {
    .cases-filter__sort-header {
        display: flex;
    }
}

/* Mobile Cases Styles */

@media (max-width: 768px) {
    .cases-filter {
        padding: 15px 0;
    }
    .cases-filter__wrapper {
        padding: 0 15px;
        overflow-x: auto;
        justify-content: flex-start;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
    }
    .cases-filter__wrapper::-webkit-scrollbar {
        display: none;
    }
    .cases-filter__btn {
        flex-shrink: 0;
        font-size: 14px;
        padding: 8px 16px;
        border-radius: 20px;
        white-space: nowrap;
    }
    .cases-page__grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }
    /* Hide pagination on mobile, show show-more button */
    .cases-page__pagination .reviews__pagination {
        display: none !important;
    }
    .cases-page__show-more {
        display: block !important;
    }
    .case-page-card .case-card__content {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: auto !important;
    }
    .case-page-card .case-card__image {
        order: 2 !important;
        width: 100% !important;
        height: 200px !important;
        border-radius: 0 0 20px 20px !important;
    }
    .case-page-card .case-card__text {
        order: 1 !important;
        padding: 20px 16px !important;
        background: #fff !important;
        border-radius: 20px 20px 0 0 !important;
        max-width: none !important;
        gap: 12px !important;
    }
    .case-page-card .case-card__title {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }
    .case-page-card .case-card__stat {
        font-size: 14px !important;
        line-height: 1.4 !important;
        gap: 10px !important;
        align-items: center!important;
    }
    .case-page-card .case-card__metrics {
        display: flex !important;
        flex-direction: row !important;
        gap: 16px !important;
        margin-bottom: 8px !important;
        flex-wrap: wrap !important;
    }
    .case-page-card .case-card__metric {
        font-size: 16px !important;
        font-weight: var(--font-weight-bold) !important;
        color: #178017 !important;
        white-space: nowrap !important;
    }
    .case-page-card .case-card__link {
        font-size: 16px !important;
        font-weight: var(--font-weight-medium) !important;
        margin-top: 0 !important;
    }
    .case-page-card {
        border-radius: 20px !important;
        overflow: hidden !important;
        box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.08) !important;
    }
    /* Hide pagination on mobile, show show-more button */
    .reviews:not(.cases-page) .reviews__pagination {
        display: none !important;
    }
    .cases-page__show-more {
        display: block !important;
        text-align: center !important;
        margin-top: 30px !important;
    }
    .pagination-show-more-btn {
        padding: 16px 32px !important;
        background: transparent !important;
        color: var(--color-primary) !important;
        border: 1px solid var(--color-primary) !important;
        border-radius: 12px !important;
        font-family: var(--font-family-primary) !important;
        font-weight: var(--font-weight-medium) !important;
        font-size: 16px !important;
        cursor: pointer !important;
        transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease !important;
        width: 100% !important;
        max-width: 280px !important;
    }
    .pagination-show-more-btn:hover {
        background: var(--color-primary) !important;
        color: var(--color-white) !important;
    }
}

/* Мобильная версия подвала - одна колонка */

@media (max-width: 768px) {
    .footer__nav {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .footer__nav-column {
        display: contents !important;
    }
    .footer__nav-link {
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        margin: 7px auto !important;
    }
    .footer__copyright {
        font-family: var(--font-family-primary);
        font-weight: var(--font-weight-normal);
        font-size: 14px;
        color: var(--color-gray-900);
        line-height: 1.57;
        text-align: center;
        margin-bottom: 10px;
    }
}

/* ==========================================================================
   COOKIE NOTICE
   ========================================================================== */

.cookie-notice {
    position: fixed;
    bottom: 24px;
    left: 24px;
    transform: translateY(100%) scale(0.9);
    background: var(--color-white);
    border-radius: 12px;
    box-shadow: 0px 8px 32px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-width: 480px;
    width: 90%;
}
.cookie-notice--visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.cookie-notice__content {
    position: relative;
    padding: 24px;
}
.cookie-notice__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 24px;
    height: 24px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--color-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.cookie-notice__close:hover {
    background: var(--color-gray-100);
    color: var(--color-gray-600);
}
.cookie-notice__header {
    margin-bottom: 12px;
}
.cookie-notice__title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 18px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0;
}
.cookie-notice__text {
    margin-bottom: 20px;
}
.cookie-notice__text p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-gray-700);
    margin: 0;
}
.cookie-notice__link {
    color: var(--color-gray-500);
    text-decoration: underline;
    transition: color 0.2s ease;
}
.cookie-notice__link:hover {
    color: var(--color-gray-700);
}
.cookie-notice__buttons {
    display: flex;
    gap: 12px;
}
.cookie-notice__btn {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.5;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}
.cookie-notice__btn--accept {
    background: var(--color-primary);
    color: var(--color-white);
}
.cookie-notice__btn--accept:hover {
    background: var(--color-primary-hover);
}
.cookie-notice__btn--decline {
    background: var(--color-white);
    color: var(--color-gray-700);
    border: 1px solid var(--color-gray-300);
}
.cookie-notice__btn--decline:hover {
    background: var(--color-gray-50);
    border-color: var(--color-gray-400);
}
@media (max-width: 768px) {
    .cookie-notice {
        bottom: 16px;
        left: 16px;
        right: 16px;
        width: auto;
        max-width: none;
    }
    .cookie-notice__content {
        padding: 20px;
    }
    .cookie-notice__buttons {
        flex-direction: column;
    }
    .cookie-notice__btn {
        width: 100%;
    }
}

/* ==========================================================================
   MOBILE MENU OVERLAY
   ========================================================================== */

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    cursor: pointer;
}
.mobile-menu-overlay--visible {
    opacity: 1;
    visibility: visible;
}
.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 80%;
    height: 100vh;
    overflow-y: auto;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    padding: 24px;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
    pointer-events: auto;
}
.mobile-menu-overlay--visible .mobile-menu {
    transform: translateX(0);
}
.mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}
.mobile-menu__logo-img {
    width: auto;
    height: auto;
}
.mobile-menu__close {
    width: 40px;
    height: 40px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-900);
    border-radius: 8px;
    transition: background-color 0.2s ease;
}
.mobile-menu__close:hover {
    background: var(--color-gray-100);
}
.mobile-menu__nav {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.mobile-menu__link {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 18px;
    color: var(--color-gray-900);
    text-decoration: none;
    padding: 12px 0;
    transition: color 0.2s ease;
    border-bottom: 1px solid transparent;
}
.mobile-menu__link:hover {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}
.mobile-menu__footer {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.mobile-menu__cta {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font16);
    color: var(--color-white);
    background: var(--color-primary);
    border: none;
    border-radius: 12px;
    padding: 16px 24px;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    text-align: center;
}
.mobile-menu__cta:hover {
    background: var(--color-primary-hover);
    transform: translateY(-2px);
}
.mobile-menu__contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mobile-menu__phone {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: 18px;
    color: var(--color-gray-900);
    text-decoration: none;
    transition: color 0.2s ease;
}
.mobile-menu__phone:hover {
    color: var(--color-primary);
}
.mobile-menu__social {
    display: flex;
    gap: 12px;
}
.mobile-menu__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.mobile-menu__social-icon {
    width: 32px;
    height: 32px;
}
.mobile-menu__social-link:hover {
    transform: scale(1.1);
}

/* === MOBILE MENU ACCORDION === */
.mobile-menu__accordion {
    border-bottom: 1px solid transparent;
}
.mobile-menu__accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}
.mobile-menu__accordion-trigger span {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 18px;
    color: var(--color-gray-900);
}
.mobile-menu__accordion-arrow {
    transition: transform 0.3s ease;
    flex-shrink: 0;
    color: #9CA3AF;
}
.mobile-menu__accordion-trigger.active .mobile-menu__accordion-arrow {
    transform: rotate(180deg);
    color: var(--color-primary);
}
.mobile-menu__accordion-content {
    display: none;
    padding-left: 8px;
    padding-bottom: 4px;
}

/* Вложенные элементы 1-го уровня */
.mobile-menu__link--sub {
    display: block;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 16px;
    color: #4B5563;
    text-decoration: none;
    padding: 9px 12px;
    border-radius: 10px;
    transition: background-color 0.2s, color 0.2s;
}
.mobile-menu__link--sub:hover,
.mobile-menu__link--sub:active {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}

/* Разделитель */
.mobile-menu__divider {
    height: 1px;
    background: #E5E7EB;
    margin: 8px 4px;
}

/* Вложенный аккордеон (ниши) */
.mobile-menu__accordion--nested {
    margin-left: 0;
}
.mobile-menu__accordion--nested .mobile-menu__accordion-trigger {
    padding: 9px 12px;
    border-radius: 10px;
    transition: background-color 0.2s;
}
.mobile-menu__accordion--nested .mobile-menu__accordion-trigger:active {
    background: #F3F4F6;
}
.mobile-menu__accordion--nested .mobile-menu__accordion-trigger span {
    font-size: 16px;
    font-weight: 500;
    color: #4B5563;
}
.mobile-menu__accordion--nested .mobile-menu__accordion-content {
    padding-left: 12px;
}

/* Вложенные элементы 2-го уровня */
.mobile-menu__link--sub2 {
    display: block;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 14px;
    color: #6B7280;
    text-decoration: none;
    padding: 7px 12px;
    border-radius: 8px;
    transition: background-color 0.2s, color 0.2s;
}
.mobile-menu__link--sub2:hover,
.mobile-menu__link--sub2:active {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}

/* Вложенный 3-й уровень (deep accordion) */
.mobile-menu__accordion--deep {
    margin-left: 0;
}
.mobile-menu__accordion--deep .mobile-menu__accordion-trigger {
    padding: 7px 12px;
    border-radius: 8px;
}
.mobile-menu__accordion--deep .mobile-menu__accordion-trigger span {
    font-size: 14px;
    font-weight: 400;
    color: #6B7280;
}
.mobile-menu__accordion--deep .mobile-menu__accordion-trigger:hover span,
.mobile-menu__accordion--deep .mobile-menu__accordion-trigger.active span {
    color: var(--color-primary);
}
.mobile-menu__accordion--deep .mobile-menu__accordion-content {
    padding-left: 12px;
}

/* Вложенные элементы 3-го уровня */
.mobile-menu__link--sub3 {
    display: block;
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 13px;
    color: #9CA3AF;
    text-decoration: none;
    padding: 5px 12px;
    border-radius: 8px;
    transition: background-color 0.2s, color 0.2s;
}
.mobile-menu__link--sub3:hover,
.mobile-menu__link--sub3:active {
    background: #EFF3FF;
    color: var(--color-primary);
    text-decoration: none;
}

/* Ссылка «Все услуги» */
.mobile-menu__link--all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 14px;
    color: var(--color-primary);
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 8px;
    margin-top: 4px;
    transition: background-color 0.2s;
}
.mobile-menu__link--all:hover {
    background: #EFF3FF;
    text-decoration: none;
}

@media (max-width: 576px) {
    .mobile-menu {
        width: 85%;
        padding: 20px;
        transform: translateX(100%);
    }
    .mobile-menu__link {
        font-size: var(--font16);
        padding: 10px 0;
    }
    .mobile-menu__cta {
        font-size: 14px;
        padding: 14px 20px;
    }
    .mobile-menu__phone {
        font-size: 18px;
    }
    .mobile-menu__social-icon {
        width: 32px;
        height: 32px;
    }
}

/* ==========================================================================
   PRICING SECTION
   ========================================================================== */

.pricing {
    background: var(--color-white);
}
.pricing__content {
    text-align: center;
}
.pricing__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 1.07;
    color: var(--Text);
    margin-bottom: 40px;
    letter-spacing: -0.6px;
    text-align: left;
}
.pricing__cards {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}
.pricing__card {
    flex: 0 1 calc(33.333% - 14px);
    min-width: 280px;
    max-width: 100%;
    background: var(--color-white);
    border-radius: 30px;
    padding: 25px 20px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}
.pricing__card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 20px 25px rgba(0, 0, 0, 0.1);
}
.pricing__card--optimal {
    border-color: #FFE38F;
}
.pricing__card--has-badge {
    padding-top: 64px;
}
.pricing__card-badge {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 14px 20px;
    background: linear-gradient(135deg, #059669, #178017);
    color: #FFFFFF;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    z-index: 2;
}
.pricing__card-header {
    text-align: left;
}
.pricing__card-title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1.55;
    color: var(--Text);
    margin-bottom: 0;
}
.pricing__card--optimal .pricing__card-title {
    color: #178017;
}
.pricing__card-price {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.55;
    color: var(--Text);
    margin: 0;
}
.pricing__card-illustration {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}
.pricing__card-illustration img {
    width: 100%;
    height: auto;
    display: block;
}
.pricing__illustration-bg {
    width: 100%;
    height: 100%;
    background: #F4F3F8;
    border-radius: 20.7px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.pricing__illustration-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Иллюстрация для минимального тарифа */

.pricing__illustration-minimal {
    position: relative;
    width: 200px;
    height: 173px;
}
.pricing__chat-rows {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.pricing__chat-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pricing__chat-avatar {
    width: 38px;
    height: 38px;
    background: #D1FAE5;
    border-radius: 50%;
    flex-shrink: 0;
}
.pricing__chat-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.pricing__chat-line {
    height: 5px;
    background: #D1FAE5;
    border-radius: 10px;
}
.pricing__chat-line:first-child {
    width: 81px;
}
.pricing__chat-line:last-child {
    width: 65px;
}
.pricing__notification-dot {
    position: absolute;
    top: 0;
    right: 0;
    width: 15px;
    height: 15px;
    background: #6F95FE;
    border-radius: 50%;
}

/* Иллюстрация для оптимального тарифа */

.pricing__illustration-optimal {
    position: relative;
    width: 265px;
    height: 176px;
}
.pricing__ads-layout {
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    border-radius: 8px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pricing__ads-header {
    background: #68E1FD;
    color: #FFFFFF;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}
.pricing__ads-content {
    display: flex;
    gap: 10px;
    flex: 1;
}
.pricing__ads-section {
    flex: 1;
    background: #BACDFF;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: bold;
}
.pricing__lightning-icon {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: var(--font16);
    color: #FFD700;
}
.pricing__square-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    color: #FFD700;
}

/* Иллюстрация для крупного бизнеса */

.pricing__illustration-business {
    position: relative;
    width: 267px;
    height: 210px;
}
.pricing__laptop-screen {
    width: 100%;
    height: 150px;
    background: #FFFFFF;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pricing__search-bar {
    width: 100%;
    height: 40px;
    background: #F4F3F8;
    border-radius: 20px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    gap: 10px;
}
.pricing__magnifier {
    font-size: var(--font16);
    color: #666;
}
.pricing__search-input {
    flex: 1;
    height: 20px;
    background: #E0E0E0;
    border-radius: 10px;
}
.pricing__yandex-icon {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    background: #FF0000;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
}
.pricing__growth-arrow {
    position: absolute;
    top: 60px;
    right: 20px;
    font-size: 24px;
    color: #178017;
    transform: rotate(45deg);
}
.pricing__card-description {
    text-align: left;
    margin-bottom: 15px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.pricing__card-description p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.24;
    color: #797A7F;
    margin: 0;
}
.pricing__card-description ul {
    padding: 0;
    margin: 0;
    display: grid;
    gap: 15px;
}
.pricing__card-description li {
    display: block;
    font-size: var(--font16);
    font-weight: 500;
    color: #1F272A;
}
.pricing__card-features {
    text-align: left;
    margin-bottom: 8px;
}
.pricing__features-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pricing__features-list li {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.24;
    color: var(--Text);
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.pricing__features-list li:nth-child(1n+2) {
    margin-top: 10px;
}
.pricing__card-note {
    display: flex;
    align-items: center;
    gap: 8px;
    text-align: left;
}
.pricing__note-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pricing__lightbulb-icon {
    font-size: var(--font16);
}
.pricing__card-note span {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.24;
    color: var(--Text);
}
.pricing__card-action {
    margin-top: auto;
    display: flex;
    justify-content: flex-start;
}
.pricing__btn {
    background: #059669;
    color: var(--color-white);
    border: none;
    border-radius: 50px;
    padding: 18px 32px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 1.5;
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 4px 14px rgba(5, 150, 105, 0.3);
}
.pricing__btn:hover {
    background: #047857;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(5, 150, 105, 0.4);
}

/* Responsive styles */

@media (max-width: 1024px) {
    .pricing__cards {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .pricing__card {}
    .pricing__btn {
        width: 100%;
        max-width: 280px;
    }
}
@media (max-width: 768px) {
    .pricing {}
    .pricing__title {
        margin-bottom: 30px;
    }
    .pricing__cards {
        grid-template-columns: repeat(1, 1fr);
    }
    .pricing__card {}
    .pricing__btn {
        width: 100%;
        max-width: 100%;
    }
}
@media (max-width: 576px) {
    .pricing {}
    .pricing__card {
        padding: 20px 15px;
        gap: 15px;
    }
    .pricing__btn {
        padding: 16px 12px;
    }
}

/* === MOBILE FIX FOR REVIEWS (≤576px) === */


/* === MOBILE POLISH REVIEWS RATING (≤576px) === */

@media (max-width: 576px) {
    .reviews__rating-summary {
        max-width: 100% !important;
        padding: 16px !important;
        border: 0px solid #e5e7eb !important;
        border-radius: 8px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    .reviews__rating-left {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        width: 100% !important;
    }
    .reviews__rating-main {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
        width: 100%;
    }
    .reviews__rating-score {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .reviews__rating-number {
        font-size: 32px !important;
        font-weight: 700 !important;
        color: #1f2937 !important;
    }
    .reviews__rating-stars {
        margin-bottom: 4px !important;
    }
    .reviews__rating-score {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .reviews__rating-number {
        font-size: 2.6rem !important;
        font-weight: 700 !important;
        color: #1f2937 !important;
    }
    .reviews__rating-stars {
        margin-bottom: 4px !important;
    }
    .reviews__rating-count {
        font-size: 14px !important;
        color: #9ca3af !important;
        white-space: nowrap !important;
    }
    /* Прогресс бары в три колонки для мобильной версии */
    .reviews__rating-details {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .reviews__rating-labels {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        min-width: 60px !important;
    }
    .reviews__rating-bars {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        flex: 1 !important;
        width: 40vw !important;
    }
    .reviews__rating-numbers {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        min-width: 30px !important;
        text-align: right !important;
    }
    .reviews__rating-right {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 16px !important;
    }
    .reviews__rating-text {
        text-align: center !important;
        font-size: 14px !important;
        color: #6b7280 !important;
        margin-bottom: 0 !important;
    }
    .reviews__rating-btn {
        width: 100% !important;
        max-width: 260px !important;
        margin: 0 auto !important;
        display: block !important;
    }
    /* Review card mobile styles */
    .reviews__list .review-card {
        width: 100% !important;
        padding: 16px !important;
        gap: 12px !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
    }
    .reviews__list .review-card__avatar {
        width: 48px !important;
        height: 48px !important;
    }
    .reviews__list .review-card__name {
        font-size: 16px !important;
    }
    .reviews__list .review-card__tag {
        font-size: 14px !important;
    }
    /* Мобильная структура карточки отзыва */
    .reviews__list .review-card__header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .reviews__list .review-card__info {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
    .reviews__list .review-card__tag {
        order: -1 !important;
    }
    .reviews__list .review-card__tag-img {
        width: 14px !important;
        height: 14px !important;
    }
    .reviews__list .review-card__star {
        width: 18px !important;
        height: 18px !important;
    }
    .reviews__list .review-card__text {
        font-size: 14px !important;
    }
    .reviews__list .review-card__date {
        font-size: 14px !important;
    }
    /* Pagination mobile styles */
    .reviews__pagination {
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 32px !important;
        justify-content: center !important;
    }
    .reviews__pagination-btn {
        width: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
        border: 1px solid #e5e7eb !important;
        background: white !important;
        border-radius: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #6b7280 !important;
        transition: color 0.2s, background-color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s !important;
    }
    .reviews__pagination-btn--active {
        border-color: #1976d2 !important;
        color: #1976d2 !important;
    }
    .reviews__pagination-btn--arrow {
        color: #6b7280 !important;
    }
    .reviews__show-more {
        margin-top: 16px !important;
        text-align: center !important;
    }
    .reviews__pagination-btn {
        width: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}
.hero-small__wrapper {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 450px;
    min-height: 450px;
}

/* Cases Filter Styles */

.cases-filter {
    padding: 40px 0;
    background: #fff;
}
.cases-filter__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}
.cases-filter__btn {
    padding: 18px 25px;
    border: none;
    background: #fff;
    border-radius: 50px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.5;
    color: var(--color-gray-900);
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    white-space: nowrap;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.04);
}
.cases-filter__btn:hover {
    box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.06);
}
.cases-filter__btn--active {
    background: #D1FAE5;
    color: #059669;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.04);
}
.cases-filter__btn--active:hover {
    background: #D1FAE5;
    color: #059669;
}

/* Cases Page Styles */

.cases-page {
    padding: 60px 0;
    background: #fff;
}
.cases-page__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 60px;
}
.cases-page__grid .case-page-card {
    display: block !important;
}

/* Стили для карточек на странице кейсов */

.case-page-card {
    width: 100%;
    background: var(--color-white);
    border-radius: 30px;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.04);
    overflow: hidden;
    flex-shrink: 0;
}

/* Убираем ховер эффект */

.case-page-card .case-card__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    height: auto;
    min-height: 395px;
}
.case-page-card .case-card__text {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 532px;
    height: 100%;
    justify-content: space-between;
}
.case-page-card .case-card__content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
    flex: 1;
}
.case-page-card .case-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.13;
    color: var(--color-gray-900);
    margin: 0;
}
.case-page-card .case-card__subtitle {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 8px;
    line-height: 1.5;
}
.case-page-card .case-card__stats {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.case-page-card .case-card__stat {
    display: flex;
    align-items: center;
    gap: 20px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: #4B4E55;
}
.case-page-card .case-card__metrics {
    color: #178017;
}
.case-page-card .case-card__metric {}
.case-page-card .case-card__link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    line-height: 2;
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-normal);
    width: fit-content;
    margin-top: auto;
}

/* Убираем ховер эффект у ссылки */

.case-page-card .case-card__image {
    position: relative;
    overflow: hidden;
}
.case-page-card .case-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Графические элементы для 4-й и 5-й карточек */

.case-page-card .case-card__image--graphic {
    background: #F4F3F8;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.case-page-card .case-card__graphic {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.case-page-card .case-card__graphic-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #059669 0%, #F4F3F8 100%);
    opacity: 0.1;
}
.case-page-card .case-card__graphic-arrow {
    position: absolute;
    width: 200px;
    height: 200px;
    background: #FFFFFF;
    clip-path: polygon(0% 50%, 50% 0%, 100% 50%, 50% 100%);
    transform: rotate(45deg);
    opacity: 0.8;
}
.case-page-card .case-card__graphic-label {
    position: absolute;
    bottom: 60px;
    right: 60px;
    background: #059669;
    color: #FFFFFF;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
}
.case-page-card .case-card__graphic-label--gray {
    background: #F4F3F8;
    color: #1F272A;
}
.cases-page__pagination {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 24px;
}
.cases-page__pagination .reviews__pagination {
    display: flex !important;
}
.cases-page__show-more {
    margin-top: 0;
}

/* Стили для кнопки "Показать больше" в пагинации */

.pagination-show-more-btn {
    padding: 6px 24px;
    border-radius: 8px;
    font-family: var(--font-family-primary);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #059669;
    color: #059669;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.pagination-show-more-btn:hover {
    background: #059669;
    color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* Case Card Subtitle */

.case-card__subtitle {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 16px;
    line-height: 1.5;
}

/* Mobile Styles */

@media (max-width: 768px) {
    .cases-filter {
        padding: 24px 0;
    }
    .cases-filter__wrapper {
        gap: 8px;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 8px;
    }
    .cases-filter__btn {
        padding: 8px 16px;
        font-size: 13px;
        flex-shrink: 0;
    }
    .cases-page {
        padding: 40px 0;
    }
    .cases-page__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 40px;
    }
    .case-page-card {
        margin-bottom: 0;
    }
    .case-page-card .case-card__content {
        flex-direction: column;
    }
    .case-page-card .case-card__text {
        order: 1;
        padding: 20px;
        gap: 16px;
    }
    .case-page-card .case-card__image {
        order: 0;
        margin-bottom: 0px;
    }
    .case-page-card .case-card__title {
        font-size: 18px;
        line-height: 1.4;
    }
    .case-page-card .case-card__subtitle {
        font-size: 13px;
        margin-bottom: 6px;
    }
    .case-page-card .case-card__metrics {
        flex-direction: column;
        gap: 8px;
    }
    .case-page-card .case-card__metric {
        font-size: 14px;
    }
}
@media (max-width: 576px) {
    .cases-filter__wrapper {
        padding: 0 16px 8px;
    }
    .cases-filter__btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    .cases-page__grid {
        gap: 20px;
    }
    .case-page-card .case-card__title {
        font-size: var(--font16);
    }
    .case-page-card .case-card__stat {
        font-size: 13px;
    }
}

/* ==========================================================================
   WHY CHOOSE US STYLES
   ========================================================================== */

.why-choose-us {
    background: #fff;
}
.why-choose-us__title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 0.76;
    text-align: center;
    color: var(--color-gray-900);
    margin-bottom: 60px;
}
.why-choose-us__visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.why-choose-us__center-piece {
    position: relative;
    width: 369px;
    height: 369px;
}
.why-choose-us__logo {
    position: absolute;
    top: 22.81px;
    right: 22.81px;
    width: 160px;
    height: 60px;
    background: var(--color-primary);
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
.why-choose-us__logo-text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: 18px;
    line-height: 1.21;
    color: #fff;
}
.why-choose-us__logo-triangle {
    position: absolute;
    top: 0;
    left: 0;
    width: 34px;
    height: 36px;
}
.why-choose-us__toggle {
    position: absolute;
    width: 119px;
    height: 119px;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0px 7.42px 20.78px rgba(0, 0, 0, 0.03);
    backdrop-filter: blur(47px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}
.why-choose-us__toggle--northwest {
    top: 0;
    left: 125px;
}
.why-choose-us__toggle--northeast {
    top: 249px;
    right: 125px;
}
.why-choose-us__toggle--southwest {
    bottom: 125px;
    left: 0;
}
.why-choose-us__toggle--southeast {
    bottom: 125px;
    right: 0;
}
.why-choose-us__toggle-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0px 7.42px 20.78px rgba(0, 0, 0, 0.03);
}
.why-choose-us__toggle-icon {
    position: relative;
    width: 49px;
    height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.why-choose-us__icon {
    width: 41px;
    height: 41px;
}
.why-choose-us__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95px;
    height: 95px;
    z-index: 1;
}
.why-choose-us__glow-frame {
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 125px;
    box-shadow: 0px 47.49px 35.62px -23.75px rgba(0, 0, 0, 0.4), inset 0px 0px 11.87px rgba(248, 248, 248, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}
.why-choose-us__indicator-dots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    width: 24px;
    height: 24px;
}
.why-choose-us__dot {
    width: 6px;
    height: 6px;
    background: var(--color-primary);
    border-radius: 50%;
}
.why-choose-us__lines {
    position: absolute;
}
.why-choose-us__lines--top {
    top: 78px;
    left: 24px;
    width: 150px;
    height: 57px;
}
.why-choose-us__lines--bottom {
    bottom: 389px;
    right: 423px;
    width: 91px;
    height: 31px;
}
.why-choose-us__line {
    height: 6px;
    background: #F4F3F8;
    margin-bottom: 17px;
    border-radius: 3px;
}
.why-choose-us__line:last-child {
    margin-bottom: 0;
}
.why-choose-us__content {
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.why-choose-us__item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #D1FAE5;
}
.why-choose-us__item:last-child {
    border-bottom: none;
}
.why-choose-us__icon-box {
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 7.42px 20.777px 0 rgba(0, 0, 0, 0.03), 0 7.42px 20.777px 0 rgba(0, 0, 0, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.why-choose-us__item-icon {
    width: 36px;
    height: 36px;
}
.why-choose-us__text {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.why-choose-us__item-title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1.45;
    color: var(--color-gray-900);
    margin: 0;
    width: auto;
    text-align: left;
}
.why-choose-us__item-description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.6;
    color: #4B4E55;
    margin: 0;
    text-align: left;
}

/* Mobile Styles */

@media (max-width: 1024px) {
    .why-choose-us__visual img {
        max-width: 100%;
        height: auto;
    }
}
@media (max-width: 768px) {
    .why-choose-us__title {
        margin-bottom: 40px;
    }
    .why-choose-us__visual {
        margin-bottom: 40px;
        text-align: center;
    }
    .why-choose-us__visual img {
        max-width: 80%;
        height: auto;
    }
    .why-choose-us__content {
        gap: 20px;
    }
    .why-choose-us__item {
        gap: 15px;
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        border-bottom: 1px solid #D1FAE5;
        background: none;
        border-radius: 0;
        box-shadow: none;
    }
    .why-choose-us__item:last-child {
        border-bottom: none;
    }
    .why-choose-us__text {
        text-align: left;
        gap: 15px;
    }
    .why-choose-us__text {
        text-align: left;
        gap: 15px;
    }
    .why-choose-us__icon-box {
        width: 60px;
        height: 60px;
    }
    .why-choose-us__item-icon {
        width: 30px;
        height: 30px;
    }
    .why-choose-us__item-title {
        width: auto;
    }
}
@media (max-width: 576px) {
    .why-choose-us__title {
        margin-bottom: 30px;
    }
    .why-choose-us__visual {
        margin-bottom: 30px;
    }
    .why-choose-us__visual img {
        max-width: 100%;
        height: auto;
    }
    .why-choose-us__content {
        gap: 15px;
    }
    .why-choose-us__item {
        gap: 12px;
        padding: 15px;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        border-bottom: 1px solid #D1FAE5;
        background: none;
        border-radius: 0;
        box-shadow: none;
    }
    .why-choose-us__item:last-child {
        border-bottom: none;
    }
    .why-choose-us__text {
        text-align: left;
        gap: 10px;
    }
    .why-choose-us__text {
        text-align: left;
        gap: 10px;
    }
    .why-choose-us__icon-box {
        width: 60px;
        height: 60px;
    }
    .why-choose-us__item-icon {
        width: 35px;
        height: 35px;
    }
    .why-choose-us__item-title {}
    .why-choose-us__item-description {}
    .why-choose-us__text {
        gap: 10px;
    }
}

/* ==========================================================================
   BLOG STYLES
   ========================================================================== */


/* Blog Filter - используем стили кейсов */

.blog-filter {
    padding: 40px 0;
    background: #fff;
}
.blog-filter__sort-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 0 16px;
}
.blog-filter__sort-label {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    color: #6b7280;
}
.blog-filter__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}
.blog-filter__btn {
    padding: 18px 25px;
    background: #fff;
    border: none;
    border-radius: 50px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    color: var(--color-gray-900);
    cursor: pointer;
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.blog-filter__btn:hover {
    background: var(--color-primary-light);
    color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0px 16px 24px rgba(0, 0, 0, 0.08);
}
.blog-filter__btn--active {
    background: var(--color-primary-light);
    color: var(--color-primary);
}
.blog-filter__btn--active:hover {
    background: var(--color-primary);
    color: #fff;
}

/* Blog Page - используем стили кейсов */

.blog-page {
    padding: 60px 0;
    background: #fff;
}
.blog-page__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 60px;
}
.blog-page__grid .blog-page-card {
    margin-bottom: 0;
}
.blog-page-card {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    transition: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal), opacity var(--transition-normal);
    margin-bottom: 40px;
}
.blog-page-card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 20px 32px rgba(0, 0, 0, 0.08);
}

/* Стили для даты в блоге */

.blog-card__date {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: 14px;
    color: #4B4E55;
    line-height: 1.86;
    margin-bottom: 10px;
}

/* Стили для отрывка в блоге */

.blog-card__excerpt {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.625;
    color: #4B4E55;
    margin: 0;
}

/* Стили для графических элементов в блоге - используем стили кейсов */

.blog-page-card .case-card__image--graphic {
    background: linear-gradient(135deg, #059669 0%, #F4F3F8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.blog-page-card .case-card__graphic {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.blog-page-card .case-card__graphic-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #F4F3F8;
    border-radius: 8px;
    margin: 24px;
}
.blog-page-card .case-card__graphic-arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: var(--color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.blog-page-card .case-card__graphic-label {
    position: absolute;
    bottom: 60px;
    right: 60px;
    background: var(--color-primary);
    color: #fff;
    padding: 18px 37px;
    border-radius: 34px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: 18px;
    line-height: 1.21;
}
.blog-page__pagination {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}
.blog-page__pagination .reviews__pagination {
    margin: 0;
}

/* Mobile Styles - используем стили кейсов */

@media (max-width: 768px) {
    .blog-filter {
        padding: 24px 0;
    }
    .blog-filter__sort-header {
        display: flex;
    }
    .blog-filter__wrapper {
        gap: 8px;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 8px;
    }
    .blog-filter__btn {
        padding: 8px 16px;
        font-size: 13px;
        flex-shrink: 0;
    }
    .blog-page {
        padding: 40px 0;
    }
    .blog-page__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 40px;
    }
    .blog-page-card {
        margin-bottom: 0;
    }
    .blog-page-card .case-card__content {
        flex-direction: column;
    }
    .blog-page-card .case-card__text {
        order: 1;
        padding: 20px;
        gap: 16px;
    }
    .blog-page-card .case-card__image {
        order: 0;
        margin-bottom: 0px;
    }
    .blog-page-card .case-card__title {
        font-size: 18px;
        line-height: 1.4;
    }
    .blog-card__excerpt {
        font-size: 14px;
    }
}
@media (max-width: 576px) {
    .blog-filter__wrapper {
        padding: 0 16px 8px;
    }
    .blog-filter__btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    .blog-page__grid {
        gap: 20px;
    }
    .blog-page-card .case-card__title {
        font-size: var(--font16);
    }
    .blog-card__excerpt {
        font-size: 13px;
    }
}

/* ==========================================================================
   CASE PAGE STYLES
   ========================================================================== */


/* Case Hero */

.case-hero {
    position: relative;
    padding: 120px 0 0;
    overflow: hidden;
}
.case-hero__breadcrumbs {
    margin-bottom: 80px;
}
.case-hero__breadcrumbs .container {
    max-width: 1062px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}
.breadcrumbs--right {
    display: flex;
    justify-content: flex-start;
}
.breadcrumbs--right .breadcrumbs__list {
    justify-content: flex-start;
}
.case-hero__wrapper {
    position: relative;
    z-index: 2;
}
.case-hero__content {
    max-width: 1062px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.case-hero__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 68px;
    line-height: 90%;
    color: var(--color-gray-900);
    margin-bottom: 40px;
}
.case-hero__subtitle {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 16px;
    line-height: 1.6;
    color: #1F272A;
    margin-bottom: 40px;
    max-width: 918px;
    margin-left: auto;
    margin-right: auto;
}
.case-hero__image {
    margin-bottom: 40px;
    position: relative;
    display: inline-block;
}
.case-hero__frame {}
.case-hero__img {
    width: 570px;
    max-width: 100%;
    height: auto;
    border-radius: 30px;
    border: 5px solid #F6F6F3;
    box-shadow: none;
    display: block;
}
.case-hero__badge {
    position: absolute;
    top: 203px;
    left: calc(100% - 25px);
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 25px;
    background: url('../images/badge-bg.png') center center no-repeat;
    background-size: cover;
    border-radius: 9999px;
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    overflow: visible;
    z-index: 10;
}
.case-hero__badge-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50px;
    z-index: -1;
    opacity: 0.8;
}
.case-hero__badge-text {
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
    color: #1F2A32;
}
.case-hero__badge-icon {
    position: absolute;
    left: -30px;
    top: 14%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25));
    pointer-events: none;
}

/* Case Content */

.case-section__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 0.81;
    color: var(--color-gray-900);
    margin-bottom: 40px;
}
.case-section__text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin-bottom: 40px;
    max-width: 918px;
}
.case-section__list ul {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}
.case-section__list li {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 2.6;
    color: var(--color-gray-900);
    margin-bottom: 8px;
    list-style-position: outside;
}
.case-section__list--check ul {
    list-style: none;
    padding-left: 0;
}
.case-section__list--check li {
    line-height: 2.66;
    position: relative;
    padding-left: 20px;
}
.case-section__list--check li::before {
    content: '✅';
    position: absolute;
    left: -5px;
    top: 0;
}
.case-section__images {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}
.case-section__images--four {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.case-section__image-card {
    flex: 1;
    background: #F4F3F8;
    border-radius: 22px;
    padding: 24px 13px 0 13px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 345px;
}
.case-section__img {
    max-width: 100%;
    height: auto;
    border-radius: 0;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    object-fit: cover;
    max-width: 100%;
    border-bottom-width: 0;
    border-radius: 30px 30px 0 0;
}
.case-section__header {
    margin-bottom: 40px;
}
.case-section__tag {
    display: inline-block;
    padding: 8px 16px;
    background: #FFFFFF;
    border: 1px solid #D1FAE5;
    border-radius: 20px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-gray-900);
    margin-bottom: 20px;
}
.case-section__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
    position: relative;
}
.case-section__columns::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #D1FAE5;
}
.case-section__column {
    padding: 20px 0;
}
.case-section__column-title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 20px;
}
.case-section__column-title--problem {
    color: #FD3D17;
}
.case-section__column-title--solution {
    color: #178017;
}
.case-section__column-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.case-section__column-list li {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 2.66;
    color: var(--color-gray-900);
    margin-bottom: 12px;
    padding-left: 0;
}
.case-section__column-list li:last-child {
    margin-bottom: 0;
}

/* Case Text */

.case-text {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}
.case-text__paragraph {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font18);
    line-height: 1.6;
    color: #1F272A;
    margin-bottom: 30px;
}
.case-text__highlight {
    gap: 10px;
    padding: 14px 20px;
    background: #EBF3FF;
    border-radius: 50px;
    margin-bottom: 30px;
}
.case-text__highlight-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
}
.case-text__icon {
    width: 26px;
    height: 27px;
}
.case-text__highlight-content {
    flex: 1;
}
.case-text__highlight-text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    font-weight: 500;
    line-height: 1.5;
    color: #0066CC;
    margin: 0;
}
.case-text__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    color: var(--color-primary);
    transition: opacity 0.3s ease;
    align-self: flex-start;
}
.case-text__more:hover {
    opacity: 0.8;
}
.case-text__more-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
    color: var(--color-primary);
}
.case-text__more:hover .case-text__more-icon {
    opacity: 0.8;
}
.case-text__more.active .case-text__more-icon {
    transform: rotate(180deg);
    transition: transform 0.3s ease-in-out;
}
.case-text__more-icon {
    transition: transform 0.3s ease-in-out;
}

/* Expandable text */

.case-text__expand {
    margin-top: 16px;
    color: var(--color-gray-900);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    opacity: 0;
}
.case-text__expand.active {
    max-height: 500px;
    opacity: 1;
}

/* Keep more button at the bottom while expanding */

.case-text__expand + .case-text__more,
.case-text__more + .case-text__expand {
    order: 2;
}
.case-text__more {
    order: 3;
}

/* Case Charts */

.case-charts {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.case-chart {
    display: flex;
    gap: 20px;
    align-items: stretch;
}
.case-chart__card {
    flex: 1;
    background: #FFFFFF;
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.case-chart__card--sales {
    background: #FFFFFF;
}
.case-chart__header {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.case-chart__header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
}
.case-chart__title {
    font-family: var(--font-family-primary);
    font-weight: 300;
    font-size: 14px;
    line-height: 1.43;
    color: var(--color-gray-900);
    margin: 0;
}
.case-chart__title--sales {
    color: #1F2A32;
}
.case-chart__subtitle {
    font-family: var(--font-family-urbanist);
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: var(--color-gray-900);
    margin: 0;
    width: 270px;
    height: 29px;
}
.case-chart__stats {
    display: flex;
    align-items: flex-end;
    gap: 5px;
}
.case-chart__stat-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.case-chart__icon {
    width: 20px;
    height: 12px;
}
.case-chart__stat-number {
    font-family: var(--font-family-urbanist);
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #1F2A32;
    width: 95px;
    height: 29px;
}
.case-chart__stat-badge {
    background: var(--color-primary);
    border-radius: 30px;
    padding: 5px 10px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
}
.case-chart__stat-badge span {
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.2;
    color: #FFFFFF;
}
.case-chart__growth {
    font-family: var(--font-family-primary);
    font-weight: 500;
    font-size: var(--font22);
    line-height: 1;
    color: #178017;
    margin: 0;
}
.case-chart__content {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1;
}
.case-chart__y-axis {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    height: 212px;
    width: fit-content;
}
.case-chart__y-axis span {
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.17;
    color: #4B4E55;
}
.case-chart__graph {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
}
.case-chart__grid {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
}
.case-chart__grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient( to bottom, transparent, transparent 23px, #F4F3F8 23px, #F4F3F8 24px);
}
.case-chart__line {
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    height: calc(100% - 48px);
}
.case-chart__bars {
    position: absolute;
    top: 29px;
    left: 52px;
    display: flex;
    align-items: flex-end;
    gap: 58px;
    height: calc(100% - 58px);
}
.case-chart__bar {
    width: 10px;
    background: #059669;
    border-radius: 5px;
    transition: height 0.3s ease;
}
.case-chart__bar--1 {
    height: 30px;
    background: #CEEF88;
}
.case-chart__bar--2 {
    height: 39px;
    background: #A5D3CE;
}
.case-chart__bar--3 {
    height: 19px;
    background: #549880;
}
.case-chart__bar--4 {
    height: 35px;
    background: #FF9568;
}
.case-chart__bar--5 {
    height: 89px;
    background: #F4F3F8;
}
.case-chart__bar--6 {
    height: 107px;
    background: #059669;
}
.case-chart__bar--7 {
    height: 129px;
    background: #059669;
}
.case-chart__x-axis {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 0 12px 0 44px;
}
.case-chart__x-axis span {
    font-family: var(--font-family-primary);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.17;
    color: #4B4E55;
    opacity: 0.5;
}
.case-chart__image {
    flex: 1;
    background: #F4F3F8;
    border-radius: 22px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 345px;
}
.case-chart__img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 1px 1px 25px rgba(0, 0, 0, 0.04);
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

/* Case Results */

.case-results {
    background: #F4F3F8;
    border-radius: 30px;
    padding: 40px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    margin: 0 auto 80px;
}
.case-results__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font28);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--color-gray-900);
    margin-bottom: 32px;
}
.case-results__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 40px;
}
.case-results__item {
    display: flex;
    align-items: center;
    gap: 16px;
}
.case-results__icon {
    width: 54px;
    height: 54px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.case-results__text {
    font-family: var(--font-family-primary);
    font-weight: 500;
    font-size: var(--font14);
    line-height: 1.4;
    color: var(--color-gray-900) !important;
}
.case-results__text p {
    margin: 0;
}
.case-results__text strong {
    font-weight: var(--font-weight-semibold);
    font-size: var(--font22);
    display: block;
    margin-top: 2px;
    color: var(--color-gray-900);
}

/* ── Case Charts ── */
.case-charts {
    margin-top: 0;
}
.case-charts__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.case-charts__grid--single {
    grid-template-columns: 1fr;
    max-width: 640px;
}
.case-charts__grid--three .case-charts__card:last-child {
    grid-column: 1 / -1;
    max-width: 640px;
}
.case-charts__card {
    background: #FFFFFF;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 24px 24px 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s ease;
}
.case-charts__card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.case-charts__card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 12px;
}
.case-charts__card-title {
    font-family: var(--font-family-primary);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin: 0;
}
.case-charts__annotation {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: rgba(52, 199, 89, 0.12);
    color: #34C759;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: nowrap;
}
.case-charts__canvas-wrap {
    position: relative;
    width: 100%;
    height: 300px;
}
.case-charts__canvas-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}

/* Responsive Design */

@media (max-width: 1024px) {
    .case-hero__title {
        font-size: 36px;
    }
    .case-section__title {
        font-size: 36px;
    }
    .case-results__title {
        font-size: 24px;
    }
    .case-chart {
        flex-direction: column;
    }
    .case-chart__image {
        min-height: 200px;
    }
}
@media (max-width: 768px) {
    .case-hero {
        padding: 100px 0 0;
    }
    .case-hero__title {
        font-size: 28px;
    }
    .case-hero__subtitle {
        font-size: var(--font16);
        font-weight: 500;
        line-height: 160%;
    }
    .case-hero__img {
        width: 100%;
        max-width: 570px;
    }
    .case-section__list li {
        line-height: 160%;
    }
    .case-section__title {
        line-height: 110%;
    }
    .case-section__title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    .case-section__images {
        flex-direction: column;
    }
    .case-section__images--four {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .case-section__image-card {
        min-height: 250px;
    }
    .case-text__paragraph {
        font-size: var(--font16);
    }
    .case-text__highlight {
        -ms-align-items: flex-start;
        align-items: flex-start;
        gap: 10px;
        border-radius: 20px;
    }
    .case-text__highlight-icon {
        align-self: flex-start;
    }
    .case-results {
        padding: 30px;
    }
    .case-results__title {
        font-size: 22px;
        margin-bottom: 24px;
    }
    .case-results__list {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .case-results__item {
        width: 100%;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 16px;
    }
    .case-results__text {
        font-size: var(--font13);
    }
    .case-results__text strong {
        font-size: var(--font18);
    }
    .case-charts__grid {
        grid-template-columns: 1fr;
    }
    .case-charts__card {
        padding: 16px 16px 12px;
    }
    .case-charts__canvas-wrap {
        height: 250px;
    }
}
@media (max-width: 576px) {
    .case-hero__title {
        font-size: 34px;
        line-height: 90%;
        font-weight: 800;
    }
    .case-hero__img {
        width: 100%;
    }
    .case-section__title {
        font-size: 24px;
    }
    .case-results__title {
        font-size: 20px;
    }
    .case-section__image-card {
        min-height: 200px;
        padding: 16px;
    }
    .case-chart__card {
        padding: 16px;
    }
    .case-chart__image {
        min-height: 150px;
        padding: 16px;
    }
    .case-results {
        padding: 20px 15px;
    }
    .case-results__item {
        gap: 14px;
    }
    .case-results__icon {
        width: 42px;
        height: 42px;
        flex-shrink: 0;
    }
    .case-results__text {
        font-size: var(--font12);
        font-weight: normal;
    }
    .case-results__text strong {
        font-size: var(--font16);
        font-weight: var(--font-weight-semibold);
    }
    .case-section__list--check li {
        line-height: 1.66;
        position: relative;
        padding-left: 20px;
    }
}

/* Blog Article Styles */

.blog-hero {
    position: relative;
    min-height: 1017px;
    background: #FFFFFF;
    overflow: hidden;
}
.blog-hero__bg {
    position: absolute;
    top: 0;
    width: 913.71px;
    height: 751.98px;
    opacity: 0.7;
    filter: blur(150px);
}
.blog-hero__bg--left {
    left: -709.67px;
    top: -45.61px;
    background: linear-gradient(135deg, #F4F3F8 0%, #E8E7F0 100%);
}
.blog-hero__bg--right {
    right: -1161.55px;
    top: -349.06px;
    width: 1161.55px;
    height: 1320.81px;
    background: linear-gradient(135deg, #F4F3F8 0%, #E8E7F0 100%);
}
.blog-hero__breadcrumbs {
    position: absolute;
    top: 119px;
    left: 85px;
    z-index: 10;
}
.blog-hero__wrapper {
    position: relative;
    z-index: 5;
    padding-top: 225px;
    padding-bottom: 80px;
}
.blog-hero__content {
    max-width: 1055px;
    margin: 0 auto;
    text-align: center;
}
.blog-hero__meta {
    margin-bottom: 20px;
}
.blog-hero__date {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 1.625;
    color: #4B4E55;
}
.blog-hero__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-black);
    font-size: 68px;
    line-height: 0.9;
    color: var(--color-gray-900);
    margin-bottom: 40px;
    max-width: 1052px;
    margin-left: auto;
    margin-right: auto;
}
.blog-hero__subtitle {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin-bottom: 40px;
    max-width: 1052px;
    margin-left: auto;
    margin-right: auto;
}
.blog-hero__tags {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}
.blog-hero__tag {
    display: inline-flex;
    align-items: center;
    padding: 18px 25px;
    background: #FFFFFF;
    border-radius: 50px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.714;
    color: var(--color-gray-900);
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.blog-hero__tag:hover {
    transform: translateY(-2px);
    box-shadow: 0px 16px 24px rgba(0, 0, 0, 0.08);
}
.blog-hero__image {
    margin-bottom: 40px;
}
.blog-hero__img {
    width: 570px;
    height: 360px;
    border-radius: 30px;
    border: 5px solid #F6F6F3;
    object-fit: cover;
}
.blog-hero__badge {
    position: absolute;
    right: 709px;
    top: 500px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #059669 0%, #F4F3F8 50%, #F4F3F8 100%);
    border-radius: 34px;
    padding: 18px 24px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
}
.blog-hero__badge-text {
    font-family: var(--font-family-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.21;
    color: var(--color-gray-900);
}
.blog-hero__badge-icon {
    width: 34px;
    height: 36px;
    color: var(--color-gray-900);
}

/* Article Content */

.article-content {
    padding: 80px 0;
    background: #FFFFFF;
}
.article-wrapper {
    margin: 0 auto;
}
.article-section {
    margin-bottom: 80px;
}
.article-section__header {
    margin-bottom: 30px;
}
.article-section__tag {
    display: inline-block;
    padding: 4px 16px;
    background: #FFFFFF;
    border: 1px solid var(--color-gray-900);
    border-radius: 100px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
    line-height: 1.571;
    color: var(--color-gray-900);
    margin-bottom: 20px;
}
.article-section__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font42);
    line-height: 0.905;
    color: var(--color-gray-900);
    margin: 0;
}
.article-section__intro {
    border-left: 1px solid #059669;
    padding-left: 15px;
    margin-bottom: 30px;
}
.article-section__intro p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin: 0;
    position: relative;
    padding-left: 30px;
}
.article-section__intro p::before {
    content: '📌';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    color: #FD3D17;
}
.article-section__quote {
    margin-bottom: 30px;
    text-align: right;
}
.article-section__quote p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-gray-900);
    margin-bottom: 10px;
}
.article-section__quote cite {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--font16);
    line-height: 2.6;
    color: #797A7F;
    font-style: normal;
}
.article-section__highlight {
    margin-bottom: 30px;
}
.article-section__text {
    margin-bottom: 0px;
}
.article-section__text h3 {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
    line-height: 1.3;
    color: var(--color-gray-900);
    margin-bottom: 20px;
}
.article-section__text p {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    margin-bottom: 20px;
}
.article-section__text ul {
    list-style: disc;
    padding-left: 20px;
    margin: 0 0 20px 0;
}
.article-section__text ul li {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 2.6;
    color: var(--color-gray-900);
    margin-bottom: 8px;
    list-style-position: outside;
}
.article-section__errors-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 20px 0;
}
.article-section__errors-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.6;
    color: var(--color-gray-900);
    list-style: none;
}
.article-section__errors-list li::before {
    content: '❌';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    color: #FD3D17;
}
.article-section__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    color: var(--color-primary);
    transition: opacity 0.3s ease;
}
.article-section__more:hover {
    opacity: 0.8;
}
.article-section__more-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
    color: var(--color-primary);
}
.article-section__more.active .article-section__more-icon {
    transform: rotate(180deg);
}
.article-section__expand {
    display: none;
    margin-top: 20px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font18);
    line-height: 1.8;
    color: #1F272A;
}
.article-section__expand.active {
    display: block;
    line-height: 160%;
}
.article-section__expand > *:last-child {
    margin-bottom: 0;
}

/* Article Image */

.article-section__image {
    margin-bottom: 30px;
    text-align: center;
}
.article-section__img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    object-fit: cover;
}

/* Article Columns */

.article-section__columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 30px;
}
.article-section__column {
    display: flex;
    flex-direction: column;
}
.article-section__column-title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 20px;
}
.article-section__column-title--problem {
    color: #FD3D17;
}
.article-section__column-title--solution {
    color: #178017;
}
.article-section__list {
    display: flex;
    flex-direction: column;
}
.article-section__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid #D1FAE5;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.5;
    color: var(--color-gray-900);
}
.article-section__item:last-child {
    border-bottom: none;
}
.article-section__icon {
    font-size: 18px;
    flex-shrink: 0;
}
.article-section__icon--problem {
    color: #FD3D17;
}
.article-section__icon--solution {
    color: #178017;
}
.article-section__text {
    flex: 1;
}
.article-section__icon {
    font-size: 18px;
    flex-shrink: 0;
}
.article-section__icon--problem {
    color: #FD3D17;
}
.article-section__icon--solution {
    color: #178017;
}
.article-section__text {
    flex: 1;
}
.article-section__icon {
    font-size: 18px;
    flex-shrink: 0;
}
.article-section__icon--problem {
    color: #FD3D17;
}
.article-section__icon--solution {
    color: #178017;
}
.article-section__text {
    flex: 1;
}

/* Article Cards */

.article-section__cards {
    margin-bottom: 30px;
}
.article-cards {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.article-card {
    background: #F4F3F8;
    border-radius: 15px;
    padding: 15px;
    position: relative;
}
.article-card__header {
    margin-bottom: 5px;
}
.article-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 18px;
    line-height: 1.6;
    color: var(--color-gray-900);
    margin: 0;
}
.article-card__text {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 2.66;
    color: var(--color-gray-900);
    margin: 0;
}
.article-card__number {
    position: absolute;
    top: -10px;
    right: 15px;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: 94px;
    line-height: 1.6;
    color: var(--color-gray-900);
    opacity: 0.1;
}

/* Case Card */

.article-section__case {
    margin-bottom: 30px;
}
.case-card {
    background: #FFFFFF;
    border-radius: 30px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    position: relative;
    height: 424px;
}
.case-card__image {}
.case-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.case-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font30);
    line-height: 1.133;
    color: var(--color-gray-900);
}
.case-card__metric {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-bottom: 20px;
}
.case-card__metric-icon {
    width: 12px;
    height: 8px;
    color: #178017;
}
.case-card__metric span {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 2;
    color: #4B4E55;
}
.case-card__results {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}
.case-card__result {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font22);
    line-height: 1;
    color: #178017;
}
.case-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 2;
    color: #059669;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.case-card__link:hover {
    opacity: 0.8;
}
.case-card__arrow {
    width: 32px;
    height: 32px;
}
.case-card__slider {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}
.case-card__dot {
    width: 10px;
    height: 10px;
    background: #F4F3F8;
    border-radius: 50%;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.case-card__dot--active {
    width: 16px;
    height: 16px;
    background: #999898;
}

/* Recommendations */

.article-section__recommendations {
    margin-bottom: 30px;
}
.recommendations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.recommendation-card {
    background: #FFFFFF;
    border-radius: 30px;
    padding: 20px;
    box-shadow: 0px 12px 16px rgba(0, 0, 0, 0.04);
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.recommendation-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 20px 32px rgba(0, 0, 0, 0.08);
}
.recommendation-card__image {
    margin-bottom: 20px;
    border-radius: 20px;
    overflow: hidden;
}
.recommendation-card__img {
    width: 100%;
    height: 202px;
    object-fit: cover;
    border-radius: 20px;
}
.recommendation-card__title {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font22);
    line-height: 1.182;
    color: var(--color-gray-900);
    margin-bottom: 20px;
}
.recommendation-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 2;
    color: #059669;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.recommendation-card__link:hover {
    opacity: 0.8;
}
.recommendation-card__arrow {
    width: 32px;
    height: 32px;
}

/* CTA Button */

.article-section__cta {
    text-align: left;
    margin-top: 40px;
}

/* Recommendations Section */

.article-section__recommendations {
    margin-bottom: 30px;
}
.recommendations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.recommendation-card {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}
.recommendation-card:hover {
    box-shadow: none;
}
.recommendation-card__image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}
.recommendation-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recommendation-card__title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: var(--font16);
    line-height: 1.4;
    color: var(--color-gray-900);
    margin: 20px 20px 15px 20px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.recommendation-card__link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 20px 20px 20px;
    text-decoration: none;
    color: var(--color-primary);
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    font-size: 14px;
}
.recommendation-card__arrow {
    width: 26px;
    height: 26px;
}
/*
 * QA 12.08.2026. max-width добавлен как общий предохранитель.
 * .btn — inline-flex, и при расчёте внутренних размеров такой контейнер не
 * переносит свой текст: его min-content равен полной ширине надписи. Кнопка
 * «Получить аудит Yandex AI-видимости» давала min-content 355px. Если такая
 * кнопка лежит в гриде с треком 1fr (это minmax(auto, 1fr), где минимум =
 * min-content содержимого), трек раздувается сверх доступной ширины и вся
 * страница получает горизонтальный скролл. Так было на /prodvizhenie-v-nejrosetyakh/
 * (405px при вьюпорте 390) и на пяти страницах платформ (до 429px).
 * max-width: 100% ограничивает кнопку шириной родителя; текст внутри переносится
 * нормально, потому что раздут был только расчёт, а не сама раскладка.
 * Треки в neural-promo.css параллельно переведены на minmax(0, 1fr).
 */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: 100%;
    padding: 18px 16px;
    border: none;
    border-radius: 14px;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--font16);
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.btn-primary {
    background: #059669;
    color: #FFFFFF;
}
.btn-primary:hover {
    background: #047857;
    transform: translateY(-2px);
}
/* Канонические кнопки дизайн-системы (green theme, STYLE-GUIDE.md).
   Специфичность .btn.btn-* нужна, чтобы перебить bootstrap.min.css,
   который грузится после стилей темы. */
.btn.btn-main {
    background: #059669;
    color: #ffffff;
    border: none;
    border-radius: 14px;
    padding: 16px 32px;
    font-weight: 700;
}
.btn.btn-main:hover,
.btn.btn-main:focus-visible {
    background: #047857;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(5, 150, 105, 0.35);
}
.btn.btn-secondary {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    color: #374151;
    padding: 15px 31px;
    font-weight: 700;
}
.btn.btn-secondary:hover,
.btn.btn-secondary:focus-visible {
    background: #f0fdf4;
    border-color: #d1fae5;
    color: #059669;
    transform: translateY(-2px);
}
.btn-lg {
    padding: 18px 16px;
    font-size: var(--font16);
}
.btn-icon {
    width: 24px;
    height: 24px;
}
.btn-arrow {
    width: 24px;
    height: 24px;
}

/* Responsive */

@media (max-width: 1200px) {
    .blog-hero__title {
        font-size: var(--font56);
    }
    .article-cards {
        gap: 12px;
    }
    .recommendations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .blog-hero {
        min-height: 800px;
    }
    .blog-hero__title {
        font-size: var(--font42);
    }
    .blog-hero__img {
        width: 100%;
        height: 250px;
    }
    .blog-hero__badge {
        position: static;
        margin: 20px auto 0;
        width: fit-content;
    }
    .article-section__title {
        font-size: 32px;
    }
    .article-table {
        font-size: 14px;
    }
    .article-table th,
    .article-table td {
        padding: 10px 15px;
    }
    .case-card {
        height: auto;
    }
    .case-card__image {
        position: static;
        width: 100%;
        height: auto;
    }
    .case-card__content {
        position: static;
        width: 100%;
    }
    .recommendations-grid {
        grid-template-columns: 1fr;
    }
    .blog-hero__tags {
        flex-direction: column;
        align-items: center;
    }
    .blog-hero__tag {
        width: fit-content;
    }
    .article-section__expand {
        margin-top: 15px;
    }
    .article-section__expand p {
        font-size: 14px;
        line-height: 1.6;
    }
    .article-section__image {
        margin-bottom: 20px;
    }
    .article-section__img {
        max-width: 100%;
        border-radius: 8px;
    }
    .article-section__columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .article-section__column-title {
        font-size: var(--font20);
    }
    .article-section__column-title {
        font-size: var(--font20);
    }
    .case-section__columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .case-section__columns::after {
        display: none;
    }
    .case-section__column-title {
        font-size: var(--font20);
    }
    .recommendations-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .recommendation-card__title {
        font-size: var(--font16);
        font-weight: var(--font-weight-bold);
        margin: 15px 15px 10px 15px;
    }
    .recommendation-card__link {
        padding: 0 15px 15px 15px;
        font-size: 14px;
    }
    .recommendation-card__image {
        height: 160px;
    }
    .recommendation-card__arrow {
        width: 16px;
        height: 16px;
    }
    .article-section__cta {
        text-align: left;
    }
    .article-section__title {
        font-size: 28px;
        line-height: 1.2;
    }
    .article-section__intro p {
        font-size: var(--font16);
        line-height: 1.6;
    }
    .article-section__text p {
        font-size: var(--font16);
        line-height: 1.6;
    }
    .article-section__text ul li {
        font-size: var(--font16);
        line-height: 1.6;
    }
    .article-section__errors-list li {
        font-size: var(--font16);
        line-height: 1.6;
    }
    .article-section__item {
        font-size: var(--font16);
        line-height: 1.6;
    }
    .article-card__title {
        font-size: 18px;
        line-height: 1.3;
    }
    .article-card__text {
        font-size: var(--font16);
        line-height: 1.6;
    }
}
.resume-bg {
    border-radius: 15px;
    background: #F4F3F8;
    padding: 30px;
}

/* Стили для блоков с полосками между пунктами */

.serm-needs__item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative;
}
.serm-needs__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.serm-needs__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока локального продвижения */

.local-promotion__item {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.local-promotion__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока продвижения на картах */

.maps-promotion__item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative;
}
.maps-promotion__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.maps-promotion__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока медицинских проблем */

.medical-problems__item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative;
}
.medical-problems__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.medical-problems__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока медицинского маркетинга */

.medical-marketing__item {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.medical-marketing__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока стоматологического маркетинга */

.dental-marketing__item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative;
}
.dental-marketing__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.dental-marketing__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока каналов привлечения пациентов */

.patient-channels__item {
    margin-bottom: 16px;
    padding-bottom: 16px;
    position: relative;
}
.patient-channels__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.patient-channels__item:last-child {
    margin-bottom: 0;
}

/* Стили для блока репутационного менеджмента */

.reputation-management__item {
    margin-bottom: 16px;
}
.reputation-management__item:last-child {
    margin-bottom: 0;
}

/* Общие стили для секций */

.section-block {
    padding: 60px 0;
    background: #fff;
}
.section-block__tag-wrapper {
    margin-bottom: 10px;
}
.section-block__title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #181A1F;
    line-height: 1.2;
}
.section-block__mobile-image {
    max-width: 300px;
}
.section-block__mobile-image--offset {
    margin-top: 50px;
}
.section-block__text {
    color: #4B4E55;
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.section-block__text--margin-top {
    margin-top: 20px;
    margin-bottom: 0;
}
.section-block__list {
    list-style: disc;
    padding-left: 22px;
    color: #4B4E55;
    font-size: 17px;
    line-height: 1.8;
}
.section-block__list--no-markers {
    list-style: none;
    padding-left: 0;
}
.section-block__list--indent {
    padding-left: 20px;
}

/* Мобильная версия для секции репутационного менеджмента */

@media (max-width: 991px) {
    .reputation-management-section .row {
        display: flex;
        flex-direction: column;
    }
    .reputation-management-section .col-lg-6:first-child {
        order: 2;
    }
    .reputation-management-section .col-lg-6:last-child {
        order: 1;
    }
}
.heading-centers {
    text-align: center;
    margin-bottom: 60px;
    font-weight: 700;
    font-size: var(--font42);
}

/* Стили для секции регионального SEO */

.regional-seo-section {
    background: #FFFFFF;
}
.regional-seo__container {
    background: #F4F3F8;
    border-radius: 20px;
    padding: 60px 40px;
    width: 100%;
}
.regional-seo__content {
    text-align: center;
}
.regional-seo__title {
    font-size: 36px;
    font-weight: 700;
    color: #181A1F;
    margin-bottom: 16px;
    line-height: 1.2;
}
.regional-seo__instruction {
    font-size: var(--font16);
    color: #4B4E55;
    margin-bottom: 12px;
    line-height: 1.5;
}
.regional-seo__explanation {
    font-size: var(--font20);
    color: #4B4E55;
    margin-bottom: 50px;
    line-height: 1.6;
    font-weight: 700;
}
.regional-seo__cards {
    display: flex;
    gap: 30px;
    justify-content: center;
}
.regional-seo__card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 32px;
    flex: 1;
    box-shadow: 0 8.613px 24.118px 0 rgba(0, 0, 0, 0.03);
}
.regional-seo__card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.regional-seo__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 20px;
    flex-shrink: 0;
}
.regional-seo__card-icon--suitable {
    background: #F8F9FA;
}
.regional-seo__card-icon--not-suitable {
    background: #F8F9FA;
}
.regional-seo__card-title {
    font-size: var(--font20);
    font-weight: 600;
    color: #181A1F;
    margin: 0;
    line-height: 1.3;
}
.regional-seo__card-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.regional-seo__card-item {
    font-size: var(--font16);
    color: #4B4E55;
    line-height: 1.6;
    padding: 12px 0;
    position: relative;
    padding-left: 20px;
}
.regional-seo__card-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #181A1F;
}
.regional-seo__card-item:last-child {
    padding-bottom: 0;
}

/* Мобильная версия */

@media (max-width: 768px) {
    .regional-seo__container {
        padding: 40px 20px;
        margin: 0 0px;
    }
    .regional-seo__title {
        font-size: 28px;
        text-align: left;
    }
    .regional-seo__instruction {
        text-align: left;
    }
    .regional-seo__explanation {
        font-size: 18px;
        margin-bottom: 40px;
        text-align: left;
    }
    .regional-seo__content {
        text-align: left;
    }
    .regional-seo__cards {
        flex-direction: column;
        gap: 20px;
    }
    .regional-seo__card {
        padding: 24px;
    }
    .regional-seo__card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
    }
    .regional-seo__card-icon {
        align-self: flex-start;
    }
    .regional-seo__card-title {
        font-size: 18px;
        margin: 0;
    }
    .regional-seo__card-item {
        font-size: 15px;
    }
}

/* Стили для секции "Что нужно знать о продвижении по регионам?" */

.regional-knowledge-section {
    background: #FFFFFF;
    padding: 80px 0;
}
.regional-knowledge__content {
    text-align: center;
}
.regional-knowledge__title {
    font-size: 36px;
    font-weight: 700;
    color: #181A1F;
    margin-bottom: 60px;
    line-height: 1.2;
}
.regional-knowledge__cards {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
}
.regional-knowledge__card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 32px 24px;
    padding-right: 10%;
    box-shadow: 0 8.613px 24.118px 0 rgba(0, 0, 0, 0.03);
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.regional-knowledge__card:nth-child(1),
.regional-knowledge__card:nth-child(2),
.regional-knowledge__card:nth-child(3) {
    flex: 1;
    min-width: calc(33.333% - 20px);
}
.regional-knowledge__card:nth-child(4),
.regional-knowledge__card:nth-child(5) {
    flex: 0 0 calc(50% - 15px);
}
.regional-knowledge__card-icon {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}
.regional-knowledge__card-text {
    font-size: var(--font22);
    color: #181A1F;
    margin: 0;
    font-weight: 500;
    line-height: 32px;
}

/* Мобильная версия */

@media (max-width: 768px) {
    .regional-knowledge-section {
        padding: 60px 0;
    }
    .regional-knowledge__title {
        font-size: 28px;
        margin-bottom: 40px;
    }
    .regional-knowledge__cards {
        flex-direction: column;
        gap: 20px;
    }
    .regional-knowledge__card:nth-child(1),
    .regional-knowledge__card:nth-child(2),
    .regional-knowledge__card:nth-child(3),
    .regional-knowledge__card:nth-child(4),
    .regional-knowledge__card:nth-child(5) {
        flex: 1;
        min-width: auto;
    }
    .regional-knowledge__card {
        padding: 24px 20px;
    }
    .regional-knowledge__card-text {
        font-size: 15px;
    }
}

/* Стили для блока юридического продвижения */

.legal-promotion__item {
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 16px;
}
.legal-promotion__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.legal-promotion__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Стили для блока особенностей юридического продвижения */

.legal-features__item {
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 16px;
}
.legal-features__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.legal-features__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Стили для блока косметологии */

.cosmetology__item {
    margin-bottom: 16px;
    position: relative;
    padding-bottom: 16px;
}
.cosmetology__item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background: #E5E7EB;
}
.cosmetology__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Стили для секции "Особенности продвижения косметологических услуг" */

.cosmetology-features-section {
    background: #FFFFFF;
    padding: 80px 0;
}
.cosmetology-features__container {
    background: #F8F9FA;
    border-radius: 20px;
    padding: 60px 40px;
    width: 100%;
}
.cosmetology-features__content {
    text-align: center;
}
.cosmetology-features__title {
    font-size: 36px;
    font-weight: 700;
    color: #181A1F;
    margin-bottom: 50px;
    line-height: 1.2;
}
.cosmetology-features__cards {
    display: flex;
    gap: 30px;
    justify-content: center;
}
.cosmetology-features__card {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 32px;
    flex: 1;
    box-shadow: 0 8.613px 24.118px 0 rgba(0, 0, 0, 0.03);
}
.cosmetology-features__card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.cosmetology-features__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 20px;
    flex-shrink: 0;
}
.cosmetology-features__card-icon--problems {
    background: #F8F9FA;
}
.cosmetology-features__card-icon--solutions {
    background: #F8F9FA;
}
.cosmetology-features__card-title {
    font-size: var(--font22);
    font-weight: 600;
    color: #181A1F;
    margin: 0;
    line-height: 1.3;
}
.cosmetology-features__card-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cosmetology-features__card-item {
    font-size: var(--font22);
    color: #181A1F;
    line-height: 1.6;
    padding: 12px 0;
    padding-left: 0px;
    position: relative;
    padding-left: 20px;
    text-align: left;
    font-weight: 500;
}
.cosmetology-features__card-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #181A1F;
}
.cosmetology-features__card-item:last-child {
    padding-bottom: 0;
}

/* Мобильная версия */

@media (max-width: 768px) {
    .cosmetology-features-section {
        padding: 60px 0;
    }
    .cosmetology-features__container {
        padding: 40px 20px;
        margin: 0 0px;
    }
    .cosmetology-features__title {
        font-size: 28px;
        text-align: left;
    }
    .cosmetology-features__content {
        text-align: left;
    }
    .cosmetology-features__cards {
        flex-direction: column;
        gap: 20px;
    }
    .cosmetology-features__card {
        padding: 24px;
    }
    .cosmetology-features__card-title {
        font-size: 18px;
    }
    .cosmetology-features__card-item {
        font-size: 15px;
    }
}
@media (max-width: 768px) {
    .case-hero__badge {
        padding: 0;
        width: 56px;
        height: 21px;
        top: auto;
        bottom: 28px;
        left: auto;
        right: -19px;
    }
    .case-hero__badge img {
        width: 14px;
        height: auto;
        left: -10px;
        top: 5px;
    }
    .case-hero__badge-text {
        font-size: 12px;
    }
    .hero__subtitle br,
    .hero__title br {
        display: none !important;
    }
    /* Мобильные стили для хлебных крошек кейсов */
    .case-hero__breadcrumbs {
        display: none;
    }
    .case-hero .hero__mobile-back {
        display: flex;
    }
    /* Мобильные стили для картинки кейса */
    .case-hero__frame {
        width: 90%;
        max-width: 400px;
    }
    .case-hero__img {
        width: 100%;
        max-width: none;
    }
    .case-hero__subtitle {
        margin-bottom: 30px;
    }
}
.pm0 {
    margin-bottom: 0;
}

/* ==========================================================================
   SUBNICHE CARDS — блоки ссылок на подниши услуг
   ========================================================================== */

.subniche-section {
    padding: 0;
}
.subniche-grid {
    display: flex;
    flex-wrap: wrap;
}
.subniche-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 28px;
    background: var(--color-white, #fff);
    border: 1px solid #E8E7F0;
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    height: 100%;
}
.subniche-card:hover {
    border-color: var(--color-primary, #059669);
    box-shadow: 0 8px 32px rgba(5, 150, 105, 0.1);
    transform: translateY(-2px);
}
.subniche-card__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.subniche-card__icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}
.subniche-card__content {
    flex: 1;
    min-width: 0;
}
.subniche-card__title {
    font-family: var(--font-family-primary, 'Muller', sans-serif);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    color: var(--color-text, #1F272A);
    margin: 0 0 6px 0;
}
.subniche-card__desc {
    font-size: 14px;
    line-height: 1.5;
    color: #6B7280;
    margin: 0;
}
.subniche-card__arrow {
    flex-shrink: 0;
    color: var(--color-primary, #059669);
    opacity: 0;
    transform: translateX(-8px);
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.subniche-card:hover .subniche-card__arrow {
    opacity: 1;
    transform: translateX(0);
}

@media (max-width: 768px) {
    .subniche-card {
        padding: 18px 20px;
        gap: 14px;
    }
    .subniche-card__title {
        font-size: 16px;
    }
    .subniche-card__arrow {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ── Хлебные крошки видимы на мобиле (UX/ориентация при 250 страницах) @since 1.70.0 ── */
@media (max-width: 992px) {
  nav.breadcrumbs.hide_992 { display: block !important; }
  /*
   * QA 12.08.2026. Здесь была горизонтально прокручиваемая строка:
   * overflow-x: auto + white-space: nowrap, причём полоса прокрутки намеренно
   * скрыта (scrollbar-width: none). На длинных заголовках это давало эффект
   * поломки: на /uslugi/finansovyj-marketing/ текст последней крошки тянулся до
   * x=468 при экране 390 и обрезался контейнером — пользователь видел
   * «Главная страница / Услуги / Продвижен» без единого намёка, что строку
   * можно листать. Прокрутка без видимой полосы на крошках необнаружима.
   * Переходим на перенос: содержимое видно целиком, ничего не прячется.
   * nowrap снимается и с .breadcrumb_last — Yoast вешает его на последний
   * элемент, и без этого текст всё равно шёл бы одной неразрывной строкой.
   */
  nav.breadcrumbs {
    overflow-x: visible;
    white-space: normal;
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 16px !important;
    padding-bottom: 2px;
  }
  nav.breadcrumbs .breadcrumb_last,
  nav.breadcrumbs .breadcrumbs__current,
  nav.breadcrumbs span {
    white-space: normal;
    overflow-wrap: break-word;
  }
}

/* ── Внутренний поиск (форма + результаты) @since 1.71.0 ── */
.blog-search { padding: 8px 0 0; }
.site-search__label { display: block; font-size: 13px; color: #6b7280; margin-bottom: 6px; }
.site-search__row { display: flex; gap: 8px; max-width: 620px; }
.site-search__input {
  flex: 1; min-width: 0; padding: 12px 16px; font-size: 15px;
  border: 1px solid #d1d5db; border-radius: 10px; background: #fff; color: #111827;
  transition: border-color .15s, box-shadow .15s;
}
.site-search__input:focus { outline: none; border-color: #059669; box-shadow: 0 0 0 3px rgba(5,150,105,.12); }
.site-search__btn {
  display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
  padding: 12px 18px; font-size: 15px; font-weight: 600; cursor: pointer;
  color: #fff; background: #059669; border: none; border-radius: 10px;
  transition: background .15s;
}
.site-search__btn:hover, .site-search__btn:focus { background: #047857; }
.search-results { padding: 24px 0 48px; }
.search-results__title { font-size: 28px; font-weight: 800; margin: 0 0 16px; }
.search-results__count { margin: 12px 0 24px; color: #6b7280; font-size: 15px; }
.il-grid--search { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.il-card--search { flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; }
.il-card__type {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: #059669; background: #ecfdf5; padding: 3px 10px; border-radius: 99px;
}
.il-card--search .il-card__name { font-weight: 700; font-size: 16px; line-height: 1.35; }
.il-card__excerpt { font-size: 13px; color: #6b7280; line-height: 1.5; }
.search-results__pagination { margin-top: 28px; }
.search-results__empty { padding: 24px 0; font-size: 16px; color: #374151; }
@media (max-width: 576px) {
  .site-search__row { flex-wrap: wrap; }
  .site-search__btn-text { display: none; }
  .site-search__btn { padding: 12px 14px; }
}

/* ── Поиск в футере ── */
.footer__search-row { margin: 8px 0 4px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }
.footer__search { max-width: 560px; }
.footer__search-title { display: block; font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: 8px; }
.footer__search .site-search__label { display: none; }
.footer__search .site-search__input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.footer__search .site-search__input::placeholder { color: rgba(255,255,255,.5); }
.footer__search .site-search__input:focus { border-color: #34d399; box-shadow: 0 0 0 3px rgba(52,211,153,.18); background: rgba(255,255,255,.12); }

/* ── Мобильная шапка на узких экранах ──────────────────────────────
   Добавлено 01.09.2026. На 320px строка шапки не помещалась:
   при доступных 290px в неё укладывались логотип 150 + блок кнопок 124
   и два отступа по 20 — итого 314. Из-за этого документ получал
   горизонтальный скролл на 17 страницах услуг.
   Уменьшаем отступы и разрешаем логотипу сжиматься. */
@media (max-width: 400px) {
    .header .header-row {
        gap: 10px;
    }
    /* Логотип по умолчанию не сжимается: min-width:auto держит ширину картинки */
    .header .header__logo {
        min-width: 0;
        flex-shrink: 1;
    }
    .header .header__logo img,
    .header .header__logo svg {
        max-width: 100%;
        height: auto;
    }
    .header__mobile-actions {
        gap: 8px;
    }
    .header__mobile-social {
        gap: 6px;
    }
}
