/* =========================================================
   SOULULAB - RESPONSIVE BASE PATCH v1
   Цель: резиновая desktop/tablet база без полной мобильной переделки.
   Подключать после основных CSS и после CSS конкретной страницы.
   ========================================================= */

:root {
    --soul-container-fluid: min(100% - clamp(28px, 6vw, 96px), var(--soul-container, 1240px));
    --soul-section-space: clamp(64px, 7vw, 112px);
    --soul-card-radius-fluid: clamp(22px, 2.2vw, 34px);
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

body {
    min-width: 320px;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

.soul-container,
.gls-container,
.gla2-about-page .gls-container,
.slp-page .soul-container {
    width: var(--soul-container-fluid) !important;
    max-width: var(--soul-container, 1240px) !important;
    margin-inline: auto !important;
}

.soul-section,
.gla2-section,
.slp-section,
.soul-cases-section,
.soul-article-section {
    padding-block: var(--soul-section-space) !important;
}

.soul-hero__title,
.gla2-hero h1,
.slp-hero h1,
.soul-cases-hero h1,
.soul-article-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 5.2vw, 76px) !important;
    line-height: 0.96 !important;
    overflow-wrap: anywhere;
}

.soul-section__head h2,
.gla2-section h2,
.slp-page h2,
.soul-cases-section h2,
.soul-article-section h2 {
    font-size: clamp(30px, 4.2vw, 58px) !important;
    line-height: 1.02 !important;
    overflow-wrap: anywhere;
}

.soul-hero__text,
.gls-hero__text,
.slp-hero__content p,
.soul-section__head p {
    max-width: 100%;
    font-size: clamp(15px, 1.25vw, 18px) !important;
}

/* =========================================================
   Header: резиновая капсула + динамическое меню "Ещё"
   ========================================================= */

.soul-header__inner {
    width: min(calc(100vw - clamp(28px, 5vw, 96px)), 1380px) !important;
    grid-template-columns: minmax(170px, 250px) minmax(0, 1fr) minmax(160px, 270px) !important;
    gap: clamp(12px, 1.8vw, 26px) !important;
    padding-inline: clamp(14px, 1.8vw, 22px) !important;
}

.soul-header__brand,
.soul-header__nav,
.soul-header__actions {
    min-width: 0 !important;
}

.soul-header__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(6px, 0.7vw, 10px) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.soul-header__nav-link,
.soul-header__web-button,
.soul-header__more-toggle {
    height: 44px !important;
    min-width: 0 !important;
    padding-inline: clamp(13px, 1.15vw, 18px) !important;
    font-size: clamp(12px, 0.95vw, 14px) !important;
    white-space: nowrap !important;
}
.soul-header__nav > .soul-header__nav-link {
    padding-left: 20px !important;
    padding-right: 20px !important;
    flex-shrink: 0 !important;
}

.soul-header__web-button {
    max-width: 148px !important;
}

.soul-header__actions {
    justify-content: flex-end !important;
}

.soul-header__cta {
    height: 44px !important;
    min-width: 0 !important;
    padding-inline: clamp(16px, 1.6vw, 28px) !important;
    white-space: nowrap !important;
}

.soul-header__cta-short {
    display: none;
}

.soul-header__more[hidden],
.soul-header__more-menu[hidden] {
    display: none !important;
}

.soul-header__more {
    position: relative !important;
    flex: 0 0 auto !important;
}

.soul-header__more-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.52) !important;
    color: rgba(25, 28, 36, 0.86) !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,0.80), rgba(255,255,255,0.22) 48%, transparent 76%),
        linear-gradient(145deg, rgba(255,255,255,0.58), rgba(228,238,246,0.28)) !important;
    box-shadow:
        0 10px 22px rgba(44, 54, 68, 0.10),
        inset 0 1px 0 rgba(255,255,255,0.76) !important;
    cursor: pointer !important;
}

.soul-header__more.is-open .soul-header__more-toggle {
    border-color: rgba(255,255,255,0.72) !important;
    box-shadow:
        0 14px 30px rgba(44, 54, 68, 0.16),
        inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.soul-header__more-menu {
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 12px) !important;
    z-index: 50 !important;
    display: grid !important;
    gap: 8px !important;
    width: min(280px, calc(100vw - 40px)) !important;
    padding: 12px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,0.58) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,0.84), rgba(255,255,255,0.26) 42%, transparent 72%),
        linear-gradient(145deg, rgba(250,253,255,0.92), rgba(225,237,246,0.82)) !important;
    box-shadow:
        0 24px 48px rgba(34, 42, 52, 0.20),
        inset 0 1px 0 rgba(255,255,255,0.86) !important;
    backdrop-filter: blur(24px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.18) !important;
}

.soul-header__more-menu .soul-header__nav-link {
    width: 100% !important;
    justify-content: flex-start !important;
    color: rgba(25, 28, 36, 0.88) !important;
    -webkit-text-fill-color: rgba(25, 28, 36, 0.88) !important;
    text-shadow: none !important;
}

.soul-header__more-menu .soul-header__nav-link--lab {
    color: rgba(25, 28, 36, 0.88) !important;
    -webkit-text-fill-color: rgba(25, 28, 36, 0.88) !important;
}

@media (max-width: 1180px) and (min-width: 901px) {
    .soul-header__inner {
        grid-template-columns: minmax(165px, 220px) minmax(0, 1fr) minmax(126px, 190px) !important;
        min-height: 62px !important;
    }

    .soul-header__symbol {
        width: 34px !important;
        height: 34px !important;
    }

    .soul-header__word {
        font-size: 0.92rem !important;
    }

    .soul-header__cta-full {
        display: none !important;
    }

    .soul-header__cta-short {
        display: inline !important;
    }
}

@media (max-width: 900px) and (min-width: 901px) {
    .soul-header__inner {
        grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) minmax(92px, 130px) !important;
        width: min(calc(100vw - 28px), 1380px) !important;
        gap: 10px !important;
    }

    .soul-header__web {
        display: flex !important;
    }

    .soul-header__web-button {
        max-width: 112px !important;
        padding-inline: 13px !important;
    }

    .soul-header__cta {
        padding-inline: 16px !important;
    }
}

/* На мобильной ширине оставляем существующую мобильную механику сайта. */
@media (max-width: 900px) {
    .soul-header__nav {
        display: none !important;
    }

    .soul-header__inner {
        width: min(calc(100vw - 28px), 1380px) !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
    }

    .soul-header__actions {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
}

/* =========================================================
   Common responsive grids
   ========================================================= */

.soul-hero__inner {
    grid-template-columns: minmax(0, 555px) minmax(360px, 1fr) !important;
    gap: clamp(34px, 5vw, 76px) !important;
}

.soul-solutions__grid,
.soul-fit-grid,
.soul-packages-grid,
.soul-cases-grid,
.soul-articles-grid,
.gla2-values-grid,
.gla2-directions-grid,
.slp-roles-grid,
.slp-steps-grid {
    min-width: 0 !important;
}

@media (max-width: 1180px) {
    .soul-hero__inner,
    .soul-leadmagnet__inner,
    .soul-contact__grid,
    .gla2-hero__grid,
    .gla2-system-card,
    .soul-case-detail-hero__grid,
    .soul-case-detail-contact__grid,
    .slp-hero__grid,
    .soulu-lab-hero__grid,
    .soulu-lab-final__grid {
        grid-template-columns: 1fr !important;
    }

    .soul-hero__content,
    .soul-hero__visual,
    .gla2-hero__head,
    .gla2-founder,
    .slp-hero__content,
    .slp-club-visual {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .soul-solutions__grid,
    .soul-fit-grid,
    .soul-cases-grid,
    .soul-articles-grid,
    .gla2-values-grid,
    .gla2-directions-grid,
    .slp-roles-grid,
    .slp-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    .soul-packages-grid,
    .soul-offer-grid,
    .soul-case-detail-results,
    .soul-case-detail-screens,
    .gla2-tools-grid,
    .slp-cards-grid,
    .soulu-lab-components-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 720px) {
    .soul-solutions__grid,
    .soul-fit-grid,
    .soul-cases-grid,
    .soul-articles-grid,
    .gla2-values-grid,
    .gla2-directions-grid,
    .slp-roles-grid,
    .slp-steps-grid {
        grid-template-columns: 1fr !important;
    }

    .soul-hero__actions,
    .gla2-hero__actions,
    .slp-hero__actions,
    .slp-final-actions {
        align-items: stretch !important;
    }

    .soul-hero__actions > *,
    .gla2-hero__actions > *,
    .slp-hero__actions > *,
    .slp-final-actions > * {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* =========================================================
   Anti-overflow safety for decorative blocks
   ========================================================= */

.soul-logo-picker,
.soul-logo-card,
.soul-leadmagnet,
.gla2-founder,
.slp-club-visual,
.soulu-lab-hero,
.soul-case-detail-browser,
.soul-case-detail-screen {
    max-width: 100% !important;
}

.soul-logo-card__img,
.gla2-founder__photo img,
.soul-case-detail-screen img,
.soul-case-card img {
    max-width: 100% !important;
}

@media (max-width: 1180px) {
    .soul-logo-picker {
        margin-inline: auto !important;
    }

    .soul-logo-card {
        width: min(100%, 560px) !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 520px) {
    :root {
        --soul-container-fluid: min(100% - 28px, var(--soul-container, 1240px));
        --soul-section-space: 62px;
    }

    .soul-hero__title,
    .gla2-hero h1,
    .slp-hero h1,
    .soul-cases-hero h1,
    .soul-article-hero h1 {
        font-size: clamp(31px, 10vw, 42px) !important;
        line-height: 1.02 !important;
    }

    .soul-section__head h2,
    .gla2-section h2,
    .slp-page h2,
    .soul-cases-section h2,
    .soul-article-section h2 {
        font-size: clamp(27px, 8vw, 36px) !important;
    }
}

/* Overrides for older manual header breakpoints: теперь видимость решает JS. */
@media (min-width: 901px) {
    .soul-header__nav > [data-adaptive-item],
    .soul-header__more-menu > [data-adaptive-item] {
        display: inline-flex !important;
    }

    .soul-header__web {
        display: flex !important;
    }

    .soul-header__burger {
        display: none !important;
    }
}
.soul-header__more-menu {
    width: 326px !important;
    padding: 14px !important;
    gap: 10px !important;
    border-radius: 24px !important;
}
/* =========================================================
   FINAL - меню "Ещё"
   Отдельный компонент с поддержкой темы
   ========================================================= */

.soul-header__more-menu {
    width: min(326px, calc(100vw - 32px)) !important;
    padding: 14px !important;
    gap: 10px !important;
    border-radius: 24px !important;

    display: grid !important;

    backdrop-filter: blur(24px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.1) !important;
}

/* Светлый фон по умолчанию */
.soul-header__more-menu {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(239, 246, 250, 0.91) 52%,
            rgba(218, 230, 238, 0.88) 100%
        ) !important;

    border: 1px solid rgba(255, 255, 255, 0.82) !important;

    box-shadow:
        0 18px 42px rgba(55, 72, 86, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        inset 0 -1px 0 rgba(72, 88, 101, 0.08) !important;
}

/* Светлые пункты */
.soul-header__more-item {
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    color: rgba(28, 31, 38, 0.88) !important;
    -webkit-text-fill-color: rgba(28, 31, 38, 0.88) !important;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.92),
            rgba(239, 244, 247, 0.82),
            rgba(213, 221, 226, 0.72)
        ) !important;

    border: 1px solid rgba(255, 255, 255, 0.76) !important;
    border-radius: 15px !important;

    box-shadow:
        0 8px 18px rgba(65, 77, 88, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;

    text-decoration: none !important;
    text-shadow: none !important;
    transform: none !important;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease !important;
}

.soul-header__more-item:hover {
    color: rgba(18, 21, 27, 0.98) !important;
    -webkit-text-fill-color: rgba(18, 21, 27, 0.98) !important;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 1),
            rgba(244, 248, 250, 0.94),
            rgba(220, 228, 233, 0.84)
        ) !important;

    border-color: rgba(255, 255, 255, 0.96) !important;

    box-shadow:
        0 10px 22px rgba(65, 77, 88, 0.12),
        inset 0 1px 0 #fff !important;
}

.soul-header__more-item.is-active {
    font-weight: 700 !important;
}

/* =========================================================
   Тёмные страницы
   ========================================================= */

body.soul-page--partners .soul-header__more-menu,
body.soul-page--lab .soul-header__more-menu {
    background:
        linear-gradient(
            145deg,
            rgba(34, 34, 34, 0.98) 0%,
            rgba(23, 23, 23, 0.99) 52%,
            rgba(12, 12, 12, 1) 100%
        ) !important;

    border: 1px solid rgba(255, 255, 255, 0.22) !important;

    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -1px 0 rgba(0, 0, 0, 0.32) !important;
}

body.soul-page--partners .soul-header__more-item,
body.soul-page--lab .soul-header__more-item {
    color: rgba(255, 255, 255, 0.84) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.84) !important;

    background:
        linear-gradient(
            180deg,
            rgba(58, 61, 69, 0.66),
            rgba(27, 30, 36, 0.76)
        ) !important;

    border: 1px solid rgba(255, 255, 255, 0.14) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

body.soul-page--partners .soul-header__more-item:hover,
body.soul-page--lab .soul-header__more-item:hover {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;

    background:
        linear-gradient(
            180deg,
            rgba(82, 86, 96, 0.78),
            rgba(37, 41, 48, 0.84)
        ) !important;

    border-color: rgba(255, 255, 255, 0.24) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        0 8px 18px rgba(0, 0, 0, 0.18) !important;
}
/* =========================================================
   Меню "Ещё" - страница "О нас"
   Тёплая золотисто-титановая тема
   ========================================================= */

body.soul-page--about .soul-header__more-menu {
    background:
        radial-gradient(
            circle at 20% 0%,
            rgba(255, 255, 255, 0.72),
            rgba(255, 248, 232, 0.28) 46%,
            transparent 76%
        ),
        linear-gradient(
            145deg,
            rgba(244, 239, 226, 0.90),
            rgba(219, 209, 189, 0.80)
        ) !important;

    border-color: rgba(153, 132, 96, 0.24) !important;

    box-shadow:
        0 18px 42px rgba(105, 89, 60, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.90) !important;
}

body.soul-page--about .soul-header__more-item {
    color: rgba(46, 39, 29, 0.90) !important;
    -webkit-text-fill-color: rgba(46, 39, 29, 0.90) !important;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.88),
            rgba(237, 230, 215, 0.78)
        ) !important;

    border-color: rgba(145, 126, 94, 0.20) !important;
}

body.soul-page--about .soul-header__more-item:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(228, 217, 197, 0.88)
        ) !important;

    border-color: rgba(145, 126, 94, 0.34) !important;
}


/* =========================================================
   Меню "Ещё" - страница "Кейсы"
   Нейтральная светлая тема без голубого
   ========================================================= */

body.soul-page--cases .soul-header__more-menu {
    background:
        radial-gradient(
            circle at 20% 0%,
            rgba(255, 255, 255, 0.82),
            rgba(248, 246, 240, 0.34) 46%,
            transparent 76%
        ),
        linear-gradient(
            145deg,
            rgba(250, 249, 245, 0.94),
            rgba(231, 228, 219, 0.86)
        ) !important;

    border-color: rgba(80, 76, 68, 0.16) !important;

    box-shadow:
        0 18px 42px rgba(67, 62, 53, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

body.soul-page--cases .soul-header__more-item {
    color: rgba(35, 34, 31, 0.88) !important;
    -webkit-text-fill-color: rgba(35, 34, 31, 0.88) !important;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.90),
            rgba(238, 236, 229, 0.80)
        ) !important;

    border-color: rgba(86, 81, 71, 0.16) !important;
}

body.soul-page--cases .soul-header__more-item:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 1),
            rgba(229, 226, 217, 0.90)
        ) !important;

    border-color: rgba(86, 81, 71, 0.28) !important;
}
/* =========================================================
   Кнопка "Продукт" - спокойный контурный вариант
   ========================================================= */

.soul-header__web-button {
    background: transparent !important;
    box-shadow: none !important;

    border: 1px solid rgba(42, 48, 58, 0.20) !important;
    border-radius: 16px !important;

    color: rgba(28, 32, 40, 0.88) !important;
    -webkit-text-fill-color: rgba(28, 32, 40, 0.88) !important;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease !important;
}

/* Светлая тема - тёмная окантовка */
.soul-header__web-button:hover,
.soul-header__web.is-open .soul-header__web-button {
    background: rgba(255, 255, 255, 0.20) !important;
    border-color: rgba(35, 40, 48, 0.36) !important;
}

/* Тёмные страницы - светлая окантовка */
body.soul-page--partners .soul-header__web-button,
body.soul-page--lab .soul-header__web-button {
    color: rgba(255, 255, 255, 0.88) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;

    border-color: rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.025) !important;
}

/* Тёмный hover */
body.soul-page--partners .soul-header__web-button:hover,
body.soul-page--partners .soul-header__web.is-open .soul-header__web-button,
body.soul-page--lab .soul-header__web-button:hover,
body.soul-page--lab .soul-header__web.is-open .soul-header__web-button {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.46) !important;
}

/* Стрелка */
.soul-header__web-arrow {
    opacity: 0.58 !important;
}
/* Кнопка "Продукт" на тёмных страницах */
body.soul-page--partners .soul-header__web-button,
body.soul-page--partners .soul-header__web-current,
body.soul-page--partners .soul-header__web-button span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Стрелка */
body.soul-page--partners .soul-header__web-arrow {
    color: rgba(255,255,255,.75) !important;
}
/* Партнёры - текст "Продукт" принудительно светлый */
html body.soul-page--partners
.soul-header__web
button.soul-header__web-button,
html body.soul-page--partners
.soul-header__web
button.soul-header__web-button .soul-header__web-current,
html body.soul-page--partners
.soul-header__web
button.soul-header__web-button span {
    color: rgba(255, 255, 255, 0.9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
    background-image: none !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

html body.soul-page--partners
.soul-header__web-arrow {
    color: rgba(255, 255, 255, 0.7) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
    opacity: 1 !important;
}
/* Партнёры - в одну колонку, но визуальный блок остаётся квадратным */
@media (min-width: 901px) and (max-width: 1180px) {
    body.soul-page--partners .slp-hero__grid {
        grid-template-columns: 1fr !important;
    }

    body.soul-page--partners .slp-club-visual {
        width: min(100%, 620px) !important;
        aspect-ratio: 1 / 1 !important;

        margin-inline: auto !important;

        justify-self: center !important;
        align-self: start !important;
    }
}
@media (max-width: 1180px) {
    body.soul-page--partners .slp-role-card > .soul-btn {
        margin-top: 24px !important;
    }
}
@media (min-width: 901px) and (max-width: 1180px) {
    body.soul-page--partners .slp-method-card {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        min-height: 520px !important;

        margin-inline: auto !important;
        align-self: auto !important;
    }
}
/* =========================================================
   Формы партнёров - центрирование на планшетах
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {

    body.soul-page--partners .slp-form-section,
    body.soul-page--partners .slp-form-wrapper {
        display: flex !important;
        justify-content: center !important;
    }

    body.soul-page--partners .slp-form-card,
    body.soul-page--partners form {
        width: min(100%, 760px) !important;
        max-width: 760px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* =========================================================
   LAB - планшет 901-1180px
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {

    /* ---------- Заголовок и схема ---------- */

    body.soul-page--lab .sllab-logoonly__head {
        max-width: 820px !important;
        margin-bottom: 18px !important;
        text-align: center !important;
    }

    body.soul-page--lab .sllab-ecosystem-map {
        width: min(100%, 860px) !important;
        max-width: 860px !important;

        margin: 12px auto 0 !important;
        transform: none !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    /* Убираем огромный пустой отступ над логотипом */
    body.soul-page--lab
    .sllab-ecosystem-map
    .sllab-logoonly__stage {
        width: 430px !important;
        height: 430px !important;

        margin: 0 auto !important;
    }

    /* =========================================================
   LAB - экосистема на планшете 901-1180px
   Карточки вокруг интерактивного логотипа
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {

    body.soul-page--lab .sllab-ecosystem-map {
        width: min(100%, 940px) !important;
        height: auto !important;
        margin: 28px auto 0 !important;

        display: grid !important;
        grid-template-columns:
            minmax(0, 250px)
            minmax(320px, 360px)
            minmax(0, 250px) !important;

        gap: 22px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Левая и правая колонки */
    body.soul-page--lab .sllab-ecosystem-map__side {
        width: 100% !important;
        height: auto !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;

        align-self: center !important;
    }

    body.soul-page--lab .sllab-ecosystem-map__side--left {
        grid-column: 1 !important;
    }

    body.soul-page--lab .sllab-ecosystem-map__side--right {
        grid-column: 3 !important;
    }

    /* Центральная часть */
    body.soul-page--lab .sllab-logoonly__wrap.sllab-map-center {
        grid-column: 2 !important;
        grid-row: 1 !important;
        order: 0 !important;

        width: 100% !important;
        height: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        align-self: center !important;
        justify-self: center !important;
    }

    body.soul-page--lab .sllab-logoonly__glass {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Сам интерактивный логотип */
    body.soul-page--lab .sllab-logoonly__stage {
        width: 340px !important;
        height: 340px !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        transform: scale(.84) !important;
        transform-origin: center center !important;
    }

    body.soul-page--lab .sllab-logoonly__label {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin-top: -18px !important;
        text-align: center !important;
    }

    body.soul-page--lab .sllab-logoonly__sub {
        width: 100% !important;
        height: auto !important;
    }

    body.soul-page--lab .sllab-core-card {
        width: 100% !important;
        height: auto !important;
        min-height: 190px !important;

        margin: 24px auto 0 !important;
        padding: 24px !important;
    }

    body.soul-page--lab .sllab-core-card__top,
    body.soul-page--lab .sllab-core-card__text {
        width: 100% !important;
        height: auto !important;
    }

    /* Карточки направлений */
    body.soul-page--lab .sllab-info-card {
        width: 100% !important;
        height: auto !important;
        min-height: 300px !important;

        margin: 0 !important;
        padding: 22px 20px !important;

        display: flex !important;
        flex-direction: column !important;
    }

    body.soul-page--lab .sllab-info-card__top,
    body.soul-page--lab .sllab-info-card__title,
    body.soul-page--lab .sllab-info-card__text,
    body.soul-page--lab .sllab-info-card__action,
    body.soul-page--lab .sllab-info-card__link {
        width: 100% !important;
        height: auto !important;
    }

    body.soul-page--lab .sllab-info-card__title {
        font-size: 20px !important;
        line-height: 1.08 !important;
        margin-top: 14px !important;
    }

    body.soul-page--lab .sllab-info-card__text {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    body.soul-page--lab .sllab-info-card__action {
        margin-top: auto !important;
        padding-top: 18px !important;
    }

    /* Небольшие линии от карточек к логотипу */
    body.soul-page--lab .sllab-info-card::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 22px;
        height: 1px;

        background: linear-gradient(
            90deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.38)
        );

        pointer-events: none;
    }

    body.soul-page--lab
    .sllab-ecosystem-map__side--left
    .sllab-info-card::after {
        right: -23px;
    }

    body.soul-page--lab
    .sllab-ecosystem-map__side--right
    .sllab-info-card::after {
        left: -23px;
        transform: rotate(180deg);
    }

    /* Визуальная связь при наведении */
    body.soul-page--lab .sllab-info-card:hover {
        transform: translateY(-3px) !important;
        filter: brightness(1.08);
    }

    body.soul-page--lab .sllab-info-card:hover::after {
        height: 2px;
        background: rgba(255,255,255,.62);
        box-shadow: 0 0 10px rgba(255,255,255,.28);
    }
}

    /* ---------- Форма "Обсудим ваш проект" ---------- */

    body.soul-page--lab .soulu-form-section {
        padding-top: 72px !important;
        padding-bottom: 72px !important;
    }

    body.soul-page--lab
    .soulu-form-section > .gls-container {
        width: var(--soul-container-fluid) !important;
        max-width: 100% !important;
    }

    body.soul-page--lab .soulu-form-card {
        width: min(100%, 820px) !important;
        max-width: 820px !important;

        margin-inline: auto !important;
        padding: 42px !important;

        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    body.soul-page--lab .soulu-form-card__content {
        width: min(100%, 620px) !important;
        max-width: 620px !important;
        margin-inline: auto !important;
    }

    body.soul-page--lab .soulu-form-card__title,
    body.soul-page--lab .soulu-form-card__lead {
        max-width: 100% !important;
    }

    body.soul-page--lab .soulu-form {
        width: min(100%, 620px) !important;
        max-width: 620px !important;

        margin-inline: auto !important;
        justify-self: center !important;
    }

    body.soul-page--lab .soulu-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
/* =========================================================
   LAB - новая адаптивная экосистема до 1240px
   ========================================================= */

.sllab-adaptive-ecosystem[hidden],
.sllab-ecosystem-map[hidden] {
    display: none !important;
}

.sllab-adaptive-ecosystem {
    display: none;
}

@media (max-width: 1240px) {
    body.soul-page--lab .sllab-adaptive-ecosystem {
        width: min(100% - 40px, 760px);
        margin: 28px auto 80px;

        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Логотип */
    body.soul-page--lab .sllab-adaptive-ecosystem__logo {
        width: 330px;
        height: 330px;
        max-width: 82vw;

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

        position: relative;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__stage {
        width: 430px !important;
        height: 430px !important;

        margin: 0 !important;
        transform: scale(.76) !important;
        transform-origin: center center !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__piece {
        transition:
            opacity .22s ease,
            filter .22s ease,
            transform .22s ease !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__piece.is-muted {
        opacity: .36 !important;
        filter: saturate(.55) brightness(.72) !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__piece.is-active {
        opacity: 1 !important;
        filter:
            saturate(1.15)
            brightness(1.1)
            drop-shadow(0 0 14px rgba(255,255,255,.20)) !important;
    }

    /* SOULU FLOW под логотипом */
    body.soul-page--lab .sllab-adaptive-ecosystem__brand {
        margin-top: -18px;
        text-align: center;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__brand
    .sllab-logoonly__brand {
        transform: scale(.88);
        transform-origin: center;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__brand
    .sllab-logoonly__sub {
        width: auto !important;
        height: auto !important;
        margin-top: 5px;
        font-size: 15px !important;
    }

    /* Переключатели */
    body.soul-page--lab .sllab-adaptive-ecosystem__switcher {
        margin-top: 28px;

        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 9px;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__switcher button {
        min-height: 40px;
        padding: 8px 14px;

        display: inline-flex;
        align-items: center;
        gap: 8px;

        color: rgba(255,255,255,.72);
        font: inherit;
        font-size: 13px;
        font-weight: 650;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.08),
                rgba(255,255,255,.025)
            );

        border: 1px solid rgba(255,255,255,.13);
        border-radius: 999px;

        cursor: pointer;

        transition:
            color .2s ease,
            border-color .2s ease,
            background .2s ease;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__switcher button:hover,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__switcher button.is-active {
        color: #fff;
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.16),
                rgba(255,255,255,.055)
            );
        border-color: rgba(255,255,255,.30);
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__dot {
        width: 8px;
        height: 8px;
        flex: 0 0 8px;
        border-radius: 50%;
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__dot--purple {
        background: #cf35f5;
        box-shadow: 0 0 10px rgba(207,53,245,.55);
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__dot--orange {
        background: #ff8348;
        box-shadow: 0 0 10px rgba(255,131,72,.55);
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__dot--blue {
        background: #3abdf5;
        box-shadow: 0 0 10px rgba(58,189,245,.55);
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__dot--green {
        background: #88e838;
        box-shadow: 0 0 10px rgba(136,232,56,.55);
    }

    /* Активная карточка */
    body.soul-page--lab .sllab-adaptive-ecosystem__active-card {
        width: min(100%, 560px);
        margin-top: 22px;

        transition:
            opacity .14s ease,
            transform .14s ease;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card.is-changing {
        opacity: 0;
        transform: translateY(8px);
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        padding: 26px !important;
        margin: 0 !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__top,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__title,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__text,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__action,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__link {
        width: 100% !important;
        height: auto !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__title {
        margin-top: 15px !important;
        font-size: 23px !important;
        line-height: 1.1 !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__text {
        margin-top: 12px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__action {
        margin-top: 20px !important;
        padding-top: 18px !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card__link {
        min-height: 46px !important;
    }

    /* Центральная карточка платформы */
    body.soul-page--lab .sllab-adaptive-ecosystem__core {
        width: min(100%, 560px);
        margin-top: 24px;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__core
    .sllab-core-card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 26px !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__core
    .sllab-core-card__top,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__core
    .sllab-core-card__text {
        width: 100% !important;
        height: auto !important;
    }
}

@media (max-width: 600px) {
    body.soul-page--lab .sllab-adaptive-ecosystem {
        width: min(100% - 28px, 520px);
        margin-top: 12px;
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__logo {
        width: 280px;
        height: 280px;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__stage {
        transform: scale(.64) !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__switcher button {
        padding-inline: 12px;
        font-size: 12px;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__active-card
    .sllab-info-card,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__core
    .sllab-core-card {
        padding: 21px !important;
    }
}
@media (max-width: 1240px) {
    body.soul-page--lab .sllab-adaptive-ecosystem__brand {
        margin-top: 12px !important;
    }

    body.soul-page--lab .sllab-adaptive-ecosystem__switcher {
        margin-top: 24px !important;
    }
}
@media (max-width: 1240px) {
    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__piece,
    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logo-hit {
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logo-hit {
        z-index: 20 !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__piece {
        z-index: 10 !important;
    }
}
@media (max-width: 1240px) {
    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo {
        margin-bottom: 22px !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__logo
    .sllab-logoonly__stage {
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__brand {
        margin-top: 0 !important;
    }

    body.soul-page--lab
    .sllab-adaptive-ecosystem__switcher {
        margin-top: 26px !important;
    }
}
/* SOULU FLOW summary - планшеты и мобильные */
@media (max-width: 1200px) {
    html body.soul-page--lab .sllab-nko-summary {
        box-sizing: border-box !important;

        width: calc(100vw - 64px) !important;
        max-width: calc(100vw - 64px) !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 24px auto 0 !important;
        padding: 26px 32px !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;

        overflow: hidden !important;
        justify-self: center !important;
    }

    html body.soul-page--lab .sllab-nko-summary > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;

        grid-column: 1 / -1 !important;
        overflow-wrap: anywhere !important;
    }

    /* Родители не должны растягивать плашку */
    html body.soul-page--lab .sllab-nko-route,
    html body.soul-page--lab .sllab-nko-route--unified,
    html body.soul-page--lab .sllab-nko-company-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
}

@media (max-width: 768px) {
    html body.soul-page--lab .sllab-nko-summary {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;

        margin-top: 18px !important;
        padding: 20px 18px !important;
        gap: 14px !important;
        border-radius: 22px !important;
    }
}
/* =========================================================
   LAB - форма "Обсудим ваш проект"
   Планшет + мобильные
   ========================================================= */

/* Планшет */
@media (min-width: 769px) and (max-width: 1200px) {
    body.soul-page--lab .soulu-form-section {
        padding: 64px 24px !important;
    }

    body.soul-page--lab .soulu-form-card {
        box-sizing: border-box !important;

        width: min(100%, 820px) !important;
        max-width: 820px !important;
        height: auto !important;
        min-height: 0 !important;

        margin-inline: auto !important;
        padding: 38px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    body.soul-page--lab .soulu-form-card__content,
    body.soul-page--lab .soulu-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.soul-page--lab .soulu-form-card__title,
    body.soul-page--lab .soulu-form-card__lead {
        width: 100% !important;
        max-width: 620px !important;
    }

    body.soul-page--lab .soulu-form__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    body.soul-page--lab .soulu-form__field,
    body.soul-page--lab .soulu-form__field--wide {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.soul-page--lab .soulu-form__field--wide {
        grid-column: 1 / -1 !important;
    }

    body.soul-page--lab .soulu-form__footer {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 20px !important;
        flex-wrap: wrap !important;
    }
}

/* Мобильные */
@media (max-width: 768px) {
    body.soul-page--lab .soulu-form-section {
        padding: 42px 14px !important;
    }

    body.soul-page--lab .soulu-form-card {
        box-sizing: border-box !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 24px 18px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;

        border-radius: 24px !important;
    }

    body.soul-page--lab .soulu-form-card__content,
    body.soul-page--lab .soulu-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.soul-page--lab .soulu-form-card__title {
        font-size: clamp(32px, 10vw, 44px) !important;
        line-height: 0.98 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.soul-page--lab .soulu-form-card__lead {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    body.soul-page--lab .soulu-form__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.soul-page--lab .soulu-form__field,
    body.soul-page--lab .soulu-form__field--wide {
        width: 100% !important;
        min-width: 0 !important;
        grid-column: 1 !important;
    }

    body.soul-page--lab .soulu-form input,
    body.soul-page--lab .soulu-form select,
    body.soul-page--lab .soulu-form textarea {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.soul-page--lab .soulu-form__footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.soul-page--lab .soulu-form__submit {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 768px) {
    body.soul-page--lab .sllab-flow-section__eyebrow {
        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        margin: 0 0 24px !important;
        transform: none !important;

        width: fit-content !important;
        max-width: 100% !important;
    }
}
/* LAB - исправление формы на планшетах */
@media (min-width: 769px) and (max-width: 1200px) {
    html body.soul-page--lab .soulu-form-card {
        width: 100% !important;
        max-width: 980px !important;
        height: auto !important;
        min-height: 0 !important;

        margin-inline: auto !important;
        padding: 44px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    html body.soul-page--lab .soulu-form-card__content,
    html body.soul-page--lab .soulu-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body.soul-page--lab .soulu-form__grid {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    html body.soul-page--lab .soulu-form__bottom {
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 20px !important;
    }
}
/* Планшет - "Бесплатная консультация" в одну строку */
@media (min-width: 769px) and (max-width: 1200px) {
    html body.soul-page--lab .sllab-flow-section__eyebrow {
        width: max-content !important;
        min-width: max-content !important;
        max-width: none !important;

        white-space: nowrap !important;
        line-height: 1 !important;

        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}
/* =========================================================
   Карточки продуктов - планшеты и мобильные
   ========================================================= */

/* Карточки продуктов - мобильная и узкая планшетная версия */
@media (max-width: 900px) {
    html body .gls-products {
        width: 100% !important;
        max-width: 100% !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    html body .gls-product-card {
        box-sizing: border-box !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 24px 22px !important;
        margin: 0 !important;
    }

    html body .gls-product-card > * {
        max-width: 100% !important;
        min-width: 0 !important;
    }
}
@media (min-width: 901px) and (max-width: 1247px) {
    html body .gls-products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    html body .gls-product-card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
/* =========================================================
   Карточки продуктов - мобильная версия
   ========================================================= */

@media (max-width: 768px) {

    .gls-product-card {
        border-radius: 24px !important;
        padding: 22px 18px !important;
    }

    .gls-product-card__title {
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1.05 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .gls-product-card__text,
    .gls-product-card__description {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .gls-product-card__stats {
        width: 100% !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .gls-product-card__stats > * {
        box-sizing: border-box !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .gls-product-card__button,
    .gls-product-card__more,
    .gls-product-card__order,
    .gls-product-card a {
        max-width: 100% !important;
    }

    .gls-product-card__button,
    .gls-product-card__order {
        width: 100% !important;
    }
}
/* LAB - все заголовки по центру на планшетах и мобильных */
@media (max-width: 1200px) {
    body.soul-page--lab h1,
    body.soul-page--lab h2,
    body.soul-page--lab h3,
    body.soul-page--lab h4,
    body.soul-page--lab h5,
    body.soul-page--lab h6,
    body.soul-page--lab [class*="__title"],
    body.soul-page--lab [class*="__heading"] {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
@media (max-width: 768px) {
    body.soul-page--partners .slp-mobile-roles {
        --role-color: #6f2cff;

        width: calc(100% - 28px);
        margin: 46px auto 64px;

        display: none;
        flex-direction: column;
        align-items: center;
    }

    body.soul-page--partners.has-mobile-roles .slp-mobile-roles {
        display: flex !important;
    }

    .slp-mobile-roles__logo-wrap {
        width: 210px;
        height: 210px;

        position: relative;
        display: grid;
        place-items: center;

        border: 1px solid
    color-mix(
        in srgb,
        var(--role-color) 68%,
        rgba(255,255,255,.20)
    );

box-shadow:
    0 24px 60px rgba(0,0,0,.34),
    0 0 26px
    color-mix(
        in srgb,
        var(--role-color) 28%,
        transparent
    ),
    inset 0 1px 0 rgba(255,255,255,.16);
        border-radius: 50%;

        background:
            radial-gradient(
                circle at 38% 30%,
                rgba(255,255,255,.13),
                rgba(255,255,255,.035) 46%,
                rgba(0,0,0,.24) 100%
            );

    }

    .slp-mobile-roles__glow {
        position: absolute;
        inset: 28px;

        border-radius: 50%;
        background: var(--role-color);

        opacity: .16;
        filter: blur(34px);
    }

    .slp-mobile-roles__logo {
        width: 118px;
        height: 118px;

        position: relative;
        z-index: 2;

        display: grid;
        place-items: center;

        transform: translateY(1px);
    }

    .slp-mobile-roles__logo img,
    .slp-mobile-roles__logo svg {
        display: block;

        width: 100%;
        height: 100%;
        object-fit: contain;

        opacity: .72;
        filter:
            saturate(.82)
            brightness(.86)
            drop-shadow(
                0 0 14px
                color-mix(
                    in srgb,
                    var(--role-color) 32%,
                    transparent
                )
            );
    }

    .slp-mobile-roles__caption {
        margin: 20px 0 0;

        color: rgba(255,255,255,.58);
        font-size: 13px;
        text-align: center;
    }

    .slp-mobile-roles__tabs {
        width: 100%;
        margin-top: 24px;

        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .slp-mobile-roles__tab {
        min-width: 0;
        min-height: 42px;
        padding: 8px 5px;

        color: rgba(255,255,255,.66);
        font: inherit;
        font-size: 11px;
        font-weight: 700;

        background: rgba(255,255,255,.035);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 14px;
    }

    .slp-mobile-roles__tab.is-active {
        color: #fff;
        border-color: var(--role-color);

        background:
            linear-gradient(
                180deg,
                color-mix(
                    in srgb,
                    var(--role-color) 18%,
                    rgba(255,255,255,.07)
                ),
                rgba(255,255,255,.03)
            );

        box-shadow:
            0 0 18px
            color-mix(
                in srgb,
                var(--role-color) 22%,
                transparent
            );
    }

    .slp-mobile-roles__card {
        width: 100%;
        margin-top: 16px;
    }

    .slp-mobile-roles__active-card {
        box-sizing: border-box;

        width: min(100%, 330px);
        min-height: 128px;

        margin-inline: auto;
        padding: 26px 24px;

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

        text-align: center;

        border: 1px solid
            color-mix(
                in srgb,
                var(--role-color) 70%,
                rgba(255,255,255,.14)
            );

        border-radius: 28px;

        background:
            radial-gradient(
                circle at 50% 0%,
                color-mix(
                    in srgb,
                    var(--role-color) 18%,
                    transparent
                ),
                transparent 68%
            ),
            linear-gradient(
                145deg,
                rgba(255,255,255,.11),
                rgba(255,255,255,.035)
            );

        box-shadow:
            0 22px 48px rgba(0,0,0,.3),
            0 0 28px
            color-mix(
                in srgb,
                var(--role-color) 16%,
                transparent
            ),
            inset 0 1px 0 rgba(255,255,255,.13);
    }

    .slp-mobile-roles__text {
        margin: 0;

        color: rgba(255,255,255,.76);
        font-size: 14px;
        line-height: 1.5;
    }
}

/* По умолчанию и на ПК мобильный блок всегда скрыт */
html body .slp-mobile-roles {
    display: none !important;
}

/* Показываем только на мобильных */
@media (max-width: 768px) {
    html body.soul-page--partners.has-mobile-roles .slp-mobile-roles {
        display: flex !important;
    }

    html body.soul-page--partners.has-mobile-roles .slp-club-visual {
        display: none !important;
    }
}

/* Дополнительная страховка для ПК и планшетов */
@media (min-width: 769px) {
    html body .slp-mobile-roles {
        display: none !important;
    }

    html body.soul-page--partners .slp-club-visual {
        display: block !important;
    }
}
@media (max-width: 768px) {
    body.soul-page--partners .slp-mobile-roles__logo-wrap {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.soul-page--partners .slp-mobile-roles__glow {
        position: absolute !important;
        inset: 50% auto auto 50% !important;

        width: 152px !important;
        height: 152px !important;

        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        border-radius: 50% !important;
    }

    body.soul-page--partners .slp-mobile-roles__logo {
        position: absolute !important;
        inset: 50% auto auto 50% !important;

        width: 104px !important;
        height: 104px !important;

        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        z-index: 2 !important;
    }
}
@media (max-width: 768px) {
    body.soul-page--partners .soul-club-banner {
        min-height: 560px !important; /* общая высота */
        padding-top: 14px !important; /* отступ сверху */
        padding-bottom: 180px !important; /* место под картинку */
    }
    body.soul-page--partners .soul-club-banner__image {
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: -40px !important;

        width: 520px !important;
        height: 360px !important;

        transform: translateX(-50%) !important;
        object-fit: contain !important;
        opacity: .28 !important;
    }
}
@media (max-width: 768px) {
    body.soul-page--partners .slp-usp-card {
        box-sizing: border-box !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 28px 20px !important;
        overflow: hidden !important;
    }

    body.soul-page--partners .slp-usp-card__grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 26px !important;
    }

    body.soul-page--partners .slp-usp-card__grid > * {
        box-sizing: border-box !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        grid-column: 1 !important;

        position: static !important;
        margin: 0 !important;
        transform: none !important;
    }

    body.soul-page--partners .slp-usp-card__tag {
        width: fit-content !important;
        max-width: max-content !important;
        min-width: 0 !important;

        justify-self: start !important;
        align-self: start !important;

        padding: 7px 16px !important;
        white-space: nowrap !important;
    }

    body.soul-page--partners .slp-usp-card .soul-section__head,
    body.soul-page--partners .slp-usp-card .soul-section__head--wide {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        display: block !important;
    }

    body.soul-page--partners .slp-usp-card .soul-section__head h2 {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        font-size: clamp(32px, 9vw, 42px) !important;
        line-height: 1.05 !important;

        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.soul-page--partners .slp-usp-card p {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        font-size: 15px !important;
        line-height: 1.55 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    body.soul-page--partners .slp-usp-card strong {
        display: block !important;
        margin-top: 18px !important;

        font-size: 16px !important;
        line-height: 1.45 !important;
    }
}
.glc-ba-item__icon {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;

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

    color: #fff;

    border-radius: 16px;
    background: #6f2cff;
}

.glc-ba-item__icon svg {
    width: 26px;
    height: 26px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   HEADER FIT FIX v3 — keep “Кейсы” on desktop
   901–1180: compact the capsule before moving items to “Ещё”.
   ========================================================= */
@media (min-width: 901px) and (max-width: 1180px) {
    .soul-header__inner {
        width: min(calc(100vw - 20px), 1380px) !important;
        grid-template-columns: minmax(138px, 150px) minmax(0, 1fr) minmax(142px, 158px) !important;
        gap: 8px !important;
        padding-inline: 12px !important;
    }

    .soul-header__brand {
        gap: 7px !important;
    }

    .soul-header__symbol {
        width: 30px !important;
        height: 30px !important;
    }

    .soul-header__word {
        font-size: 0.86rem !important;
        letter-spacing: 0.025em !important;
    }

    .soul-header__nav {
        gap: 5px !important;
    }

    .soul-header__nav > .soul-header__nav-link {
        padding-left: 11px !important;
        padding-right: 11px !important;
        font-size: 12px !important;
    }

    .soul-header__web-button {
        height: 42px !important;
        padding-inline: 13px !important;
        max-width: 118px !important;
        font-size: 12px !important;
    }

    .soul-header__cta {
        height: 42px !important;
        padding-inline: 16px !important;
        min-width: 138px !important;
        font-size: 12px !important;
    }

    .soul-header__more-toggle {
        height: 42px !important;
        padding-inline: 12px !important;
        font-size: 12px !important;
    }
}


/* =========================================================
   HEADER FIT PATCH v4 — keep Cases + About visible on desktop
   ========================================================= */
@media (min-width: 901px) and (max-width: 1350px) {
    /* header.css historically hid About in this range; v4 keeps it in the live nav */
    .soul-header__nav-link--about {
        display: inline-flex !important;
        align-items: center !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .soul-header__inner {
        width: min(calc(100vw - 24px), 1380px) !important;
        grid-template-columns: minmax(138px, 170px) minmax(0, 1fr) minmax(118px, 152px) !important;
        gap: 7px !important;
        padding-inline: 12px !important;
    }

    .soul-header__nav {
        gap: 2px !important;
    }

    .soul-header__nav > .soul-header__nav-link {
        padding-left: 9px !important;
        padding-right: 9px !important;
        font-size: 12px !important;
    }

    .soul-header__web-button,
    .soul-header__more-toggle {
        height: 42px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 12px !important;
    }

    .soul-header__web-button {
        max-width: 118px !important;
    }

    .soul-header__brand {
        gap: 8px !important;
    }

    .soul-header__symbol {
        width: 32px !important;
        height: 32px !important;
    }

    .soul-header__word {
        font-size: 0.88rem !important;
    }

    .soul-header__cta {
        height: 42px !important;
        min-width: 0 !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
        font-size: 12px !important;
    }
}

/* =========================================================
   HEADER STRUCTURE v5 — stable desktop navigation
   Product / Cases / Blog / Partners / About. No auto-hiding.
   ========================================================= */
@media (min-width: 901px) {
    .soul-header__inner {
        grid-template-columns: minmax(148px, 188px) minmax(0, 1fr) minmax(132px, 168px) !important;
        gap: clamp(8px, 1vw, 16px) !important;
    }

    .soul-header__nav {
        gap: clamp(3px, 0.45vw, 8px) !important;
        justify-content: center !important;
    }

    .soul-header__nav > .soul-header__nav-link,
    .soul-header__web-button {
        height: 42px !important;
        padding-left: clamp(10px, 0.9vw, 15px) !important;
        padding-right: clamp(10px, 0.9vw, 15px) !important;
        font-size: clamp(12px, 0.9vw, 14px) !important;
        flex-shrink: 0 !important;
    }

    .soul-header__web-button {
        max-width: none !important;
    }

    .soul-header__cta {
        height: 42px !important;
        min-width: 0 !important;
        padding-left: clamp(14px, 1.25vw, 22px) !important;
        padding-right: clamp(14px, 1.25vw, 22px) !important;
        font-size: clamp(12px, 0.9vw, 14px) !important;
    }

    .soul-header__more {
        display: none !important;
    }

    .soul-header__web-button.is-active {
        color: rgba(28, 31, 38, 0.92) !important;
        -webkit-text-fill-color: rgba(28, 31, 38, 0.92) !important;
        background: linear-gradient(145deg, rgba(255,255,255,0.86), rgba(210,216,224,0.72) 52%, rgba(145,156,170,0.56)) !important;
        border: 1px solid rgba(255,255,255,0.58) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), inset 0 -1px 0 rgba(0,0,0,0.16), 0 6px 14px rgba(0,0,0,0.12) !important;
        text-shadow: none !important;
    }
}

@media (min-width: 901px) and (max-width: 1080px) {
    .soul-header__inner {
        width: min(calc(100vw - 18px), 1380px) !important;
        grid-template-columns: minmax(132px, 150px) minmax(0, 1fr) minmax(118px, 142px) !important;
        gap: 6px !important;
        padding-inline: 10px !important;
    }

    .soul-header__brand {
        gap: 6px !important;
    }

    .soul-header__symbol {
        width: 29px !important;
        height: 29px !important;
    }

    .soul-header__word {
        font-size: 0.82rem !important;
    }

    .soul-header__nav {
        gap: 1px !important;
    }

    .soul-header__nav > .soul-header__nav-link,
    .soul-header__web-button {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 11.5px !important;
    }

    .soul-header__cta {
        padding-left: 11px !important;
        padding-right: 11px !important;
        font-size: 11.5px !important;
    }
}
