/**
 * Мобилка: ≤575px
 */
@media (max-width: 575px) {
    :root {
        --hero-height: 640px;
        --hero-radius: 24px;
        --hero-gutter: 20px;
        --hero-mobile-content-gap: 32px;
        --hero-mobile-dots-offset: 20px;
        --mobile-section-y: 40px;
        --mobile-gutter: 20px;
        --individual-form-modal-max-height: calc(100vh - 16px);
        --works-gap-section-top: 40px;
        --works-gap-section-bottom: 40px;
        --works-gap-block: 32px;
        --works-gap-row: 12px;
        --works-slide-width: 260px;
        --works-slide-height: 160px;
        --reviews-card-width: 310px;
        --reviews-gap-cards: 12px;
    }

    .hero {
        margin-bottom: 40px;
    }

    .hero__media {
        border-radius: 0 0 var(--hero-radius) var(--hero-radius);
    }

    /* ------------------------------------------------------------------ */
    /* Баннер                                                            */
    /* ------------------------------------------------------------------ */
    .hero .banners-big {
        padding-bottom: 0;
    }

    .hero .banners-big .flexslider,
    .hero .banners-big .flex-viewport {
        overflow: hidden !important;
        border: 0;
        box-shadow: none;
        margin: 0;
        border-radius: 0;
    }

    /* Не трогаем width слайдов — flexslider сам ставит px-ширину по viewport */
    .hero .banners-big .flexslider .slides > li.box {
        box-sizing: border-box;
        margin-right: 0 !important;
        padding: 0;
        border-radius: 0 0 var(--hero-radius) var(--hero-radius);
    }

    .hero .banners-big .slides > li.box.hero-slide--has-mobile-bg {
        background-image: var(--hero-bg-mobile) !important;
    }

    .hero .banners-big .flexslider .slides {
        border-radius: 0 0 var(--hero-radius) var(--hero-radius);
    }

    .hero .banners-big .slides > li.box .maxwidth-theme {
        padding: 24px var(--hero-gutter) 0;
        margin-bottom: calc(var(--hero-mobile-content-gap) + 4px);
        box-sizing: border-box;
    }

    .hero .banners-big .maxwidth-theme {
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
        flex: 0 0 auto;
        margin: 0;
        padding: 0;
        margin-bottom: calc(var(--hero-mobile-content-gap) + 4px);
        justify-content: flex-start;
    }

    .hero-slide__content {
        width: 100%;
        max-width: none;
        padding-bottom: 0;
    }

    .hero .banners-big .hero-slide__content .title,
    .hero .banners-big .title {
        margin: 0 0 16px;
        font-size: 40px;
        font-weight: 600;
        line-height: 48px;
    }

    .hero .banners-big .hero-slide__content .text-block,
    .hero .banners-big .text-block {
        max-width: none;
        margin: 0 0 32px;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        opacity: 0.9;
    }

    .hero .banners-big .hero-slide__content .buttons,
    .hero .banners-big .buttons {
        width: 100%;
        margin: 0;
    }

    .hero .banners-big .slides .btn.hero-slide__btn,
    .hero .banners-big .hero-slide__btn {
        display: flex;
        width: 100%;
        max-width: none;
        height: 48px;
        margin: 0;
        padding: 12px 12px 12px 20px;
        gap: 8px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .hero .banners-big .hero-slide__btn-text {
        line-height: 24px;
    }

    .hero .banners-big .hero-slide__btn-icon {
        width: 20px;
        height: 20px;
    }

    .hero .banners-big .hero-slide__btn-icon svg {
        width: 9px;
        height: 9px;
    }

    /* Точки слайдера — 16px от низа баннера, gap 24px до кнопки */
    .hero .banners-big .flex-control-nav {
        bottom: var(--hero-mobile-dots-offset);
        gap: 6px;
        width: auto;
        max-width: none;
        padding: 0;
        transform: translateX(-50%);
    }

    .hero .banners-big .flex-control-paging li a {
        display: block;
        position: relative;
        width: 4px !important;
        height: 4px !important;
        border-radius: 50%;
        background: #ffffff !important;
        opacity: 0.4;
        box-shadow: none;
        overflow: hidden;
    }

    .hero .banners-big .flex-control-paging li a::before {
        display: none !important;
        content: none !important;
    }

    .hero .banners-big .flex-control-paging li a.flex-active,
    .hero .banners-big .flex-control-paging li a.flex-active:hover {
        background: #ffffff !important;
        opacity: 1;
    }

    /* ------------------------------------------------------------------ */
    /* О школе — H1 + описание                                             */
    /* ------------------------------------------------------------------ */
    .about-main {
        padding: var(--mobile-section-y) var(--mobile-gutter);
    }

    .about-main__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        max-width: none;
    }

    .about-main__title {
        width: 100%;
        flex: none;
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .about-main__body {
        width: 100%;
        flex: none;
        gap: 16px;
    }

    .about-main__body p {
        font-size: 16px;
        line-height: 24px;
    }

    /* ------------------------------------------------------------------ */
    /* Преимущества — «Освой бьюти-профессию…»                          */
    /* ------------------------------------------------------------------ */
    .advantages-main {
        padding: var(--mobile-section-y) var(--mobile-gutter);
    }

    .advantages-main__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        max-width: none;
    }

    .advantages-main__title {
        width: 100%;
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .advantages-main__cards {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
        flex: none;
    }

    .advantages-main__card,
    .advantages-main__card.is-active,
    .advantages-main__card:not(.is-active) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        row-gap: 32px;
        column-gap: 0;
        grid-template-columns: unset;
        grid-template-areas: unset;
        min-height: 0;
        margin-bottom: 0;
        padding: 20px;
        border-radius: 20px;
        cursor: default;
        transition: none;
    }

    .advantages-main__card:not(:first-child),
    .advantages-main__card:not(:last-child) {
        border-radius: 20px;
    }

    .advantages-main__card-icon {
        flex: none;
        grid-area: unset;
        width: 40px;
        height: 40px;
    }

    .advantages-main__card-icon img,
    .advantages-main__card-icon svg {
        display: block;
        width: 32px;
        height: 32px;
        max-width: 32px;
        max-height: 32px;
    }

    .advantages-main__card-body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
    }

    .advantages-main__card-title {
        grid-area: unset;
        margin: 0;
        font-size: 20px;
        font-weight: 600;
        line-height: 28px;
    }

    .advantages-main__card-text {
        grid-area: unset;
        margin: 0;
        max-height: none;
        opacity: 1;
        overflow: visible;
        align-self: auto;
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        transition: none;
    }

    .advantages-main__card.is-active .advantages-main__card-text {
        max-height: none;
        overflow: visible;
        align-self: auto;
    }

    .advantages-main__card:not(.is-active) .advantages-main__card-text {
        max-height: none;
        opacity: 1;
        margin-top: 0;
    }

    /* ------------------------------------------------------------------ */
    /* Направления — «Образовательные направления школы»                  */
    /* ------------------------------------------------------------------ */
    .directions-main {
        padding: var(--mobile-section-y) 0;
    }

    .directions-main__inner {
        gap: 24px;
        max-width: none;
    }

    .directions-main__programs {
        gap: 24px;
        padding: 0 var(--mobile-gutter);
    }

    .directions-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .directions-main__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .directions-main__card {
        border-radius: 20px;
    }

    .directions-main__card-link {
        padding: 8px;
    }

    .directions-main__card-media {
        min-height: 200px;
        padding: 8px;
        border-radius: 12px;
    }

    .directions-main__tags {
        gap: 4px;
    }

    .directions-main__tag {
        padding: 2px 8px 4px;
        border-radius: 6px;
        font-size: 12px;
        font-weight: 400;
        line-height: 18px;
    }

    .directions-main__card-body {
        gap: 12px;
        padding: 20px 12px 12px;
    }

    .directions-main__card-title {
        padding-right: 0;
        min-height: 48px;
        font-size: 18px;
        font-weight: 400;
        line-height: 24px;
    }

    .directions-main__price {
        gap: 2px;
    }

    .directions-main__price-value {
        font-size: 24px;
        font-weight: 600;
        line-height: 32px;
    }

    .directions-main__price-suffix {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
    }

    .directions-main__card-arrow {
        display: none;
    }

    .directions-main__cta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        box-sizing: border-box;
        min-height: 597px;
        padding: 32px var(--mobile-gutter);
        border-radius: 24px;
        background-color: #04050a;
        background-image:
         
            url('/images/individual_form_mobile.png');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }

    .directions-main__cta-content {
        gap: 32px;
        max-width: none;
        min-height: 0;
        width: 100%;
    }

    .directions-main__cta-text {
        gap: 16px;
    }

    .directions-main__cta-title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
        color: #ffffff;
    }

    .directions-main__cta-desc {
        max-width: none;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        color: #ffffff;
        opacity: 0.9;
    }

    .directions-main__cta-btn {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        background: #ffffff;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
        color: #111827;
    }

    /* ------------------------------------------------------------------ */
    /* Акции — «Открой новые грани своей профессии»                       */
    /* ------------------------------------------------------------------ */
    .offers-main {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
        padding: var(--mobile-section-y) 0;
        overflow: visible;
    }

    .offers-main__inner {
        width: 100%;
        padding: 0 var(--mobile-gutter);
        box-sizing: border-box;
        gap: 0;
        margin-bottom: 0;
        align-items: stretch;
    }

    .offers-main__head {
        max-width: none;
    }

    .offers-main__title {
        text-align: center;
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .offers-main__slider-wrap {
        align-self: stretch;
        width: 100%;
        min-height: 380px;
        gap: 0;
    }

    .offers-main__viewport {
        width: 100%;
        min-height: 380px;
        overflow: hidden;
    }

    .offers-main__track {
        gap: 12px;
        min-height: 380px;
        align-items: stretch;
    }

    .offers-main__card,
    .offers-main__card.is-active {
        flex: 0 0 310px;
        width: 310px;
        height: 380px;
        min-height: 380px;
        padding: 20px;
        border-radius: 20px;
        transition: none;
    }

    .offers-main__card-media {
        background-size: cover;
        background-position: center bottom;
    }

    .offers-main__card-content {
        gap: 12px;
        max-width: 100%;
    }

    .offers-main__card:not(.is-active) .offers-main__card-content {
        max-width: calc(100% - 40px);
    }

    .offers-main__card-text {
        gap: 8px;
    }

    .offers-main__badge {
        padding: 2px 6px;
        border-radius: 5px;
        font-size: 11px;
        font-weight: 400;
        line-height: 16px;
    }

    .offers-main__card-title,
    .offers-main__card.is-active .offers-main__card-title {
        font-size: 20px;
        font-weight: 600;
        line-height: 28px;
    }

    .offers-main__card-desc {
        font-size: 14px;
        line-height: 22px;
    }

    .offers-main__card-btn {
        width: 40px;
        height: 40px;
        padding: 10px;
        box-sizing: border-box;
    }

    a.offers-main__card-btn {
        cursor: pointer;
    }

    .offers-main__card-btn svg {
        width: 20px;
        height: 20px;
    }

    .offers-main__nav {
        display: none;
    }

    /* CONSULT_FORM_MAIN */
    .consult-form {
        padding: var(--mobile-section-y) var(--mobile-gutter);
    }

    .consult-form__inner {
        flex-direction: column;
        gap: 8px;
    }

    .consult-form__promo,
    .consult-form__panel {
        border-radius: 20px;
    }

    .consult-form__promo {
        min-height: 362px;
        padding: 20px;
    }

    .consult-form__panel {
        flex: 0 0 auto;
        min-height: auto;
    }

    .consult-form__promo-picture {
        top: -25px;
        right: -20px;
        left: auto;
        width: 255px;
        height: 255px;
    }

    .consult-form__promo-img {
        width: 100%;
        height: 100%;
    }

    .consult-form__promo-gradient {
        display: none;
    }

    .consult-form__promo-content {
        gap: 16px;
        max-width: none;
        padding-right: 0;
    }

    .consult-form__promo-title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .consult-form__promo-text {
        max-width: none;
        font-size: 16px;
        line-height: 24px;
    }

    .consult-form__panel {
        padding: 32px 20px;
    }

    .consult-form__form form {
        min-height: 0;
        gap: 0;
    }

    .consult-form__lead {
        margin-bottom: 24px;
        font-size: 18px;
        line-height: 24px;
    }

    .consult-form__fields {
        flex-direction: column;
        gap: 9px;
        margin-bottom: 16px;
    }

    .consult-form__field {
        flex-basis: auto;
        width: 100%;
    }

    body.in_index .consult-form__field input.consult-form__input,
    body.in_index .consult-form__field .form-control {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-width: 1.5px;
        border-radius: 8px;
        font-size: 16px;
    }

    .consult-form__input {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-width: 1.5px;
        border-radius: 8px;
        font-size: 16px;
    }

    .consult-form__actions {
        gap: 24px;
    }

    .consult-form__submit,
    button.consult-form__submit {
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 16px;
    }

    .consult-form__consent-row {
        gap: 12px;
    }

    .consult-form__consent label.error {
        padding-left: 32px;
    }

    .consult-form__consent-text {
        font-size: 11px;
        font-weight: 400;
        line-height: 16px;
        white-space: normal !important;
    }

    .consult-form__form--success,
    .consult-form__success {
        min-height: 0;
    }

    .consult-form__success-icon {
        width: 80px;
        height: 80px;
    }

    .consult-form__success-icon svg {
        width: 40px;
        height: 40px;
    }

    .consult-form__success-title {
        font-size: 28px;
        line-height: 34px;
    }

    .consult-form__success-desc {
        font-size: 16px;
        line-height: 24px;
    }

    /* SCHOOL_ADVANTAGES_MAIN */
    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag'] {
        padding-top: 40px;
    }

    .school-advantages {
        padding: 32px 0 0;
        background: #111827;
    }

    .school-advantages__glow {
        display: none;
    }

    .school-advantages__inner {
        gap: 24px;
        padding: 0 var(--mobile-gutter);
    }

    .school-advantages__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
        text-align: center;
    }

    .school-advantages__content {
        gap: 24px;
    }

    .school-advantages__tabs {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 8px;
        margin: 0 calc(-1 * var(--mobile-gutter));
        padding: 0 var(--mobile-gutter) 4px;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .school-advantages__tabs::-webkit-scrollbar {
        display: none;
    }

    .school-advantages__tab {
        flex-shrink: 0;
        min-height: 32px;
        padding: 5px 10px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
    }

    .school-advantages__feature {
        display: flex;
        flex-direction: column;
        min-height: 0;
        gap: 8px;
    }

    .school-advantages__feature-text {
        gap: 8px;
        padding: 20px;
        border-radius: 20px;
    }

    .school-advantages__feature-title {
        font-size: 20px;
        font-weight: 500;
        line-height: 28px;
    }

    .school-advantages__feature-desc {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
    }

    .school-advantages__feature-media {
        flex: 0 0 auto;
        width: 100%;
        height: 219px;
        border-radius: 20px;
    }

    .school-advantages__feature-media img {
        width: 100%;
        height: 219px;
        min-height: 219px;
        object-fit: cover;
        border-radius: 20px;
    }

    .school-advantages__panels + .school-advantages__grid {
        margin-top: -12px;
    }

    .school-advantages__grid {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 12px;
        margin: 0 calc(-1 * var(--mobile-gutter)) 0 0;
        padding: 0 var(--mobile-gutter) 0 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .school-advantages__grid::-webkit-scrollbar {
        display: none;
    }

    .school-advantages__card {
        flex: 0 0 260px;
        width: 260px;
        min-height: 0;
        gap: 24px;
        padding: 16px;
        border-radius: 20px;
        scroll-snap-align: start;
    }

    .school-advantages__card-icon {
        width: 40px;
        height: 40px;
    }

    .school-advantages__card-body {
        gap: 8px;
    }

    .school-advantages__card-title {
        font-size: 18px;
        font-weight: 500;
        line-height: 24px;
    }

    .school-advantages__card-text {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
    }

    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag']:has(+ .drag-block.container[data-class='TEAM_MAIN_drag']) {
        position: relative;
        z-index: 1;
    }

    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag']:has(+ .drag-block.container[data-class='TEAM_MAIN_drag']) .school-advantages {
        padding-bottom: 120px;
        overflow: visible;
        isolation: auto;
    }

    /* TEAM_MAIN */
    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag'] + .drag-block.container[data-class='TEAM_MAIN_drag'] {
        position: relative;
        z-index: 2;
        margin-top: -40px;
        background: transparent;
        transform: translateZ(0);
    }

    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag'] + .drag-block.container[data-class='TEAM_MAIN_drag'] .team-main {
        padding: 0;
        background: transparent;
    }

    .drag-block.container[data-class='SCHOOL_ADVANTAGES_MAIN_drag'] + .drag-block.container[data-class='TEAM_MAIN_drag'] .team-main::after {
        content: '';
        display: block;
        height: var(--mobile-section-y);
        background: var(--team-color-white);
    }

    .team-main__stage {
        position: relative;
        z-index: 1;
        margin-top: 0;
        min-height: 800px;
        border-radius: 24px;
        overflow: hidden;
        background-color: #ffffff;
        box-shadow: 0 0 0 1px rgba(17, 24, 39, 0.04);
    }

    .team-main__hero,
    .team-main__hero-layer {
        border-radius: 24px;
    }

    .team-main__hero-fade {
        border-radius: 0;
    }

    .team-main__hero-fade--top {
        display: block;
        top: 0;
        z-index: 3;
        height: 270px;
        border-radius: 24px 24px 0 0;
        background: linear-gradient(
            0deg,
            rgba(245, 245, 245, 0) 0%,
            #f5f5f5 10.26%,
            #f5f5f5 100%
        );
    }

    .team-main__hero-fade--bottom {
        display: block;
        bottom: 0;
        z-index: 2;
        height: 279px;
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.5) 34.26%,
            #000000 100%
        );
    }

    .team-main__head {
        z-index: 5;
        padding: 32px var(--mobile-gutter) 20px;
        gap: 12px;
    }

    .team-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
        color: var(--team-color-text);
    }

    .team-main__intro {
        gap: 8px;
    }

    .team-main__intro p {
        font-size: 14px;
        line-height: 22px;
        color: var(--team-color-muted);
        opacity: 0.8;
    }

    .team-main__hero-layer {
        background-image: var(--team-hero-image-mobile, var(--team-hero-image));
    }

    .team-main__bottom {
        z-index: 4;
    }

    .team-main__desc {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        max-height: 44px;
    }

    /* WORKS_MAIN */
    .works-main {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        padding: var(--works-gap-section-top) 0 var(--works-gap-section-bottom);
        padding-bottom: 80px;
    }

    .works-main__inner {
        gap: 32px;
        width: 100%;
    }

    .works-main__head {
        gap: 12px;
        max-width: none;
        padding: 0 var(--mobile-gutter);
    }

    .works-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .works-main__subtitle {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        opacity: 0.8;
    }

    .works-main__gallery {
        gap: 12px;
    }

    .works-main__slide {
        border-radius: 20px;
    }

    .works-main__cta-wrap {
        width: 100%;
        max-width: none;
        margin: 0;
        margin-top: 25px;
        padding: 0 var(--mobile-gutter);
        overflow: visible;
    }

    .works-main__cta {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        min-height: 0;
        padding: 32px 24px;
        border-radius: 24px;
        overflow: visible;
        isolation: isolate;
    }

    .works-main__cta--success {
        overflow: hidden;
    }

    .works-main__cta-decor {
        right: 16px;
        left: auto;
        top: -52px;
        width: 143px;
        height: 162px;
        transform: none;
    }

    .works-main__cta-decor picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .works-main__cta-decor-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: left top;
    }

    .works-main__cta-content {
        flex: none;
        width: 100%;
        min-height: 0;
        padding-top: 0;
        gap: 12px;
    }

    .works-main__cta-title {
        max-width: 280px;
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .works-main__cta-text {
        max-width: none;
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        opacity: 0.8;
    }

    .works-main__cta-panel {
        flex: none;
        width: 100%;
    }

    .works-main__cta-fields {
        gap: 8px;
    }

    .works-main__cta-input,
    .works-main__cta-field input[type='text'],
    .works-main__cta-field input[type='tel'] {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
    }

    .works-main__cta-actions {
        gap: 24px;
    }

    .works-main__cta-submit,
    button.works-main__cta-submit {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .works-main__cta-consent-row {
        gap: 12px;
    }

    .works-main__cta-consent-text {
        font-size: 11px;
        font-weight: 400;
        line-height: 16px;
    }

    .works-main__cta--success {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        min-height: 456px;
        height: auto;
        max-height: 456px;
        padding: 32px 24px;
        background: radial-gradient(343.43% 552.35% at 40.3% 30.7%, #111827 0%, #383f4e 53.04%, #111827 100%);
        border-radius: 24px;
        overflow: hidden;
    }

    .works-main__cta--success .works-main__cta-panel {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .works-main__cta-form--success {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .works-main__cta-success {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        width: 100%;
        height: auto;
        min-height: 0;
    }

    .works-main__cta-success-content {
        width: 100%;
        max-width: none;
        gap: 12px;
        flex: none;
        position: relative;
        z-index: 2;
    }

    .works-main__cta-success-title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .works-main__cta-success-desc {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        opacity: 0.8;
    }

    .works-main__cta-success-visual {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        height: 271px;
        margin: auto 0 0;
        inset: auto;
        flex: none;
        align-self: stretch;
    }

    .works-main__cta-success-glow {
        display: none;
    }

    .works-main__cta-success-check {
        left: 50%;
        top: 16px;
        width: 271px;
        height: 271px;
        margin-left: -76.5px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: rotate(-11.63deg);
    }

    .works-main__cta-success-check-icon.works-main__cta-success-icon--desktop,
    .works-main__cta-success-bubble-icon.works-main__cta-success-icon--desktop {
        display: none;
    }

    .works-main__cta-success-check-icon.works-main__cta-success-icon--mobile,
    .works-main__cta-success-bubble-icon.works-main__cta-success-icon--mobile {
        display: block;
    }

    .works-main__cta-success-check-icon.works-main__cta-success-icon--mobile {
        width: 80px;
        height: 76px;
    }

    .works-main__cta-success-bubble--phone {
        left: calc(50% - 126px);
        top: 58px;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: linear-gradient(167.23deg, rgba(255, 255, 255, 0.1) 4.15%, rgba(255, 255, 255, 0.1) 90.76%);
        backdrop-filter: blur(19px);
        -webkit-backdrop-filter: blur(19px);
        transform: rotate(-8.71deg);
    }

    .works-main__cta-success-bubble--phone .works-main__cta-success-bubble-icon {
        width: 29px;
        height: 24px;
    }

    .works-main__cta-success-bubble--msg {
        left: calc(50% + 56px);
        top: -8px;
        right: auto;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: linear-gradient(159.86deg, rgba(255, 255, 255, 0.1) -6.8%, rgba(255, 255, 255, 0.1) 86.59%);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        transform: rotate(7.32deg);
    }

    .works-main__cta-success-bubble--msg .works-main__cta-success-bubble-icon {
        width: 27px;
        height: 27px;
    }

    /* REVIEWS_MAIN */
    .reviews-main {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-bottom: var(--mobile-section-y);
        padding: 32px 0;
        border-radius: 24px;
        overflow: visible;
        margin-bottom: 0px;
    }

    .reviews-main__inner {
        gap: 24px;
        max-width: none;
        padding: 0 var(--mobile-gutter);
    }

    .reviews-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .reviews-main__layout {
        gap: 12px;
    }

    .reviews-main__summary {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 20px;
        gap: 32px;
        border-radius: 20px;
    }

    .reviews-main__summary-top {
        gap: 4px;
    }

    .reviews-main__summary-bottom {
        gap: 24px;
    }

    .reviews-main__summary-middle {
        gap: 16px;
    }

    .reviews-main__summary-rating {
        gap: 10px;
    }

    .reviews-main__summary-value {
        font-size: 32px;
        font-weight: 600;
        line-height: 40px;
    }

    .reviews-main__summary-caption {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
    }

    .reviews-main__summary-platforms {
        font-size: 14px;
        font-weight: 500;
        line-height: 22px;
    }

    .reviews-main__summary-star svg {
        width: 32px;
        height: 32px;
    }

    .reviews-main__social {
        width: 36px;
        height: 36px;
    }

    .reviews-main__social svg {
        width: 36px;
        height: 36px;
    }

    .reviews-main__summary-btn {
        min-height: 40px;
        padding: 9px 16px;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 500;
        line-height: 22px;
    }

    .reviews-main__slider-wrap {
        min-height: 394px;
        margin-right: calc(-1 * var(--mobile-gutter));
        --reviews-bleed-right: var(--mobile-gutter);
    }

    .reviews-main__viewport {
        width: calc(100% + var(--mobile-gutter));
        min-height: 394px;
        margin-left: 0;
        padding-left: 0;
    }

    .reviews-main__card {
        flex: 0 0 var(--reviews-card-width);
        width: var(--reviews-card-width);
        height: 394px;
        min-height: 394px;
        padding: 24px;
        gap: 32px;
        border-radius: 20px;
    }

    .reviews-main__track {
        gap: var(--reviews-gap-cards);
    }

    .reviews-main__card-body {
        gap: 24px;
    }

    .reviews-main__text-wrap {
        gap: 8px;
    }

    .reviews-main__star {
        width: 20px;
        height: 20px;
    }

    .reviews-main__star svg {
        width: 20px;
        height: 20px;
    }

    .reviews-main__text {
        font-size: 15px;
        line-height: 22px;
        -webkit-line-clamp: 6;
    }

    .reviews-main__read-more {
        font-size: 15px;
        line-height: 22px;
    }

    .reviews-main__photos {
        gap: 12px;
    }

    .reviews-main__photo {
        width: 40px;
        height: 40px;
        border-radius: 4px;
    }

    .reviews-main__photo img {
        width: 40px;
        height: 40px;
    }

    .reviews-main__author {
        gap: 16px;
    }

    .reviews-main__avatar {
        width: 48px;
        height: 48px;
    }

    .reviews-main__author-name {
        font-size: 18px;
        font-weight: 500;
        line-height: 24px;
    }

    .reviews-main__author-date {
        font-size: 13px;
        line-height: 20px;
    }

    .reviews-main__dots {
        display: flex;
        gap: 6px;
        width: 100%;
        min-height: 4px;
    }

    .reviews-main__dots[hidden] {
        display: none !important;
    }

    .reviews-main__dot {
        width: 4px;
        height: 4px;
        border-radius: 8px;
        flex-shrink: 0;
    }

    /* REVIEW_DETAIL (popup) */
    .reviews-main__detail-modal {
        align-items: flex-end;
        justify-content: center;
        padding: 0 8px 8px;
    }

    .reviews-main__detail-modal--no-gallery {
        background: rgba(17, 24, 39, 0.55);
    }

    .reviews-main__detail-modal--gallery {
        align-items: stretch;
        justify-content: flex-start;
        padding: 0;
        height: 100svh;
        height: 100dvh;
        background: #ffffff;
    }

    .reviews-main__detail-modal--gallery .reviews-main__detail-shell {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        max-height: none;
        height: 100%;
        width: 100%;
        min-height: 0;
    }

    .reviews-main__detail-modal--gallery .reviews-main__detail-dialog {
        flex: 1 1 auto;
        max-height: none;
        height: 100%;
        min-height: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .reviews-main__detail-modal--gallery .reviews-main__detail-content {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
        height: 100%;
        overflow: hidden;
    }

    /* Gallery mobile viewer */
    .review-detail-popup--gallery {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1 1 auto;
        gap: 0;
        width: 100%;
        max-width: 100%;
        min-height: 0;
        height: 100%;
        overflow: hidden;
        overflow-x: hidden;
        background: #ffffff;
    }

    .review-detail-popup--gallery .review-detail-popup__mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: 0 0 72px;
        gap: 8px;
        width: 100%;
        height: 72px;
        padding: 12px 8px;
        border-bottom: 1px solid #e9ebef;
        background: #ffffff;
    }

    .review-detail-popup__mobile-back {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 48px;
        height: 48px;
        padding: 12px;
        border: none;
        border-radius: 8px;
        background: transparent;
        cursor: pointer;
    }

    .review-detail-popup__mobile-counter {
        flex: 1 1 auto;
        margin: 0;
        font-size: 16px;
        font-weight: 600;
        line-height: 24px;
        text-align: center;
        color: #111827;
    }

    .review-detail-popup__mobile-header-spacer {
        flex: none;
        width: 48px;
        height: 48px;
    }

    .review-detail-popup--gallery .review-detail-popup__gallery {
        flex: 1 1 0;
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-height: 0;
        max-height: calc(100svh - 72px - 260px);
        max-height: calc(100dvh - 72px - 260px);
        height: auto;
        gap: 0;
        overflow: hidden;
        background: #c3c7cb;
    }

    .review-detail-popup--gallery .review-detail-popup__gallery-main {
        width: 100%;
        height: 100%;
        min-height: 0;
        aspect-ratio: unset !important;
        border-radius: 0;
        overflow: hidden;
        background: #c3c7cb;
    }

    .review-detail-popup--gallery .review-detail-popup__gallery-image {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .review-detail-popup--gallery .review-detail-popup__gallery > .review-detail-popup__thumbs {
        display: none;
    }

    .review-detail-popup--gallery .review-detail-popup__content--desktop {
        display: none !important;
    }

    .review-detail-popup--gallery .review-detail-popup__mobile-dock {
        flex: 0 0 auto;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100%;
        max-width: 100%;
        padding: 16px 20px max(20px, env(safe-area-inset-bottom, 0px));
        background: #ffffff;
        overflow: hidden;
    }

    .review-detail-popup__preview-card {
        display: flex;
        flex-direction: column;
        gap: 12px;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 20px 16px;
        border: 1px solid #ebedf1;
        border-radius: 12px;
        background: #ffffff;
        font: inherit;
        color: inherit;
        text-align: left;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }

    .review-detail-popup__preview-bottom {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        width: 100%;
        min-width: 0;
    }

    .review-detail-popup__preview-chevron {
        display: inline-flex;
        flex: none;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        transform: none;
    }

    .review-detail-popup__preview-chevron svg {
        display: block;
    }

    .reviews-main__detail-dialog {
        width: 100%;
        max-width: none;
        max-height: calc(100vh - 16px);
        overflow: auto;
        padding: 24px 20px 20px;
        border: 1px solid #e9ebef;
        border-radius: 16px;
        box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    }

    .reviews-main__detail-shell--no-gallery .reviews-main__detail-dialog {
        position: relative;
        isolation: isolate;
        max-height: min(548px, calc(100vh - 16px));
        padding: 26px 24px 24px;
        border: none;
        border-radius: 20px;
        box-shadow: none;
    }

    .reviews-main__detail-shell--no-gallery .reviews-main__detail-dialog::before {
        content: '';
        position: absolute;
        top: 6px;
        left: 50%;
        z-index: 2;
        width: 56px;
        height: 4px;
        border-radius: 4px;
        background: #d2d6dc;
        transform: translateX(-50%);
    }

    .reviews-main__detail-modal--gallery.is-sheet-open {
        background: rgba(17, 24, 39, 0.55);
    }

    .reviews-main__detail-modal--gallery .reviews-main__detail-overlay {
        display: none;
    }

    .reviews-main__detail-modal--gallery.is-sheet-open .reviews-main__detail-overlay {
        display: block;
    }

    .reviews-main__detail-shell,
    .reviews-main__detail-shell--no-gallery {
        width: 100%;
        max-height: calc(100vh - 16px);
    }

    .reviews-main__detail-close {
        display: none;
    }

    .reviews-main__detail-shell {
        position: relative;
        flex-direction: column;
    }

    .review-detail-popup--no-gallery .review-detail-popup__content {
        gap: 32px;
    }

    .review-detail-popup--no-gallery .review-detail-popup__body {
        gap: 24px;
    }

    .review-detail-popup__text {
        font-size: 15px;
        line-height: 22px;
    }

    .review-detail-popup__author-name {
        font-size: 18px;
        line-height: 24px;
    }

    .review-detail-popup__author-date {
        font-size: 13px;
        line-height: 20px;
    }

    .review-detail-popup__avatar {
        width: 48px;
        height: 48px;
    }

    .review-detail-popup__author {
        gap: 16px;
    }

    .review-detail-popup__author--no-avatar {
        gap: 0;
    }

    .review-detail-popup__star {
        width: 20px;
        height: 20px;
    }

    .review-detail-popup__star svg {
        width: 20px;
        height: 20px;
    }

    .review-detail-popup__preview-top {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        min-width: 0;
    }

    .review-detail-popup__preview-meta {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-width: 0;
    }

    .review-detail-popup__preview-name {
        font-size: 18px;
        font-weight: 500;
        line-height: 22px;
        color: #111827;
    }

    .review-detail-popup__preview-date {
        font-size: 15px;
        font-weight: 400;
        line-height: 22px;
        color: #5a616c;
    }

    .review-detail-popup__preview-top .review-detail-popup__stars {
        flex: none;
    }

    .review-detail-popup__preview-text {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow-wrap: anywhere;
        word-break: break-word;
        font-size: 15px;
        font-weight: 400;
        line-height: 22px;
        color: #111827;
    }

    .review-detail-popup__mobile-thumbs,
    .review-detail-popup__sheet-thumbs {
        display: flex;
        align-items: flex-start;
        gap: 4px;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .review-detail-popup__mobile-thumbs::-webkit-scrollbar,
    .review-detail-popup__sheet-thumbs::-webkit-scrollbar {
        display: none;
    }

    .review-detail-popup__mobile-thumbs .review-detail-popup__thumb,
    .review-detail-popup__sheet-thumbs .review-detail-popup__thumb {
        flex: none;
    }

    /* Expanded sheet */
    .review-detail-popup--gallery .review-detail-popup__mobile-sheet {
        position: fixed;
        inset: 0;
        z-index: 5;
        pointer-events: none;
    }

    .review-detail-popup--gallery .review-detail-popup__mobile-sheet[hidden] {
        display: none !important;
    }

    .review-detail-popup--gallery .review-detail-popup__mobile-sheet:not([hidden]) {
        display: block;
    }

    .review-detail-popup--gallery.is-sheet-open .review-detail-popup__mobile-sheet {
        pointer-events: auto;
    }

    .review-detail-popup__sheet-overlay {
        position: absolute;
        inset: 0;
        background: transparent;
    }

    .review-detail-popup__sheet-panel {
        position: absolute;
        left: 8px;
        right: 8px;
        bottom: 8px;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 16px);
        padding: 26px 24px 24px;
        border-radius: 20px;
        background: #ffffff;
        transform: translateY(calc(100% + 16px));
        transition: transform 0.3s ease;
    }

    .review-detail-popup--gallery.is-sheet-open .review-detail-popup__sheet-panel {
        transform: translateY(0);
    }

    .review-detail-popup__sheet-handle {
        position: absolute;
        top: 6px;
        left: 50%;
        width: 56px;
        height: 4px;
        border-radius: 4px;
        background: #d2d6dc;
        transform: translateX(-50%);
    }

    .review-detail-popup__sheet-scroll {
        display: flex;
        flex-direction: column;
        gap: 24px;
        overflow-y: auto;
        max-height: calc(100vh - 80px);
    }

    .review-detail-popup__text--sheet {
        flex: none;
    }

    .review-detail-popup__sheet-scroll .review-detail-popup__author {
        flex: none;
    }

    /* REVIEW_FORM (popup) */
    .individual-form-modal:has(.review-form) {
        align-items: flex-end;
        justify-content: center;
        padding: 8px;
    }

    .individual-form-modal:has(.review-form.success),
    .individual-form-modal.individual-form-modal--success:has(.review-form) {
        align-items: flex-end;
    }

    .individual-form-modal:has(.review-form) .individual-form-modal__dialog,
    .individual-form-modal:has(.review-form.success) .individual-form-modal__dialog,
    .individual-form-modal.individual-form-modal--success:has(.review-form) .individual-form-modal__dialog {
        width: 100%;
        max-width: 359px;
        max-height: var(--individual-form-modal-max-height);
    }

    .review-form .individual-form__wrap {
        padding: 0;
        border: 0;
        border-radius: 16px;
        box-shadow: 0 -10px 30px -5px rgba(0, 0, 0, 0.04);
    }

    .individual-form-modal--success .review-form .individual-form__wrap,
    .review-form.success .individual-form__wrap {
        padding: 32px 20px 20px;
    }

    .individual-form-modal .review-form .individual-form__toolbar {
        padding: 8px 8px 0;
    }

    .individual-form-modal .review-form form {
        padding: 0 20px 20px;
        max-height: calc(var(--individual-form-modal-max-height) - 36px);
    }

    .review-form .individual-form__header {
        gap: 0;
        padding-right: 0;
    }

    .review-form .individual-form__title {
        font-size: 24px;
        font-weight: 500;
        line-height: 36px;
    }

    .review-form form {
        gap: 24px;
    }

    .review-form .individual-form__fields {
        gap: 20px;
    }

    .review-form .individual-form__field {
        gap: 4px;
    }

    .review-form .individual-form__label,
    .review-form__label--caption {
        color: #111827;
        font-size: 15px;
        font-weight: 500;
        line-height: 22px;
    }

    .review-form__label--heading,
    .review-form__field--message .individual-form__label {
        font-size: 16px;
        line-height: 24px;
    }

    .review-form .individual-form__input,
    .review-form .individual-form__field .form-control {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-width: 1.5px;
        border-color: #e9ebef;
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
    }

    .review-form__field--message .individual-form__textarea,
    .review-form__field--message textarea.form-control {
        min-height: 216px;
        height: 216px;
        padding: 12px 16px;
        border-width: 1.5px;
        border-color: #e9ebef;
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
    }

    .review-form__upload {
        gap: 8px;
    }

    .review-form__upload-zone {
        gap: 16px;
        padding: 18px;
        border-width: 2px;
        border-color: #e9ebef;
        border-radius: 10px;
    }

    .review-form__upload-icon {
        width: 24px;
        height: 24px;
    }

    .review-form__upload-icon svg {
        width: 24px;
        height: 24px;
    }

    .review-form__upload-text {
        font-size: 16px;
        line-height: 24px;
    }

    .review-form__upload-limit {
        font-size: 12px;
        line-height: 18px;
    }

    .review-form__upload-preview {
        gap: 12px 8px;
    }

    .review-form__stars {
        justify-content: center;
        gap: 12px;
    }

    .review-form__star-btn,
    .review-form__star-icon {
        width: 40px;
        height: 40px;
    }

    .review-form .individual-form__footer {
        gap: 16px;
    }

    .review-form .individual-form__consent-text {
        font-size: 11px;
        line-height: 16px;
    }

    .review-form .individual-form__submit,
    .review-form .individual-form__success-action button {
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .review-form__success,
    .review-form.success .individual-form__success {
        align-items: center;
        gap: 24px;
        text-align: center;
    }

    .review-form__success-icon svg {
        width: 72px;
        height: 72px;
    }

    .review-form .individual-form__success-title {
        font-size: 24px;
        font-weight: 500;
        line-height: 36px;
    }

    .review-form .individual-form__success-desc {
        max-width: none;
        font-size: 16px;
        line-height: 24px;
        text-align: center;
    }

    .review-form .individual-form__success-text {
        gap: 12px;
        align-items: center;
    }

    /* INDIVIDUAL_FORM (popup) */
    .individual-form-modal:has(.individual-form:not(.review-form)) {
        align-items: flex-end;
        justify-content: center;
        padding: 8px;
    }

    .individual-form-modal:has(.individual-form:not(.review-form).success),
    .individual-form-modal.individual-form-modal--success:has(.individual-form:not(.review-form)) {
        align-items: flex-end;
    }

    .individual-form-modal:has(.individual-form:not(.review-form)) .individual-form-modal__dialog,
    .individual-form-modal:has(.individual-form:not(.review-form).success) .individual-form-modal__dialog,
    .individual-form-modal.individual-form-modal--success:has(.individual-form:not(.review-form)) .individual-form-modal__dialog {
        width: 100%;
        max-width: 359px;
        max-height: var(--individual-form-modal-max-height);
    }

    .individual-form:not(.review-form) .individual-form__wrap {
        padding: 0;
        border: 1px solid #e9ebef;
        border-radius: 16px;
        box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    }

    .individual-form-modal--success .individual-form:not(.review-form) .individual-form__wrap,
    .individual-form:not(.review-form).success .individual-form__wrap {
        padding: 32px 20px 20px;
    }

    .individual-form-modal .individual-form:not(.review-form) .individual-form__toolbar {
        padding: 8px 8px 0;
    }

    .individual-form-modal .individual-form:not(.review-form) form {
        padding: 0 20px 20px;
        max-height: calc(var(--individual-form-modal-max-height) - 36px);
    }

    .individual-form:not(.review-form) .individual-form__header {
        gap: 16px;
        padding-right: 0;
        margin-bottom: 16px;
    }

    .individual-form:not(.review-form) .individual-form__title {
        font-size: 24px;
        font-weight: 500;
        line-height: 32px;
    }

    .individual-form:not(.review-form) .individual-form__desc {
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        color: #111827;
    }

    .individual-form:not(.review-form) form {
        gap: 16px;
    }

    .individual-form:not(.review-form) .individual-form__fields {
        gap: 16px;
    }

    .individual-form:not(.review-form) .individual-form__field {
        gap: 4px;
    }

    .individual-form:not(.review-form) .individual-form__label {
        font-size: 12px;
        font-weight: 400;
        line-height: 18px;
        color: #5a616c;
    }

    .individual-form:not(.review-form) .individual-form__input,
    .individual-form:not(.review-form) .individual-form__phone,
    .individual-form:not(.review-form) .individual-form__field .form-control {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-width: 1.5px;
        border-color: #e9ebef;
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
    }

    .individual-form:not(.review-form) .individual-form__footer {
        gap: 16px;
    }

    .individual-form:not(.review-form) .individual-form__consent-text {
        font-size: 11px;
        line-height: 16px;
    }

    .individual-form:not(.review-form) .individual-form__submit,
    .individual-form:not(.review-form) .individual-form__success-action button {
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .individual-form:not(.review-form) .individual-form__success {
        align-items: center;
        gap: 24px;
        text-align: center;
    }

    .individual-form:not(.review-form) .individual-form__success-icon {
        width: 72px;
        height: 72px;
    }

    .individual-form:not(.review-form) .individual-form__success-icon img {
        width: 72px;
        height: 72px;
    }

    .individual-form:not(.review-form) .individual-form__success-title {
        font-size: 24px;
        font-weight: 500;
        line-height: 32px;
    }

    .individual-form:not(.review-form) .individual-form__success-desc {
        max-width: none;
        font-size: 16px;
        line-height: 24px;
        text-align: center;
        color: #5a616c;
    }

    .individual-form:not(.review-form) .individual-form__success-text {
        gap: 12px;
        align-items: center;
    }

    /* FAQ_MAIN */
    .faq-main {
        padding: var(--mobile-section-y) 0;
    }

    .faq-main__inner {
        gap: 24px;
        max-width: none;
        padding: 0 var(--mobile-gutter);
    }

    .faq-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .faq-main__layout {
        gap: 24px;
    }

    .faq-main__accordion {
        gap: 12px;
    }

    .faq-main__item {
        padding: 16px 16px 16px 20px;
        background: #f7f8f9;
        border-radius: 12px;
        gap: 0;
    }

    .faq-main__item:hover {
        background: var(--faq-color-bg-hover);
    }

    .faq-main__item.is-active {
        gap: 16px;
        padding-bottom: 16px;
    }

    .faq-main__trigger {
        align-items: flex-start;
        gap: 20px;
    }

    .faq-main__question {
        font-size: 18px;
        font-weight: 500;
        line-height: 24px;
    }

    .faq-main__answer {
        padding: 0 4px 0 0;
        font-family: 'Inter', system-ui, -apple-system, sans-serif;
        font-size: 16px;
        line-height: 28px;
    }

    .faq-main__aside {
        gap: 32px;
        padding: 24px 20px 20px;
        border-radius: 16px;
    }

    .faq-main__aside-title {
        font-size: 24px;
        font-weight: 500;
        line-height: 32px;
    }

    .faq-main__form > form,
    .faq-main__form--error > form {
        gap: 20px;
    }

    .faq-main__fields {
        gap: 10px;
    }

    .faq-main__input,
    .faq-main__textarea {
        font-size: 16px;
        line-height: 24px;
    }

    .faq-main__input {
        height: 48px;
        padding: 12px 20px 12px 16px;
        border-radius: 8px;
    }

    .faq-main__field[data-faq-phone-field='Y'] .faq-main__input {
        height: 52px;
        padding: 14px 20px 14px 16px;
    }

    .faq-main__textarea {
        height: 126px;
        min-height: 126px;
        padding: 14px 20px 14px 16px;
        border-radius: 10px;
    }

    .faq-main__consent-text {
        font-size: 11px;
        line-height: 16px;
    }

    .faq-main__submit-wrap {
        height: 48px;
    }

    .faq-main__submit {
        min-height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-family: 'Inter', system-ui, -apple-system, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .faq-main__overlay {
        border-radius: 16px;
    }

    .faq-main__aside--success,
    .faq-main__aside:has(.faq-main__form--success) {
        gap: 0;
        width: 100%;
        height: 380px;
        min-height: 380px;
        padding: 20px;
    }

    .faq-main__success {
        gap: 32px;
    }

    .faq-main__success-content {
        gap: 10px;
        max-width: none;
    }

    .faq-main__success-title {
        font-size: 24px;
        font-weight: 500;
        line-height: 32px;
    }

    .faq-main__success-desc {
        font-size: 14px;
        line-height: 22px;
    }

    .faq-main__aside--success .faq-main__success-visual,
    .faq-main__aside:has(.faq-main__form--success) .faq-main__success-visual {
        left: 28.4px;
        top: 59.5px;
        right: auto;
        bottom: auto;
        width: 287px;
        height: 374px;
        margin-left: 0;
    }

    .faq-main__success-visual-img--desktop {
        display: none;
    }

    .faq-main__success-visual-img--mobile {
        display: block;
        transform: rotate(13.33deg);
    }

    /* JOURNAL_MAIN */
    .journal-main {
        padding: var(--mobile-section-y) 0;
        background: #ffffff;
    }

    .journal-main__card {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        box-sizing: border-box;
        width: 100%;
        min-height: 780px;
        padding: 32px var(--mobile-gutter);
        gap: 40px;
        border-radius: 24px;
        overflow: hidden;
        background: radial-gradient(
            393.69% 180.31% at 123.2% -25.83%,
            #111827 48.67%,
            #383f4e 82.71%,
            #111827 94.93%
        );
    }

    .journal-main__inner {
        position: relative;
        z-index: 0;
        width: 100%;
        padding: 0;
    }

    .journal-main__content {
        gap: 32px;
        max-width: none;
        padding-bottom: 0;
        width: 100%;
    }

    .journal-main__text {
        gap: 12px;
    }

    .journal-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .journal-main__desc {
        max-width: none;
        font-size: 14px;
        line-height: 22px;
    }

    .journal-main__btn {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-family: 'Inter', system-ui, -apple-system, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .journal-main__visual {
        position: absolute;
        top: auto;
        right: 0;
        bottom: 0;
        left: auto;
        display: block;
        width: auto;
        height: auto;
        margin: 0;
        line-height: 0;
        transform: none;
        z-index: 1;
        pointer-events: none;
    }

    .journal-main__visual-img--desktop {
        display: none;
    }

    .journal-main__visual-img--mobile {
        display: block;
        width: 370px;
        height: auto;
        max-width: none;
        max-height: none;
        transform: rotate(360deg);
        transform-origin: 100% 100%;
    }

    /* NEWS_MAIN */
    .news-main {
        padding: var(--mobile-section-y) 0;
    }

    .news-main__inner {
        gap: 24px;
        max-width: none;
        padding: 0 var(--mobile-gutter);
    }

    .news-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .news-main__grid {
        flex-direction: column;
        gap: 0;
        min-height: 0;
    }

    .news-main__track {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        width: calc(100% + var(--mobile-gutter));
        margin-right: calc(-1 * var(--mobile-gutter));
        padding-right: var(--mobile-gutter);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .news-main__track::-webkit-scrollbar {
        display: none;
    }

    .news-main__track .news-main__card {
        flex: 0 0 290px;
        width: 290px;
        min-width: 290px;
        min-height: 350px;
        height: 350px;
        gap: 20px;
        border-radius: 16px;
        transform: none;
        box-shadow: none;
    }

    .news-main__track .news-main__card:hover {
        transform: none;
        box-shadow: none;
    }

    .news-main__track .news-main__card:nth-child(3n + 1),
    .news-main__track .news-main__card:nth-child(3n + 3) {
        background: #f5f6fb;
    }

    .news-main__track .news-main__card:nth-child(3n + 2) {
        background: #eceef4;
    }

    .news-main__card-media {
        height: 180px;
        border-radius: 16px;
    }

    .news-main__card-body {
        flex: 1 1 auto;
        justify-content: flex-start;
        gap: 8px;
        min-height: 0;
        padding: 0 20px 20px;
    }

    .news-main__card-meta {
        order: 1;
        gap: 12px;
    }

    .news-main__card-text {
        order: 2;
        gap: 8px;
    }

    .news-main__card-category,
    .news-main__card-date {
        font-size: 12px;
        line-height: 18px;
        font-weight: 400;
    }

    .news-main__card-title {
        font-size: 20px;
        line-height: 24px;
    }

    .news-main__card-desc {
        font-size: 13px;
        line-height: 20px;
    }

    .news-main__more {
        display: none;
    }

    .news-main__cta {
        display: inline-flex;
        align-self: flex-start;
        min-width: 147px;
        min-height: 48px;
    }

    /* CONTACTS_MAIN */
    .contacts-main {
        padding: var(--mobile-section-y) 0;
        overflow: hidden;
    }

    .contacts-main__inner {
        gap: 24px;
        max-width: none;
        padding: 0 var(--mobile-gutter);
    }

    .contacts-main__title {
        font-size: 28px;
        font-weight: 600;
        line-height: 34px;
    }

    .contacts-main__top {
        flex-direction: column;
        gap: 8px;
        height: auto;
    }

    .contacts-main__card {
        flex: none;
        justify-content: flex-start;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 20px;
        gap: 16px;
        border-radius: 20px;
    }

    .contacts-main__field,
    .contacts-main__field--phones {
        gap: 6px;
    }

    .contacts-main__phones {
        gap: 0;
    }

    .contacts-main__label {
        font-size: 14px;
        font-weight: 500;
        line-height: 22px;
    }

    .contacts-main__value,
    .contacts-main__phone,
    .contacts-main__phone--lg {
        font-size: 18px;
        font-weight: 500;
        line-height: 24px;
    }

    .contacts-main__map-wrap {
        width: 100%;
        height: 305px;
        min-height: 305px;
        border-radius: 20px;
    }

    .contacts-main__map-wrap .bx-yandex-view-map,
    .contacts-main__map-wrap .bx-yandex-map {
        height: 305px !important;
    }

    .contacts-main__cities {
        gap: 12px;
        margin-top: 24px;
    }

    .contacts-main__track-inner {
        gap: 12px;
    }

    .contacts-main__city,
    .contacts-main__city-sep {
        font-size: 32px;
        font-weight: 500;
        line-height: 40px;
    }

    .contacts-main__modal {
        align-items: flex-end;
        justify-content: center;
        padding: 0 8px 8px;
    }

    .contacts-main__modal-shell {
        width: 100%;
        max-height: calc(100vh - 16px);
    }

    .contacts-main__modal-dialog {
        width: 100%;
        max-height: calc(100vh - 16px);
        overflow: auto;
        padding: 24px 20px 20px;
        border: 1px solid #e9ebef;
        border-radius: 16px;
        box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    }

    .contacts-main__modal-close {
        top: 12px;
        right: 12px;
        width: 28px;
        height: 28px;
        padding: 2px;
        border-radius: 4px;
    }

    .contacts-main__modal-body {
        gap: 32px;
    }

    .contacts-main__modal-content {
        gap: 16px;
    }

    .contacts-main__modal-title {
        font-size: 24px;
        font-weight: 600;
        line-height: 32px;
        padding-right: 36px;
    }

    .contacts-main__modal-fields {
        gap: 16px;
    }

    .contacts-main__modal-field {
        gap: 2px;
    }

    .contacts-main__modal-field-label {
        font-size: 12px;
        font-weight: 400;
        line-height: 18px;
        color: #5a616c;
    }

    .contacts-main__modal-field-value {
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
    }

    .contacts-main__modal-actions {
        gap: 8px;
    }

    .contacts-main__modal-btn {
        min-height: 48px;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
    }

    .contacts-main__modal-btn--primary {
        font-family: 'Inter', system-ui, -apple-system, sans-serif;
        font-weight: 500;
    }

    .contacts-main__modal-btn--secondary {
        font-weight: 400;
        background: #f0f2f5;
    }

    .contacts-main__modal-dialog--cities .contacts-main__modal-body {
        gap: 0;
    }

    .contacts-main__city-list {
        gap: 2px;
    }

    .contacts-main__city-list-item {
        min-height: 42px;
        height: auto;
        padding: 9px 16px;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        border-radius: 0;
    }

    .contacts-main__city-list-item:hover,
    .contacts-main__city-list-item:focus-visible {
        background: #f5f6fb;
    }
}
