.home51 {
    --home51-purple: #5a3ef5;
    --home51-purple-dark: #5636e7;
    --home51-purple-soft: #ece8ff;
    --home51-navy: #12172f;
    --home51-text: #111427;
    --home51-muted: #636b80;
    --home51-bg: #f0f2f9;
    --home51-white: #ffffff;
    --home51-border: #e3e7f0;

    color: var(--home51-text);
}

.home51 *,
.home51 *::before,
.home51 *::after {
    box-sizing: border-box;
}


/* ==========================================================
   HERO — EXACT TARGET
   ========================================================== */

.home51-hero {
    padding: 93px 0 100px;

    background:
        radial-gradient(
            circle 305px at 91.7% 15%,
            #d4d3f4 0,
            rgba(212, 211, 244, 0) 100%
        ),
        radial-gradient(
            circle,
            rgba(44, 49, 70, .08) 1px,
            transparent 1px
        ),
        #eceff6;

    background-size:
        auto,
        22px 22px,
        auto;

    background-repeat:
        no-repeat,
        repeat,
        no-repeat;
}
@media (min-width: 1600px) {

    .home51-hero .home51-header-container {
        position: relative;
        left: 8px;
    }
}


/* Контейнер в макете — 1220 px */

.home51-hero .home51-header-container {
    width: min(calc(100% - 32px), 1220px);
    margin: 0 auto;
}


/* ==========================================================
   ОСНОВНАЯ СЕТКА
   790 + 50 + 380 = 1220
   ========================================================== */

.home51-hero__grid {
    display: grid;

    grid-template-columns: 789px 381px;
    gap: 49px;

    align-items: start;
}


/* ==========================================================
   ЛЕВАЯ ЧАСТЬ
   ========================================================== */

.home51-hero__content {
    min-width: 0;
    padding: 0;
}


/* Кикер */

.home51-hero__eyebrow {
    margin: 0 0 28px;

    color: #5a3ef5;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .12em;

    text-transform: uppercase;
}


/* H1 */

.home51-hero__title {
    max-width: 790px;
    margin: 0;

    color: #111427;

    font-size: 60px;
    line-height: 1.03;
    font-weight: 700;
    letter-spacing: 0;
}


/* Описание */

.home51-hero__text {
    max-width: 790px;
    min-height: 84px;

    margin-top: 34px;

    color: #666b7b;

    font-size: 18px;
    line-height: 1.55;
}


/* ==========================================================
   КНОПКИ
   ========================================================== */

.home51-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 10px;

    margin-top: 58px;
}


.home51-hero .home51-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    text-decoration: none;

    line-height: 1;
    font-weight: 700;

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


.home51-hero .home51-btn--primary {
    width: 233px;
    height: 54px;
    min-height: 54px;

    padding: 0 22px;

    border: 1px solid #5a3ef5;
    border-radius: 999px;

    background: #5a3ef5;
    color: #fff;

    font-size: 16px;
}


.home51-hero .home51-btn--primary:hover {
    border-color: #5636e7;
    background: #5636e7;
    color: #fff;
}


.home51-hero .home51-btn--messenger {
    height: 52px;
    min-height: 52px;

    padding: 0 14px;

    border: 1px solid #e2e4ec;
    border-radius: 999px;

    background: #fff;
    color: #444859;

    font-size: 14px;
}


.home51-hero .home51-btn--messenger:hover {
    border-color: #5a3ef5;

    background: #fff;
    color: #5a3ef5;
}


/* ==========================================================
   КАРТОЧКА ПОДАРКА
   TARGET: 380 × 479
   ========================================================== */

.home51-hero-offer {
    position: relative;

    box-sizing: border-box;

    width: 381px;
    height: 481px;

    padding: 0;

    border: 1px solid #e3e7f0;
    border-radius: 22px;

    background: #fff;

    box-shadow:
        0 18px 42px rgba(26, 30, 55, .10),
        0 4px 10px rgba(26, 30, 55, .05);
}


/* ПРИ БРОНИРОВАНИИ СЕГОДНЯ */

.home51-hero-offer__label {
    position: absolute;

    top: 26px;
    left: 24px;

    margin: 0;

    color: #5a3ef5;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .10em;

    text-transform: uppercase;
}


/* Выберите подарок к уборке */

.home51-hero-offer__title {
    position: absolute;

    top: 60px;
    left: 24px;

    width: 331px;

    margin: 0;

    color: #111427;

    font-size: 24px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: 0;
}


/* 4 варианта подарка */

.home51-hero-offer__items {
    position: absolute;

    top: 134px;
    right: 24px;
    left: 24px;

    display: grid;

    grid-template-rows:
        74px
        75px
        74px
        74px;

    gap: 8px;
}


.home51-offer-item {
    position: relative;

    display: grid;
    grid-template-columns: 15px minmax(0, 1fr);
    gap: 11px;
    align-items: center;

    min-height: 0;
    height: 100%;

    padding: 12px;

    border: 1px solid #e3e7f0;
    border-radius: 9px;

    background: #fff;

    cursor: pointer;
}
.home51-offer-item input {
    position: absolute;

    width: 1px;
    height: 1px;

    margin: 0;
    padding: 0;

    opacity: 0;

    pointer-events: none;
}


.home51-offer-item:has(input:checked) {
    border-color: #5a3ef5;
    background: #ece8ff;
}


.home51-offer-item__radio {
    position: relative;

    width: 14px;
    height: 14px;

    margin: 0;

    border: 1px solid #aeb4c3;
    border-radius: 50%;

    background: #fff;
}


.home51-offer-item__radio::after {
    content: "";

    position: absolute;

    top: 3px;
    left: 3px;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #5a3ef5;

    opacity: 0;
}


.home51-offer-item:has(input:checked)
.home51-offer-item__radio {
    border-color: #5a3ef5;
}


.home51-offer-item:has(input:checked)
.home51-offer-item__radio::after {
    opacity: 1;
}


.home51-offer-item__content {
    display: grid;
    gap: 2px;
}


.home51-offer-item__content strong {
    color: #111427;

    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}


.home51-offer-item__content small {
    color: #636b80;

    font-size: 16px;
    line-height: 1.25;
}

/* ==========================================================
   ТРИ КАРТОЧКИ ПОД HERO
   TARGET: 251 × 148, gap 18
   ========================================================== */

.home51-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 251px);

    gap: 18px;

    width: 789px;

    margin-top: 49px;
}


.home51-hero-stat {
    box-sizing: border-box;

    width: 251px;
    height: 148px;

    padding: 20px 24px;

    border: 0;
    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 10px 28px rgba(25, 31, 57, .07);
}


.home51-hero-stat strong {
    display: block;

    margin: 0 0 8px;

    color: #111427;

    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}


.home51-hero-stat span {
    display: block;

    color: #636b80;

    font-size: 16px;
    line-height: 1.4;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .home51-hero {
        padding: 64px 0;
    }

    .home51-hero .home51-header-container {
        width: min(calc(100% - 32px), 760px);
    }

    .home51-hero__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .home51-hero__title {
        font-size: clamp(42px, 7vw, 60px);
    }

    .home51-hero__text {
        min-height: 0;
    }

    .home51-hero-offer {
        width: 100%;
        max-width: 380px;
        height: auto;
    }

    .home51-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));

        width: 100%;
    }

    .home51-hero-stat {
        width: auto;
        height: auto;
        min-height: 148px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-hero {
        padding: 42px 0 48px;
    }

    .home51-hero .home51-header-container {
        width: calc(100% - 24px);
    }

    .home51-hero__eyebrow {
        margin-bottom: 18px;
    }

    .home51-hero__title {
        font-size: 36px;
        line-height: 1.04;
    }

    .home51-hero__text {
        margin-top: 20px;

        font-size: 16px;
    }

    .home51-hero__actions {
        margin-top: 28px;
    }

    .home51-hero .home51-btn--primary {
        width: 100%;
    }

    .home51-hero .home51-btn--messenger {
        flex: 1 1 0;
    }

    .home51-hero-offer {
        max-width: none;

        padding: 22px 18px;

        border-radius: 16px;
    }

    .home51-hero-offer__title {
        font-size: 24px;
    }

    .home51-hero-stats {
        grid-template-columns: 1fr;

        margin-top: 44px;
    }

    .home51-hero-stat {
        min-height: 100px;
    }
}

/* ==========================================================
   HEADER — TARGET PDF
   ========================================================== */

.home51-topbar,
.home51-header {
    font-family: inherit;
}


.home51-header-container {
    width: min(calc(100% - 32px), 1180px);
    margin: 0 auto;
}


/* ==========================================================
   TOPBAR
   ========================================================== */

.home51-topbar {
    background: #11162f;
    color: #fff;

    font-size: 14px;
    line-height: 1;
}


.home51-topbar__inner {
    min-height: 26px;

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

    gap: 20px;
}


.home51-topbar__contacts {
    display: flex;
    align-items: center;

    gap: 24px;
}


.home51-topbar a {
    color: #fff;
    text-decoration: none;
}


/* ==========================================================
   HEADER
   ========================================================== */

.home51-header {
    position: relative;
    z-index: 20;

    background: #fff;

    border-bottom: 1px solid #e9e9ef;
}


/* ==========================================================
   MAIN ROW
   ========================================================== */

.home51-header__main {
    min-height: 66px;

    display: flex;
    align-items: center;

    gap: 28px;
}


/* ==========================================================
   LOGO
   ========================================================== */

.home51-header__logo {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    flex: 0 0 auto;

    color: #16192d;
    text-decoration: none;

    font-size: 18px;
    line-height: 1;
    font-weight: 800;
}


.home51-header__logo img {
    display: block;

    width: 32px;
    height: 32px;
}


/* ==========================================================
   MAIN NAV
   ========================================================== */

.home51-header__nav {
    display: flex;
    align-items: center;

    gap: 24px;

    margin-left: auto;
}


.home51-header__nav a,
.home51-header__subnav a {
    color: #53566a;

    text-decoration: none;

    font-size: 16px;
    line-height: 1;

    transition: color .2s ease;
}


.home51-header__nav a:hover,
.home51-header__subnav a:hover {
    color: #6544f5;
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.home51-header__actions {
    display: flex;
    align-items: center;

    gap: 10px;
}


.home51-header__call,
.home51-header__calc {
    min-height: 38px;

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

    padding: 0 17px;

    border-radius: 20px;

    text-decoration: none;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    white-space: nowrap;
}


.home51-header__call {
    border: 1px solid #dedee8;

    background: #fff;
    color: #25283d;
}


.home51-header__calc {
    border: 1px solid #6544f5;

    background: #6544f5;
    color: #fff;
}


/* ==========================================================
   SUBNAV
   ========================================================== */

.home51-header__subnav {
    min-height: 34px;

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

    gap: 24px;

    border-top: 1px solid #f0f0f4;
}


/* ==========================================================
   BURGER
   ========================================================== */

.home51-header__burger {
    display: none;

    width: 38px;
    height: 38px;

    padding: 8px;

    border: 0;

    background: transparent;

    cursor: pointer;
}


.home51-header__burger span {
    display: block;

    height: 2px;

    margin: 5px 0;

    background: #171a30;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .home51-header__nav,
    .home51-header__actions,
    .home51-header__subnav {
        display: none;
    }

    .home51-header__main {
        min-height: 60px;
    }

    .home51-header__burger {
        display: block;

        margin-left: auto;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-header-container {
        width: min(calc(100% - 24px), 1180px);
    }

    .home51-topbar__inner > span,
    .home51-topbar__contacts > span {
        display: none;
    }

    .home51-topbar__inner {
        justify-content: flex-end;
    }
}
/* ==========================================================
   CALCULATOR
   ========================================================== */

.home51-calculator {
    padding: 70px 0 76px;
    background: #fff;
}

.home51-section-heading {
    max-width: 760px;
    margin-bottom: 34px;
}

.home51-section-kicker {
    margin-bottom: 9px;

    color: var(--home51-purple);

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.home51-section-title {
    margin: 0;

    color: var(--home51-text);

    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -.025em;
}

.home51-section-text {
    max-width: 720px;
    margin-top: 12px;

    color: #707587;

    font-size: 16px;
    line-height: 1.55;
}


/* Основная сетка */

.home51-calculator__layout {
    display: grid;
    grid-template-columns: minmax(0, 720px) 260px;
    gap: 34px;
    align-items: start;
}


/* Левая карточка */

.home51-calculator__form {
    padding: 28px;

    border: 1px solid #e7e8ef;
    border-radius: 14px;

    background: #f7f8fc;

    box-shadow: 0 12px 35px rgba(27, 32, 59, .06);
}

.home51-calc-form {
    display: grid;
    gap: 25px;
}

.home51-calc-group {
    min-width: 0;
}

.home51-calc-label {
    display: block;
    margin-bottom: 10px;

    color: #25283b;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
}


/* ==========================================================
   ТИП УБОРКИ
   ========================================================== */

.home51-calc-types {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.home51-calc-type {
    position: relative;
    cursor: pointer;
}

.home51-calc-type input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.home51-calc-type span {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 39px;
    padding: 0 12px;

    border: 1px solid #e1e3ec;
    border-radius: 20px;

    background: #fff;
    color: #555a6c;

    font-size: 14px;
    font-weight: 700;

    transition: .2s ease;
}

.home51-calc-type:hover span {
    border-color: #cfc5ff;
}

.home51-calc-type:has(input:checked) span {
    border-color: var(--home51-purple);
    background: var(--home51-purple);
    color: #fff;
}


/* ==========================================================
   КНОПКИ 1 / 2 / 3 / ...
   ========================================================== */

.home51-calc-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.home51-calc-choice {
    position: relative;
    cursor: pointer;
}

.home51-calc-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.home51-calc-choice span {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 37px;
    height: 37px;
    padding: 0 10px;

    border: 1px solid #dfe1e9;
    border-radius: 8px;

    background: #fff;
    color: #505568;

    font-size: 14px;
    font-weight: 700;

    transition: .2s ease;
}

.home51-calc-choice:has(input:checked) span {
    border-color: var(--home51-purple);
    background: var(--home51-purple);
    color: #fff;
}


/* ==========================================================
   ПЛОЩАДЬ
   ========================================================== */

.home51-calc-area,
.home51-calc-phone__input {
    width: 100%;
    height: 42px;

    padding: 0 13px;

    border: 1px solid #dfe1e9;
    border-radius: 8px;

    outline: none;

    background: #fff;
    color: #25283b;

    font: inherit;
    font-size: 16px;

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

.home51-calc-area:focus,
.home51-calc-phone__input:focus {
    border-color: var(--home51-purple);

    box-shadow:
        0 0 0 3px rgba(104, 70, 245, .09);
}


/* ==========================================================
   РЕГУЛЯРНОСТЬ
   ========================================================== */

.home51-calc-frequency {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.home51-calc-frequency__item {
    position: relative;
    cursor: pointer;
}

.home51-calc-frequency__item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.home51-calc-frequency__item span {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 0 10px;

    border: 1px solid #e0e2ea;
    border-radius: 8px;

    background: #fff;
    color: #555a6c;

    text-align: center;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-calc-frequency__item:has(input:checked) span {
    border-color: var(--home51-purple);
    background: #eeeaff;
    color: var(--home51-purple);
}


/* ==========================================================
   ДОПУСЛУГИ
   ========================================================== */

.home51-calc-extras {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.home51-calc-extra {
    min-width: 0;

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

    min-height: 62px;
    padding: 10px;

    border: 1px solid #e0e2ea;
    border-radius: 8px;

    background: #fff;
}

.home51-calc-extra__info {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.home51-calc-extra__info strong {
    overflow: hidden;

    color: #303346;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-calc-extra__info span {
    color: var(--home51-purple);

    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
}

.home51-calc-extra__quantity {
    flex: 0 0 auto;

    width: 42px;
    height: 30px;

    padding: 0 5px;

    border: 1px solid #dedfe7;
    border-radius: 6px;

    outline: none;

    background: #fafbfe;
    color: #262a3c;

    text-align: center;

    font-size: 14px;
    font-weight: 700;
}

.home51-calc-extra__quantity:focus {
    border-color: var(--home51-purple);
}


/* ==========================================================
   МОДИФИКАТОРЫ
   ========================================================== */

.home51-calc-modifiers {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}

.home51-calc-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #555a6b;

    font-size: 14px;
    cursor: pointer;
}

.home51-calc-check input {
    width: 15px;
    height: 15px;

    accent-color: var(--home51-purple);
}


/* ==========================================================
   ВЫЕЗД
   ========================================================== */

.home51-calc-outside {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.home51-calc-outside__item {
    position: relative;
    cursor: pointer;
}

.home51-calc-outside__item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.home51-calc-outside__item span {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 0 9px;

    border: 1px solid #e0e2ea;
    border-radius: 8px;

    background: #fff;
    color: #555a6c;

    text-align: center;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
}

.home51-calc-outside__item:has(input:checked) span {
    border-color: var(--home51-purple);
    background: #eeeaff;
    color: var(--home51-purple);
}


/* ==========================================================
   СОГЛАСИЕ
   ========================================================== */

.home51-calc-consent {
    margin: 0;
    padding: 0;

    border: 0;
}

.home51-calc-consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;

    color: #737789;

    font-size: 12px;
    line-height: 1.4;

    cursor: pointer;
}

.home51-calc-consent input {
    flex: 0 0 auto;

    width: 14px;
    height: 14px;
    margin-top: 1px;

    accent-color: var(--home51-purple);
}

.home51-calc-consent .invalid-checkbox {
    display: none;

    margin-top: 6px;

    color: #d84949;

    font-size: 14px;
}


/* ==========================================================
   РЕЗУЛЬТАТ СПРАВА
   ========================================================== */

.home51-calculator-result {
    position: sticky;
    top: 20px;

    padding: 27px 24px 24px;

    border-radius: 14px;

    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(105, 78, 245, .25),
            transparent 45%
        ),
        #11162f;

    color: #fff;

    box-shadow:
        0 18px 38px rgba(14, 18, 43, .2);
}

.home51-calculator-result__label {
    margin-bottom: 8px;

    color: #aeb3c9;

    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home51-calculator-result__price {
    margin-bottom: 22px;

    color: #fff;

    font-size: 34px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.03em;
}

.home51-calculator-result__row {
    padding: 9px 0;

    border-top: 1px solid rgba(255, 255, 255, .1);

    color: #c7cad8;

    font-size: 14px;
    line-height: 1.35;
}

.home51-calculator-result__button {
    width: 100%;
    min-height: 42px;

    margin-top: 20px;
    padding: 0 15px;

    border: 0;
    border-radius: 22px;

    background: var(--home51-purple);
    color: #fff;

    font: inherit;
    font-size: 14px;
    font-weight: 800;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.home51-calculator-result__button:hover {
    background: var(--home51-purple-dark);
    transform: translateY(-1px);
}


/* Сообщения */

.home51-calc-message {
    padding: 10px 12px;

    border-radius: 7px;

    font-size: 14px;
    line-height: 1.4;
}

.home51-calc-message--success {
    background: #e8f7ed;
    color: #28733f;
}

.home51-calc-message--error {
    background: #fff0f0;
    color: #bd3939;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

    .home51-calculator__layout {
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 22px;
    }

    .home51-calc-extras {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 800px) {

    .home51-calculator {
        padding: 52px 0;
    }

    .home51-calculator__layout {
        grid-template-columns: 1fr;
    }

    .home51-calculator-result {
        position: static;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-calculator {
        padding: 40px 0 44px;
    }

    .home51-section-heading {
        margin-bottom: 24px;
    }

    .home51-section-title {
        font-size: 30px;
    }

    .home51-calculator__form {
        padding: 18px 14px;
        border-radius: 10px;
    }

    .home51-calc-form {
        gap: 22px;
    }

    .home51-calc-types,
    .home51-calc-frequency,
    .home51-calc-outside {
        grid-template-columns: 1fr;
    }

    .home51-calc-extras {
        grid-template-columns: 1fr;
    }

    .home51-calc-extra {
        min-height: 56px;
    }

    .home51-calculator-result {
        padding: 22px 18px;
    }
}

/* ==========================================================
   CALCULATOR EXTRA COUNTERS
   ========================================================== */

.home51-calc-extra__counter {
    flex: 0 0 auto;

    display: grid;
    grid-template-columns: 25px 26px 25px;
    align-items: center;

    height: 28px;

    border: 1px solid #dedfe8;
    border-radius: 7px;

    background: #fafbfe;

    overflow: hidden;
}

.home51-calc-extra__counter-btn {
    width: 25px;
    height: 28px;

    padding: 0;

    border: 0;
    background: transparent;

    color: #5d6174;

    font: inherit;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;

    cursor: pointer;

    transition:
        background .15s ease,
        color .15s ease;
}

.home51-calc-extra__counter-btn:hover {
    background: #eeeaff;
    color: var(--home51-purple);
}

.home51-calc-extra__counter-value {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 28px;

    border-left: 1px solid #e3e4eb;
    border-right: 1px solid #e3e4eb;

    color: #292c3d;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.home51-calc-extra__quantity {
    display: none;
}

/* ==========================================================
   COMPANY BENEFITS
   ========================================================== */

.home51-company {
    padding: 0 0 72px;
    background: #fff;
}

.home51-company-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 28px;

    margin-bottom: 54px;
    padding-top: 18px;
}

.home51-company-benefit {
    display: flex;
    align-items: center;
    gap: 11px;

    color: #292c3d;

    font-size: 14px;
    line-height: 1.3;
}

.home51-company-benefit__icon {
    flex: 0 0 auto;

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

    width: 29px;
    height: 29px;

    border-radius: 9px;

    background: #eeeaff;
    color: var(--home51-purple);

    font-size: 14px;
    font-weight: 800;
}

.home51-company-benefit strong {
    font-weight: 700;
}


/* ==========================================================
   DARK COMPANY PANEL
   ========================================================== */

.home51-company-panel {
    max-width: 900px;
    margin: 0 auto;

    padding: 45px 45px 38px;

    border-radius: 17px;

    background: #151a37;
    color: #fff;

    box-shadow: 0 20px 42px rgba(17, 22, 47, .14);
}

.home51-company-panel__kicker {
    margin-bottom: 10px;

    color: #9298b3;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.home51-company-panel__title {
    margin: 0 0 32px;

    color: #fff;

    font-size: 32px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.025em;
}

.home51-company-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.home51-company-stat {
    display: flex;
    flex-direction: column;

    min-height: 205px;
    padding: 18px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;

    background: rgba(255,255,255,.055);
}

.home51-company-stat__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    margin-bottom: 21px;

    border-radius: 8px;

    background: rgba(255,255,255,.09);

    color: #fff;

    font-size: 12px;
    font-weight: 800;
}

.home51-company-stat__value {
    display: block;

    color: #fff;

    font-size: 26px;
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -.025em;
}

.home51-company-stat__text {
    display: block;

    margin-top: 12px;

    color: #aeb3c9;

    font-size: 14px;
    line-height: 1.4;
}

.home51-company-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;

    margin-top: 28px;

    color: #9ba1bb;

    font-size: 12px;
    line-height: 1.4;
}

.home51-company-fact {
    position: relative;
}

.home51-company-fact:not(:last-child)::after {
    content: "•";

    position: absolute;
    right: -17px;

    color: #626980;
}


/* ==========================================================
   COMPANY RESPONSIVE
   ========================================================== */

@media (max-width: 850px) {

    .home51-company-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home51-company-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .home51-company {
        padding-bottom: 48px;
    }

    .home51-company-benefits {
        grid-template-columns: 1fr;
        gap: 12px;

        margin-bottom: 36px;
    }

    .home51-company-panel {
        padding: 28px 18px;
        border-radius: 12px;
    }

    .home51-company-panel__title {
        margin-bottom: 24px;
        font-size: 28px;
    }

    .home51-company-stats {
        grid-template-columns: 1fr;
    }

    .home51-company-stat {
        min-height: auto;
    }

    .home51-company-facts {
        display: grid;
        gap: 8px;
    }

    .home51-company-fact::after {
        display: none;
    }
}

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

.home51-services {
    padding: 68px 0 78px;
    background: #fff;
}

.home51-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;

    margin-top: 31px;
}


/* Карточка */

.home51-service-card {
    min-width: 0;

    overflow: hidden;

    border: 1px solid #e5e7ef;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 8px 24px rgba(27, 32, 59, .055);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.home51-service-card:hover {
    transform: translateY(-3px);

    border-color: #d8d2fb;

    box-shadow: 0 14px 34px rgba(27, 32, 59, .09);
}


/* Изображение */

.home51-service-card__image {
    position: relative;

    height: 150px;

    overflow: hidden;

    background: #e8ebf3;
}

.home51-service-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.home51-service-card__placeholder {
    width: 100%;
    height: 100%;

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

    color: #a6aabb;

    font-size: 14px;
    line-height: 1;
    font-weight: 600;

    text-transform: lowercase;
}


/* Метка */

.home51-service-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;

    display: inline-flex;
    align-items: center;

    min-height: 23px;
    padding: 0 9px;

    border-radius: 12px;

    background: var(--home51-purple);
    color: #fff;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}


/* Контент */

.home51-service-card__body {
    padding: 17px 16px 16px;
}

.home51-service-card__title {
    min-height: 42px;
    margin: 0;

    color: #222537;

    font-size: 16px;
    line-height: 1.25;
    font-weight: 800;
}

.home51-service-card__price {
    margin-top: 10px;

    color: var(--home51-purple);

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}


/* Время / клинеры */

.home51-service-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;

    margin-top: 15px;
    padding-top: 13px;

    border-top: 1px solid #ececf2;
}

.home51-service-card__meta div {
    display: grid;
    gap: 3px;
}

.home51-service-card__meta span {
    color: #9599a9;

    font-size: 12px;
    line-height: 1.2;
}

.home51-service-card__meta strong {
    color: #4d5162;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}


/* Кнопка */

.home51-service-card__button {
    width: 100%;
    min-height: 34px;

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

    margin-top: 15px;

    border: 1px solid #dedfe7;
    border-radius: 18px;

    background: #fff;
    color: #33374a;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;

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

.home51-service-card__button:hover {
    border-color: var(--home51-purple);

    background: #f1edff;
    color: var(--home51-purple);
}


/* ==========================================================
   SERVICES RESPONSIVE
   ========================================================== */

@media (max-width: 980px) {

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

@media (max-width: 600px) {

    .home51-services {
        padding: 48px 0;
    }

    .home51-services__grid {
        grid-template-columns: 1fr;

        margin-top: 24px;
    }

    .home51-service-card__image {
        height: 190px;
    }

    .home51-service-card__title {
        min-height: auto;
    }
}

/* ==========================================================
   PRICES
   ========================================================== */

.home51-prices {
    padding: 70px 0 76px;

    background: #f0f2f9;
}

.home51-prices__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

.home51-prices__header .home51-section-heading {
    margin-bottom: 0;
}

.home51-prices__date {
    margin-top: 13px;

    color: #9296a7;

    font-size: 12px;
    line-height: 1.3;
}

.home51-prices__top-button,
.home51-prices__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 0 17px;

    border-radius: 20px;

    background: var(--home51-purple);
    color: #fff;

    text-decoration: none;

    font-size: 14px;
    line-height: 1;
    font-weight: 800;

    transition:
        background .2s ease,
        transform .2s ease;
}

.home51-prices__top-button:hover,
.home51-prices__button:hover {
    background: var(--home51-purple-dark);
    color: #fff;

    transform: translateY(-1px);
}


/* Сетка */

.home51-prices__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    margin-top: 31px;
}


/* Карточка */

.home51-price-card {
    min-width: 0;

    padding: 22px 20px;

    border: 1px solid #e3e5ed;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 8px 24px rgba(27, 32, 59, .045);
}

.home51-price-card__title {
    margin: 0 0 17px;

    color: #242738;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

.home51-price-card__list {
    display: grid;
}


/* Строка цены */

.home51-price-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: baseline;

    padding: 8px 0;

    border-bottom: 1px solid #ececf2;
}

.home51-price-row:last-child {
    border-bottom: 0;
}

.home51-price-row__title {
    color: #555a6b;

    font-size: 14px;
    line-height: 1.35;
}

.home51-price-row__value {
    color: var(--home51-purple);

    white-space: nowrap;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
}


/* Нижняя кнопка */

.home51-prices__bottom {
    margin-top: 24px;
}


/* ==========================================================
   PRICES RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

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


@media (max-width: 600px) {

    .home51-prices {
        padding: 48px 0;
    }

    .home51-prices__header {
        display: block;
    }

    .home51-prices__top-button {
        margin-top: 20px;
    }

    .home51-prices__grid {
        grid-template-columns: 1fr;

        margin-top: 24px;
    }

    .home51-price-card {
        padding: 19px 16px;
    }

    .home51-prices__button {
        width: 100%;
    }
}

/* ==========================================================
   CLEANING SCOPE
   ========================================================== */

.home51-scope {
    padding: 70px 0 76px;
    background: #fff;
}

.home51-scope__visual {
    height: 300px;
    margin-top: 30px;

    overflow: hidden;

    border-radius: 13px;

    background: #e8ebf4;
}

.home51-scope__visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home51-scope__placeholder {
    width: 100%;
    height: 100%;

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

    color: #a3a7b7;

    font-size: 14px;
}


/* Основная карточка */

.home51-scope__card {
    margin-top: 18px;
    padding: 22px;

    border: 1px solid #e5e6ee;
    border-radius: 13px;

    background: #f8f8fc;

    box-shadow: 0 10px 28px rgba(27, 32, 59, .05);
}


/* Tabs */

.home51-scope-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-bottom: 22px;
    padding-bottom: 14px;

    border-bottom: 1px solid #e7e8ef;
}

.home51-scope-tab {
    min-height: 31px;
    padding: 0 13px;

    border: 0;
    border-radius: 16px;

    background: transparent;
    color: #626779;

    font: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}

.home51-scope-tab:hover {
    color: var(--home51-purple);
}

.home51-scope-tab.is-active {
    background: #eeeaff;
    color: var(--home51-purple);
}


/* Panels */

.home51-scope-panel {
    display: none;

    grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
    gap: 45px;
}

.home51-scope-panel.is-active {
    display: grid;
}

.home51-scope-panel__title {
    margin: 0 0 12px;

    color: #282b3d;

    font-size: 14px;
    font-weight: 800;
}

.home51-scope-panel__list {
    display: grid;
    gap: 4px;
}


/* Item */

.home51-scope-item {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;

    min-height: 29px;

    color: #565b6d;

    font-size: 14px;
    line-height: 1.3;
}

.home51-scope-item__check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: #eeeaff;
    color: var(--home51-purple);

    font-size: 12px;
    font-weight: 800;
}

.home51-scope-panel__list--extra
.home51-scope-item {
    min-height: 33px;

    padding: 6px 9px;

    border: 1px solid #e3e4ec;
    border-radius: 7px;

    background: #fff;
}

.home51-scope-item__price {
    color: var(--home51-purple);

    white-space: nowrap;

    font-size: 12px;
    font-weight: 800;
}


/* Note */

.home51-scope-note {
    display: grid;
    gap: 4px;

    margin-top: 20px;
    padding: 13px 15px;

    border-radius: 8px;

    background: #fff;
}

.home51-scope-note strong {
    color: #343749;

    font-size: 14px;
}

.home51-scope-note span {
    color: #7b7f90;

    font-size: 12px;
    line-height: 1.4;
}


/* Responsive */

@media (max-width: 750px) {

    .home51-scope-panel,
    .home51-scope-panel.is-active {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .home51-scope__visual {
        height: 220px;
    }
}

@media (max-width: 600px) {

    .home51-scope {
        padding: 48px 0;
    }

    .home51-scope__card {
        padding: 15px;
    }

    .home51-scope-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .home51-scope-tab {
        flex: 0 0 auto;
    }
}

/* ==========================================================
   EXCLUDED FROM CLEANING
   ========================================================== */

.home51-excluded {
    padding: 68px 0 74px;
    background: #f0f2f9;
}

.home51-excluded .home51-section-heading {
    max-width: 760px;
}

.home51-excluded__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr);
    gap: 28px;
    align-items: stretch;

    margin-top: 30px;
}


/* ==========================================================
   EXCLUDED ITEMS
   ========================================================== */

.home51-excluded__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.home51-excluded-item {
    display: flex;
    align-items: center;
    gap: 11px;

    min-height: 55px;
    padding: 12px 14px;

    border: 1px solid #e3e5ed;
    border-radius: 9px;

    background: #fff;

    box-shadow: 0 5px 18px rgba(27, 32, 59, .035);
}

.home51-excluded-item__icon {
    flex: 0 0 auto;

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

    width: 25px;
    height: 25px;

    border-radius: 7px;

    background: #fff0ed;
    color: #ef745c;

    font-size: 14px;
    line-height: 1;
    font-weight: 800;
}

.home51-excluded-item__title {
    color: #363a4c;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
}


/* ==========================================================
   EXCLUDED CTA
   ========================================================== */

.home51-excluded-cta {
    display: flex;
    flex-direction: column;

    padding: 23px 21px;

    border: 1px solid #e1e3eb;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 10px 28px rgba(27, 32, 59, .055);
}

.home51-excluded-cta__kicker {
    margin-bottom: 8px;

    color: var(--home51-purple);

    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home51-excluded-cta__title {
    margin: 0;

    color: #222537;

    font-size: 18px;
    line-height: 1.15;
    font-weight: 800;
}

.home51-excluded-cta__text {
    margin-top: 11px;

    color: #737789;

    font-size: 14px;
    line-height: 1.45;
}

.home51-excluded-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    margin-top: auto;
    padding: 0 15px;

    border-radius: 19px;

    background: var(--home51-purple);
    color: #fff;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;

    transition:
        background .2s ease,
        transform .2s ease;
}

.home51-excluded-cta__button:hover {
    background: var(--home51-purple-dark);
    color: #fff;

    transform: translateY(-1px);
}


/* ==========================================================
   EXCLUDED RESPONSIVE
   ========================================================== */

@media (max-width: 800px) {

    .home51-excluded__layout {
        grid-template-columns: 1fr;
    }

    .home51-excluded-cta__button {
        margin-top: 22px;
    }
}

@media (max-width: 600px) {

    .home51-excluded {
        padding: 48px 0;
    }

    .home51-excluded__layout {
        margin-top: 24px;
    }

    .home51-excluded__items {
        grid-template-columns: 1fr;
    }

    .home51-excluded-cta {
        padding: 19px 16px;
    }
}

/* ==========================================================
   REASONS
   ========================================================== */

.home51-reasons {
    padding: 70px 0 76px;
    background: #fff;
}

.home51-reasons__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;

    margin-top: 30px;
}

.home51-reason-card {
    min-height: 245px;
    padding: 21px 20px;

    border: 1px solid #e3e5ed;
    border-radius: 11px;

    background: #fff;

    box-shadow: 0 8px 22px rgba(27, 32, 59, .045);
}

.home51-reason-card__number {
    margin-bottom: 16px;

    color: var(--home51-purple);

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}

.home51-reason-card__title {
    margin: 0;

    color: #202336;

    font-size: 18px;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -.015em;
}

.home51-reason-card__text {
    margin-top: 13px;

    color: #717587;

    font-size: 14px;
    line-height: 1.55;
}


/* Теги */

.home51-reasons__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 22px;
}

.home51-reason-tag {
    display: inline-flex;
    align-items: center;

    min-height: 27px;
    padding: 0 11px;

    border-radius: 14px;

    background: #eeeaff;
    color: var(--home51-purple);

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}


/* Responsive */

@media (max-width: 900px) {

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

@media (max-width: 600px) {

    .home51-reasons {
        padding: 48px 0;
    }

    .home51-reasons__grid {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .home51-reason-card {
        min-height: auto;
    }

    .home51-reasons__tags {
        display: grid;
    }
}

/* ==========================================================
   EQUIPMENT
   ========================================================== */

.home51-equipment {
    padding: 68px 0 74px;

    background-color: #f0f2f9;
    background-image:
        radial-gradient(
            circle,
            rgba(104, 70, 245, .12) 1px,
            transparent 1px
        );

    background-size: 18px 18px;
}

.home51-equipment__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;

    margin-top: 30px;
}

.home51-equipment-card {
    overflow: hidden;

    border: 1px solid #e2e4ec;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 9px 25px rgba(27, 32, 59, .055);
}

.home51-equipment-card__image {
    height: 175px;

    overflow: hidden;

    background: #e7eaf3;
}

.home51-equipment-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.home51-equipment-card__placeholder {
    width: 100%;
    height: 100%;

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

    color: #9da2b3;

    font-size: 14px;
}

.home51-equipment-card__body {
    padding: 18px 16px 20px;
}

.home51-equipment-card__label {
    margin-bottom: 9px;

    color: var(--home51-purple);

    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.home51-equipment-card__title {
    margin: 0;

    color: #202336;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

.home51-equipment-card__text {
    margin-top: 11px;

    color: #737789;

    font-size: 14px;
    line-height: 1.5;
}


/* Responsive */

@media (max-width: 900px) {

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

@media (max-width: 600px) {

    .home51-equipment {
        padding: 48px 0;
    }

    .home51-equipment__grid {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .home51-equipment-card__image {
        height: 210px;
    }
}

/* ==========================================================
   GUARANTEES
   ========================================================== */

.home51-guarantees {
    padding: 70px 0 76px;
    background: #fff;
}

.home51-guarantees__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
}

.home51-guarantee-card {
    min-height: 190px;
    padding: 19px 18px;

    border: 1px solid #e3e5ed;
    border-radius: 11px;

    background: #fff;

    box-shadow: 0 7px 22px rgba(27, 32, 59, .04);
}

.home51-guarantee-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    margin-bottom: 17px;

    border-radius: 8px;

    background: #eeeaff;
    color: var(--home51-purple);

    font-size: 12px;
    font-weight: 800;
}

.home51-guarantee-card__title {
    margin: 0;

    color: #202336;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

.home51-guarantee-card__text {
    margin-top: 10px;

    color: #737789;

    font-size: 14px;
    line-height: 1.5;
}


/* Documents */

.home51-guarantee-docs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;

    margin-top: 18px;
}

.home51-guarantee-doc {
    overflow: hidden;

    border: 1px solid #e4e6ed;
    border-radius: 10px;

    background: #fff;
    color: inherit;

    text-decoration: none;

    box-shadow: 0 7px 20px rgba(27, 32, 59, .04);
}

.home51-guarantee-doc__image {
    height: 125px;

    overflow: hidden;

    background: #e9ecf4;
}

.home51-guarantee-doc__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.home51-guarantee-doc__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #a1a6b5;

    font-size: 12px;
}

.home51-guarantee-doc__title {
    display: block;

    padding: 12px 14px;

    color: #35394b;

    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
}


/* Responsive */

@media (max-width: 900px) {

    .home51-guarantees__grid,
    .home51-guarantee-docs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .home51-guarantees {
        padding: 48px 0;
    }

    .home51-guarantees__grid,
    .home51-guarantee-docs {
        grid-template-columns: 1fr;
    }

    .home51-guarantee-card {
        min-height: auto;
    }
}

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

.home51-cases {
    padding: 68px 0 74px;

    background-color: #f0f2f9;
    background-image:
        radial-gradient(
            circle,
            rgba(104, 70, 245, .11) 1px,
            transparent 1px
        );

    background-size: 18px 18px;
}

.home51-cases__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 45px) / 4);
    gap: 15px;

    margin-top: 30px;
    padding-bottom: 14px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #cbd0df transparent;
}

.home51-case-card {
    scroll-snap-align: start;
}

.home51-cases__grid::-webkit-scrollbar {
    height: 7px;
}

.home51-cases__grid::-webkit-scrollbar-track {
    background: transparent;
}

.home51-cases__grid::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #cbd0df;
}

.home51-case-card {
    min-width: 0;
    overflow: hidden;

    border: 1px solid #e1e3ec;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 9px 24px rgba(27,32,59,.055);
}


/* До / после */

.home51-case-card__visual {
    display: grid;
    grid-template-columns: 1fr 1fr;

    height: 145px;
}

.home51-case-card__before,
.home51-case-card__after {
    position: relative;
    overflow: hidden;
}

.home51-case-card__before {
    background: #e4e8f1;
}

.home51-case-card__after {
    background: #eee9ff;
}

.home51-case-card__visual img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.home51-case-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #a0a5b5;

    font-size: 12px;
}

.home51-case-card__image-label {
    position: absolute;
    z-index: 2;

    top: 9px;
    left: 9px;

    display: inline-flex;
    align-items: center;

    min-height: 20px;
    padding: 0 8px;

    border-radius: 11px;

    background: #fff;
    color: #55596b;

    font-size: 12px;
    font-weight: 800;
}


/* Контент */

.home51-case-card__body {
    padding: 16px 15px 18px;
}

.home51-case-card__title {
    min-height: 39px;
    margin: 0;

    color: #202336;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

.home51-case-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;

    margin-top: 13px;
}

.home51-case-card__stats div {
    display: grid;
    gap: 3px;

    padding: 8px;

    border-radius: 7px;

    background: #f7f7fb;
}

.home51-case-card__stats strong {
    color: #242738;

    font-size: 14px;
    line-height: 1.15;
    font-weight: 800;
}

.home51-case-card__stats span {
    color: #979baa;

    font-size: 12px;
    line-height: 1.2;
}

.home51-case-card__list {
    display: grid;
    gap: 8px;

    margin: 15px 0 0;
    padding: 0;

    list-style: none;
}

.home51-case-card__list li {
    position: relative;

    padding-left: 13px;

    color: #666b7d;

    font-size: 12px;
    line-height: 1.45;
}

.home51-case-card__list li::before {
    content: "";

    position: absolute;
    top: 6px;
    left: 0;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--home51-purple);
}


/* Кнопка */

.home51-cases__bottom {
    margin-top: 24px;
}

.home51-cases__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    padding: 0 15px;

    border: 1px solid #dfe1e9;
    border-radius: 19px;

    background: #fff;
    color: #303447;

    text-decoration: none;

    font-size: 12px;
    font-weight: 800;

    box-shadow: 0 5px 16px rgba(27,32,59,.05);
}


/* Responsive */

@media (max-width: 950px) {

    .home51-cases__grid {
        grid-auto-columns: calc((100% - 15px) / 2);
    }
}

@media (max-width: 600px) {

    .home51-cases {
        padding: 48px 0;
    }

.home51-cases__grid {
    grid-auto-columns: 86%;
}

    .home51-case-card__visual {
        height: 190px;
    }
}

/* ==========================================================
   TEAM
   ========================================================== */

.home51-team {
    padding: 70px 0 76px;
    background: #fff;
}

.home51-team__scroll {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 245px;
    gap: 16px;

    margin-top: 30px;
    padding-bottom: 14px;

    overflow-x: auto;
    overflow-y: hidden;

    scrollbar-width: thin;
    scrollbar-color: #cbd0df transparent;
}

.home51-team__scroll::-webkit-scrollbar {
    height: 7px;
}

.home51-team__scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #cbd0df;
}

.home51-team-card {
    overflow: hidden;

    border: 1px solid #e3e5ed;
    border-radius: 12px;

    background: #fff;

    box-shadow: 0 8px 22px rgba(27, 32, 59, .045);
}

.home51-team-card__image {
    height: 180px;

    overflow: hidden;

    background: #e7eaf3;
}

.home51-team-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.home51-team-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #9da2b3;

    font-size: 12px;
}

.home51-team-card__body {
    padding: 16px 15px;
}

.home51-team-card__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.home51-team-card__name {
    margin: 0;

    color: #202336;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
}

.home51-team-card__badge {
    display: inline-flex;
    align-items: center;

    min-height: 21px;
    padding: 0 8px;

    border-radius: 11px;

    background: #eeeaff;
    color: var(--home51-purple);

    font-size: 12px;
    font-weight: 700;
}

.home51-team-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;

    margin-top: 14px;
}

.home51-team-card__stats div {
    display: grid;
    gap: 4px;

    padding: 9px 8px;

    border-radius: 8px;

    background: #f6f7fb;
}

.home51-team-card__stats span {
    color: #979baa;

    font-size: 12px;
}

.home51-team-card__stats strong {
    color: #272a3c;

    font-size: 14px;
    font-weight: 800;
}


/* Нижние карточки */

.home51-team__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    margin-top: 22px;
}

.home51-team-fact {
    padding: 20px 18px;

    border: 1px solid #e3e5ed;
    border-radius: 11px;

    background: #fff;

    box-shadow: 0 7px 20px rgba(27, 32, 59, .04);
}

.home51-team-fact__title {
    margin: 0;

    color: #232638;

    font-size: 16px;
    line-height: 1.25;
    font-weight: 800;
}

.home51-team-fact__text {
    margin-top: 10px;

    color: #737789;

    font-size: 14px;
    line-height: 1.5;
}


@media (max-width: 700px) {

    .home51-team__facts {
        grid-template-columns: 1fr;
    }

    .home51-team__scroll {
        grid-auto-columns: 82%;
    }
}

@media (max-width: 600px) {

    .home51-team {
        padding: 48px 0;
    }
}

/* ==========================================================
   PROCESS / INTERNAL CRM
   ========================================================== */

.home51-process {
    padding: 88px 0 96px;
    overflow: hidden;

    background-color: #f5f7fc;
    background-image:
        radial-gradient(circle, rgba(117, 126, 154, 0.14) 1px, transparent 1px);
    background-size: 24px 24px;
}

.home51-process__intro {
    max-width: 960px;
    margin-bottom: 46px;
}

.home51-process__kicker {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    color: #6246f5;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home51-process__kicker-line {
    display: block;
    width: 22px;
    height: 2px;
    flex: 0 0 22px;
    background: #6246f5;
}

.home51-process__title {
    margin: 0 0 16px;

    color: #0d1832;
    font-size: clamp(32px, 3vw, 42px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.home51-process__text {
    max-width: 900px;

    color: #64708a;
    font-size: 18px;
    line-height: 1.7;
}


/* CRM PANEL */

.home51-crm {
    --crm-purple: #5b3df5;
    --crm-purple-soft: #eee9ff;
    --crm-border: #dde2ef;
    --crm-text: #101a31;
    --crm-muted: #657089;

    position: relative;

    width: 100%;
    padding: 0 28px 28px;

    overflow-x: auto;
    overflow-y: hidden;

    background: #ffffff;
    border: 1px solid #e0e4ee;
    border-radius: 22px;
    box-shadow:
        0 2px 3px rgba(25, 31, 52, 0.05),
        0 18px 45px rgba(43, 51, 78, 0.06);
}

.home51-crm__dates {
    position: relative;
    z-index: 5;

    display: grid;
    grid-template-columns: repeat(var(--crm-days-count), minmax(0, 1fr));

    min-width: 1050px;
    height: 61px;
}

.home51-crm__date {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #566178;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.home51-crm__date.is-active {
    color: var(--crm-purple);
}


/* BOARD */

.home51-crm__board {
    position: relative;

    min-width: 1050px;
    height: 450px;
}

.home51-crm__grid {
    position: absolute;
    z-index: 0;
    inset: 0;

    pointer-events: none;
}

.home51-crm__line {
    position: absolute;
    top: 0;
    bottom: 0;

    width: 1px;

    border-left: 1px dashed #dce1ed;
}

.home51-crm__active-line {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;

    width: 2px;

    background: var(--crm-purple);
    transform: translateX(-1px);
}

.home51-crm__orders {
    position: absolute;
    z-index: 2;
    inset: 0;
}


/* ORDER CARD */

.home51-crm-card {
    position: absolute;

    left: var(--crm-left);
    top: var(--crm-top);
    width: var(--crm-width);

    min-height: 62px;
    padding: 11px 14px;

    display: flex;
    align-items: center;
    gap: 12px;

    color: var(--crm-text);

    background: #ffffff;
    border-radius: 12px;

    box-shadow:
        0 10px 18px rgba(35, 43, 66, 0.08),
        0 18px 28px rgba(35, 43, 66, 0.10);
    
    white-space: normal;
}
.home51-crm-card--purple {
        box-shadow:
            0 10px 20px rgba(77, 54, 207, 0.20),
            0 18px 30px rgba(43, 39, 92, 0.10);
    }

.home51-crm-card__workers {
    display: flex;
    align-items: center;

    flex: 0 0 auto;
}

.home51-crm-card__worker {
    position: relative;

    width: 30px;
    height: 30px;

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

    flex: 0 0 30px;

    color: #15213b;
    background: #eef1f7;

    border: 2px solid #ffffff;
    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}

.home51-crm-card__worker + .home51-crm-card__worker {
    margin-left: -8px;
}

.home51-crm-card__content {
    min-width: 0;
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;
    gap: 3px;
}

.home51-crm-card__title {
    display: block;

    color: inherit;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
}

.home51-crm-card__address {
    display: block;

    color: var(--crm-muted);
    font-size: 14px;
    line-height: 1.25;
}

.home51-crm-card__meta {
    margin-left: auto;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;

    flex: 0 0 auto;
}

.home51-crm-card__tasks,
.home51-crm-card__checklist {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 25px;
    padding: 5px 11px;

    border-radius: 999px;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    white-space: nowrap;
}

.home51-crm-card__tasks {
    color: #6246f5;
    background: #eee9ff;
}

.home51-crm-card__checklist {
    color: #168458;
    background: #dcf5e9;
}


/* PURPLE CARDS */

.home51-crm-card--purple {
    color: #ffffff;
    background: #5b3df5;
}

.home51-crm-card--purple .home51-crm-card__address {
    color: rgba(255, 255, 255, 0.83);
}

.home51-crm-card--purple .home51-crm-card__worker {
    color: #19233a;
    background: #ffffff;
}

.home51-crm-card--purple .home51-crm-card__tasks {
    color: #171d30;
    background: #ffffff;
}


/* TABLET */

@media (max-width: 1100px) {
    .home51-process {
        padding: 72px 0 80px;
    }

    .home51-process__text {
        font-size: 18px;
    }

    .home51-crm {
        padding-left: 22px;
        padding-right: 22px;
    }
}


/* MOBILE
   Календарь не сжимаем в кашу — прокручивается только сама CRM-доска.
*/

@media (max-width: 767px) {
    .home51-process {
        padding: 58px 0 64px;
    }

    .home51-process__intro {
        margin-bottom: 32px;
    }

    .home51-process__kicker {
        margin-bottom: 16px;
        font-size: 14px;
    }

    .home51-process__title {
        margin-bottom: 14px;
        font-size: 30px;
    }

    .home51-process__text {
        font-size: 16px;
        line-height: 1.6;
    }

    .home51-crm {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 22px;

        border-radius: 18px;
    }

    .home51-crm__dates,
    .home51-crm__board {
        min-width: 1000px;
    }
}
.home51-crm-card--purple {
    min-height: 79px;
    padding-top: 12px;
    padding-bottom: 12px;
}
.home51-crm-card--purple .home51-crm-card__title {
    font-size: 16px;
    line-height: 1.15;
}

.home51-crm-card--purple .home51-crm-card__address {
    margin-top: 2px;
}
.home51-crm-card--purple .home51-crm-card__content {
    max-width: 145px;
}
/* ==========================================================
   REGULAR CLEANING / SUBSCRIPTION
   ========================================================== */

.home51-subscription {
    padding: 72px 0 92px;
    background: #ffffff;
}

.home51-subscription *,
.home51-subscription *::before,
.home51-subscription *::after {
    box-sizing: border-box;
}

.home51-subscription__panel {
    width: min(100%, 976px);
    margin: 0 auto;
    padding: 40px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 322px;
    gap: 38px;

    background: #ffffff;
    border: 1px solid #dde2ec;
    border-radius: 24px;

    box-shadow:
        0 3px 5px rgba(29, 37, 58, 0.04),
        0 14px 28px rgba(29, 37, 58, 0.08);
}


/* LEFT SIDE */

.home51-subscription__main {
    min-width: 0;
}

.home51-subscription__kicker {
    margin-bottom: 23px;

    color: #5b3df5;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home51-subscription__title {
    max-width: 500px;
    margin: 0 0 22px;

    color: #0d1832;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.home51-subscription__text {
    max-width: 535px;
    margin-bottom: 22px;

    color: #626e86;
    font-size: 18px;
    line-height: 1.55;
}


/* BENEFITS */

.home51-subscription__benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;

    margin-bottom: 18px;
}

.home51-subscription-benefit {
    min-height: 198px;
    padding: 19px;

    background: #ffffff;
    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(26, 34, 54, 0.04),
        0 9px 17px rgba(26, 34, 54, 0.07);
}

.home51-subscription-benefit__number {
    width: 34px;
    height: 34px;
    margin-bottom: 12px;

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

    color: #5b3df5;
    background: #eee9ff;
    border-radius: 11px;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.home51-subscription-benefit__title {
    margin: 0 0 8px;

    color: #0d1832;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
}

.home51-subscription-benefit__text {
    color: #626e86;
    font-size: 16px;
    line-height: 1.55;
}


/* Третья карточка находится под первой, как в макете */

.home51-subscription-benefit:nth-child(3) {
    grid-column: 1;
}


/* BUTTON */

.home51-subscription__button {
    min-height: 44px;
    padding: 0 22px;

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

    color: #ffffff;
    background: #5b3df5;

    border-radius: 999px;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none;

    box-shadow: 0 7px 16px rgba(91, 61, 245, 0.22);

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.home51-subscription__button:hover {
    color: #ffffff;
    background: #4f32e7;
}

.home51-subscription__button:active {
    transform: translateY(1px);
}

.home51-subscription__note {
    margin-top: 14px;

    color: #69748a;
    font-size: 14px;
    line-height: 1.5;
}


/* ==========================================================
   RIGHT SIDE
   ========================================================== */

.home51-subscription__side {
    min-width: 0;
}

.home51-subscription__image {
    width: 100%;
    height: 177px;
    margin-bottom: 12px;

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

    overflow: hidden;

    color: #677188;
    background: #e9edf5;

    border-radius: 17px;
}

.home51-subscription__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home51-subscription__image-placeholder {
    font-size: 14px;
}


/* PRICES */

.home51-subscription__prices {
    padding: 10px;
    margin-bottom: 13px;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;

    background: #ffffff;
    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(26, 34, 54, 0.04),
        0 7px 14px rgba(26, 34, 54, 0.07);
}

.home51-subscription-price {
    min-height: 78px;
    padding: 13px 12px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: #f4f6fa;
    border-radius: 11px;
}

.home51-subscription-price--regular {
    background: #eee9ff;
}

.home51-subscription-price__label {
    margin-bottom: 7px;

    color: #6a7488;
    font-size: 14px;
    line-height: 1;
}

.home51-subscription-price__value {
    color: #0c1831;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    white-space: nowrap;
}

.home51-subscription-price--regular
.home51-subscription-price__value {
    color: #5b3df5;
}


/* STEPS */

.home51-subscription__steps-card {
    padding: 20px 18px;

    background: #ffffff;
    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(26, 34, 54, 0.04),
        0 8px 16px rgba(26, 34, 54, 0.07);
}

.home51-subscription__steps {
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: column;
    gap: 9px;

    list-style: none;
}

.home51-subscription-step {
    display: flex;
    align-items: flex-start;
    gap: 4px;

    color: #647088;
    font-size: 14px;
    line-height: 1.45;
}

.home51-subscription-step__number {
    flex: 0 0 auto;
}

.home51-subscription-step__text {
    min-width: 0;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {
    .home51-subscription {
        padding: 64px 0 76px;
    }

    .home51-subscription__panel {
        max-width: 700px;
        padding: 32px;

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

    .home51-subscription__side {
        width: 100%;
    }

    .home51-subscription__image {
        height: 260px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {
    .home51-subscription {
        padding: 48px 0 58px;
    }

    .home51-subscription__panel {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .home51-subscription__kicker {
        margin-bottom: 16px;
    }

    .home51-subscription__title {
        margin-bottom: 16px;
        font-size: 30px;
    }

    .home51-subscription__text {
        font-size: 16px;
    }

    .home51-subscription__benefits {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home51-subscription-benefit:nth-child(3) {
        grid-column: auto;
    }

    .home51-subscription-benefit {
        min-height: 0;
    }

    .home51-subscription__button {
        width: 100%;
    }

    .home51-subscription__image {
        height: 190px;
    }
}
/* ==========================================================
   PROMOS / DISCOUNTS
   ========================================================== */

.home51-promos {
    padding: 72px 0 78px;

    background-color: #f5f7fc;
    background-image:
        radial-gradient(
            circle,
            rgba(117, 126, 154, 0.14) 1px,
            transparent 1px
        );
    background-size: 24px 24px;

    overflow: hidden;
}

.home51-promos *,
.home51-promos *::before,
.home51-promos *::after {
    box-sizing: border-box;
}


/* Ограничиваем сам блок примерно как на макете */

.home51-promos .home51-header-container {
    width: min(calc(100% - 32px), 976px);
}


/* ==========================================================
   HEADER
   ========================================================== */

.home51-promos__header {
    max-width: 760px;
    margin-bottom: 40px;
}

.home51-promos__kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 17px;

    color: #5b3df5;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home51-promos__kicker-line {
    display: block;

    width: 17px;
    height: 2px;
    flex: 0 0 17px;

    background: #5b3df5;
}

.home51-promos__title {
    margin: 0 0 13px;

    color: #0d1832;

    font-size: 34px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.home51-promos__text {
    max-width: 760px;

    color: #64708a;

    font-size: 18px;
    line-height: 1.55;
}


/* ==========================================================
   HORIZONTAL SCROLLER
   ========================================================== */

.home51-promos__viewport {
    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 18px;

    scroll-behavior: smooth;
    overscroll-behavior-x: contain;

    scrollbar-width: thin;
    scrollbar-color: #cbd3e3 transparent;
}

.home51-promos__viewport::-webkit-scrollbar {
    height: 8px;
}

.home51-promos__viewport::-webkit-scrollbar-track {
    background: transparent;
}

.home51-promos__viewport::-webkit-scrollbar-thumb {
    background: #cbd3e3;
    border-radius: 999px;
}

.home51-promos__viewport::-webkit-scrollbar-thumb:hover {
    background: #b5bfd3;
}

.home51-promos__track {
    display: flex;
    align-items: stretch;
    gap: 20px;

    width: max-content;

    padding: 0 0 2px;
}


/* ==========================================================
   PROMO CARD
   ========================================================== */

.home51-promo-card {
    width: 255px;
    min-width: 255px;
    height: 337px;

    padding: 24px;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(30, 37, 57, 0.04),
        0 10px 20px rgba(30, 37, 57, 0.08);
}


/* BADGE */

.home51-promo-card__badge {
    align-self: flex-start;

    min-height: 26px;
    margin-bottom: 16px;
    padding: 7px 10px;

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

    border-radius: 999px;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    white-space: nowrap;
}

.home51-promo-card__badge--purple {
    color: #ffffff;
    background: #5b3df5;
}

.home51-promo-card__badge--green {
    color: #14805a;
    background: #dff6eb;
}


/* CARD TEXT */

.home51-promo-card__title {
    margin: 0 0 14px;

    color: #0d1832;

    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.home51-promo-card__text {
    margin-bottom: 14px;

    color: #657089;

    font-size: 16px;
    line-height: 1.55;
}

.home51-promo-card__note {
    margin-bottom: 14px;

    color: #68738a;

    font-size: 14px;
    line-height: 1.55;
}


/* BUTTON */

.home51-promo-card__button {
    min-height: 43px;
    margin-top: auto;
    padding: 0 20px;

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

    align-self: flex-start;

    color: #10172c;
    background: #ffffff;

    border: 1px solid #cbd3e3;
    border-radius: 999px;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 2px 3px rgba(30, 37, 57, 0.04),
        0 7px 13px rgba(30, 37, 57, 0.07);

    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.home51-promo-card__button:hover {
    color: #5b3df5;
    border-color: #5b3df5;
}

.home51-promo-card__button:active {
    transform: translateY(1px);
}


/* ==========================================================
   BOTTOM ROW
   ========================================================== */

.home51-promos__bottom {
    margin-top: 40px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
}

.home51-promos__note {
    max-width: 820px;

    color: #667188;

    font-size: 14px;
    line-height: 1.55;
}

.home51-promos__all {
    flex: 0 0 auto;

    color: #5b3df5;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;

    text-decoration: none;
    white-space: nowrap;
}

.home51-promos__all:hover {
    text-decoration: underline;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .home51-promos {
        padding: 64px 0 70px;
    }

    .home51-promos__header {
        margin-bottom: 32px;
    }

    .home51-promo-card {
        width: 245px;
        min-width: 245px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-promos {
        padding: 52px 0 58px;
    }

    .home51-promos .home51-header-container {
        width: calc(100% - 32px);
    }

    .home51-promos__header {
        margin-bottom: 28px;
    }

    .home51-promos__kicker {
        margin-bottom: 14px;
    }

    .home51-promos__title {
        margin-bottom: 12px;
        font-size: 30px;
    }

    .home51-promos__text {
        font-size: 16px;
    }

    .home51-promos__track {
        gap: 14px;
    }

    .home51-promo-card {
        width: 260px;
        min-width: 260px;
        height: 330px;

        padding: 21px;
    }

    .home51-promos__bottom {
        margin-top: 28px;

        flex-direction: column;
        gap: 13px;
    }

}
/* ==========================================================
   ORDER PROCESS / 4 STEPS
   ========================================================== */

.home51-order-process {
    padding: 72px 0 82px;
    background: #ffffff;
}

.home51-order-process *,
.home51-order-process *::before,
.home51-order-process *::after {
    box-sizing: border-box;
}

.home51-order-process .home51-header-container {
    width: min(calc(100% - 32px), 976px);
}


/* ==========================================================
   HEADER
   ========================================================== */

.home51-order-process__header {
    max-width: 820px;
    margin-bottom: 40px;
}

.home51-order-process__kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 17px;

    color: #5b3df5;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.home51-order-process__kicker-line {
    display: block;

    width: 17px;
    height: 2px;
    flex: 0 0 17px;

    background: #5b3df5;
}

.home51-order-process__title {
    margin: 0 0 14px;

    color: #0d1832;

    font-size: 34px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.home51-order-process__text {
    max-width: 800px;

    color: #64708a;

    font-size: 18px;
    line-height: 1.55;
}


/* ==========================================================
   STEPS
   ========================================================== */

.home51-order-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 19px;

    margin-bottom: 40px;
}

.home51-order-step {
    min-width: 0;
    min-height: 249px;

    padding: 20px;

    background: #ffffff;

    border: 1px solid #dce2ed;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(28, 36, 55, 0.04),
        0 10px 19px rgba(28, 36, 55, 0.08);
}

.home51-order-step__number {
    width: 34px;
    height: 34px;

    margin-bottom: 14px;

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

    color: #5b3df5;
    background: #eee9ff;

    border-radius: 11px;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.home51-order-step__title {
    margin: 0 0 9px;

    color: #0d1832;

    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.home51-order-step__text {
    color: #64708a;

    font-size: 16px;
    line-height: 1.55;
}


/* ==========================================================
   BUTTON
   ========================================================== */

.home51-order-process__button {
    min-height: 43px;
    padding: 0 22px;

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

    color: #ffffff;
    background: #5b3df5;

    border-radius: 999px;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 5px 10px rgba(91, 61, 245, 0.14),
        0 10px 20px rgba(91, 61, 245, 0.18);

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.home51-order-process__button:hover {
    color: #ffffff;
    background: #4f32e7;
}

.home51-order-process__button:active {
    transform: translateY(1px);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .home51-order-process {
        padding: 64px 0 70px;
    }

    .home51-order-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home51-order-step {
        min-height: 230px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-order-process {
        padding: 52px 0 60px;
    }

    .home51-order-process__header {
        margin-bottom: 28px;
    }

    .home51-order-process__kicker {
        margin-bottom: 14px;
    }

    .home51-order-process__title {
        margin-bottom: 12px;

        font-size: 30px;
    }

    .home51-order-process__text {
        font-size: 16px;
    }

    .home51-order-process__steps {
        grid-template-columns: 1fr;
        gap: 14px;

        margin-bottom: 28px;
    }

    .home51-order-step {
        min-height: 0;
        padding: 20px;
    }

    .home51-order-process__button {
        width: 100%;
    }

}

/* ==========================================================
   REVIEWS / SOCIAL PROOF
   ========================================================== */

.home51-reviews {
    padding: 72px 0 82px;
    overflow: hidden;

    background-color: #f5f7fc;
    background-image:
        radial-gradient(
            circle,
            rgba(117, 126, 154, 0.14) 1px,
            transparent 1px
        );
    background-size: 24px 24px;
}

.home51-reviews *,
.home51-reviews *::before,
.home51-reviews *::after {
    box-sizing: border-box;
}

.home51-reviews .home51-header-container {
    width: min(calc(100% - 32px), 976px);
}


/* HEADER */

.home51-reviews__header {
    max-width: 790px;
    margin-bottom: 40px;
}

.home51-reviews__kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 17px;

    color: #5b3df5;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.home51-reviews__kicker-line {
    width: 17px;
    height: 2px;
    flex: 0 0 17px;

    background: #5b3df5;
}

.home51-reviews__title {
    margin: 0 0 13px;

    color: #0d1832;

    font-size: 34px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.home51-reviews__text {
    max-width: 790px;

    color: #64708a;

    font-size: 18px;
    line-height: 1.55;
}


/* ==========================================================
   RATINGS
   ========================================================== */

.home51-reviews__ratings {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;

    margin-bottom: 38px;
}

.home51-review-rating {
    min-height: 133px;
    padding: 22px 20px;

    background: #ffffff;

    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(28, 36, 55, 0.04),
        0 10px 18px rgba(28, 36, 55, 0.07);
}

.home51-review-rating__platform {
    margin-bottom: 8px;

    color: #647088;

    font-size: 14px;
    line-height: 1.4;
}

.home51-review-rating__value {
    display: block;
    margin-bottom: 8px;

    color: #5b3df5;

    font-size: 38px;
    line-height: 1;
    font-weight: 700;
}

.home51-review-rating__count {
    color: #647088;

    font-size: 16px;
    line-height: 1.4;
}


/* ==========================================================
   VIDEO REVIEWS
   ========================================================== */

.home51-reviews__videos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;

    margin-bottom: 38px;
}

.home51-review-video {
    min-width: 0;
}

.home51-review-video__media {
    position: relative;

    width: 100%;
    aspect-ratio: 1.75 / 1;

    margin-bottom: 11px;

    overflow: hidden;

    background: #e5eaf3;

    border-radius: 14px;
}

.home51-review-video__media img,
.home51-review-video__placeholder {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;
}

.home51-review-video__media img {
    object-fit: cover;
}

.home51-review-video__placeholder {
    background: #e5eaf3;
}


/* PLAY */

.home51-review-video__play {
    position: absolute;
    z-index: 3;

    left: 50%;
    top: 50%;

    width: 44px;
    height: 44px;

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

    color: #5b3df5;
    background: #ffffff;

    border-radius: 50%;

    box-shadow:
        0 8px 17px rgba(31, 39, 60, 0.18);

    transform: translate(-50%, -50%);

    text-decoration: none;
}

.home51-review-video__play span {
    width: 0;
    height: 0;

    margin-left: 3px;

    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid currentColor;
}

.home51-review-video__play--placeholder {
    cursor: default;
}

.home51-review-video__name {
    margin: 0 0 7px;

    color: #0d1832;

    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.home51-review-video__service {
    color: #10172c;

    font-size: 16px;
    line-height: 1.4;
}


/* ==========================================================
   REVIEW SCROLLER
   ========================================================== */

.home51-reviews__viewport {
    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 18px;

    scroll-behavior: smooth;
    overscroll-behavior-x: contain;

    scrollbar-width: thin;
    scrollbar-color: #cbd3e3 transparent;
}

.home51-reviews__viewport::-webkit-scrollbar {
    height: 8px;
}

.home51-reviews__viewport::-webkit-scrollbar-track {
    background: transparent;
}

.home51-reviews__viewport::-webkit-scrollbar-thumb {
    background: #cbd3e3;
    border-radius: 999px;
}

.home51-reviews__track {
    display: flex;
    align-items: stretch;
    gap: 20px;

    width: max-content;
}


/* REVIEW CARD */

.home51-review-card {
    width: 255px;
    min-width: 255px;
    min-height: 170px;

    padding: 23px;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #dde2ec;
    border-radius: 15px;

    box-shadow:
        0 2px 3px rgba(28, 36, 55, 0.04),
        0 9px 18px rgba(28, 36, 55, 0.07);
}

.home51-review-card__top {
    margin-bottom: 12px;

    display: flex;
    align-items: center;
    gap: 12px;
}

.home51-review-card__stars {
    color: #5b3df5;

    font-size: 14px;
    line-height: 1;

    letter-spacing: 1px;
    white-space: nowrap;
}

.home51-review-card__date {
    color: #647088;

    font-size: 14px;
    line-height: 1.3;

    white-space: nowrap;
}

.home51-review-card__name {
    margin: 0 0 8px;

    color: #0d1832;

    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-review-card__service {
    margin-bottom: 13px;

    color: #647088;

    font-size: 14px;
    line-height: 1.4;
}


/* READ REVIEW */

.home51-review-card__read {
    margin-top: auto;
    padding: 0;

    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;

    color: #5b3df5;
    background: transparent;

    border: 0;

    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;

    cursor: pointer;
}

.home51-review-card__read-icon {
    font-size: 14px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .home51-reviews {
        padding: 64px 0 70px;
    }

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

    .home51-reviews__videos {
        grid-template-columns: 1fr;
    }

    .home51-review-video__media {
        aspect-ratio: 2 / 1;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-reviews {
        padding: 52px 0 60px;
    }

    .home51-reviews__header {
        margin-bottom: 28px;
    }

    .home51-reviews__title {
        font-size: 30px;
    }

    .home51-reviews__text {
        font-size: 16px;
    }

    .home51-reviews__ratings {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home51-review-rating {
        min-height: 0;
    }

    .home51-review-video__media {
        aspect-ratio: 1.7 / 1;
    }

    .home51-review-card {
        width: 260px;
        min-width: 260px;
    }

}
/* ==========================================================
   CORPORATE CLIENTS
   ========================================================== */

.home51-corporate {
    padding: 72px 0 80px;

    background: #ffffff;
}

.home51-corporate *,
.home51-corporate *::before,
.home51-corporate *::after {
    box-sizing: border-box;
}

.home51-corporate .home51-header-container {
    width: min(calc(100% - 32px), 976px);
}


/* HEADER */

.home51-corporate__header {
    max-width: 820px;

    margin-bottom: 34px;
}

.home51-corporate__title {
    margin: 0 0 12px;

    color: #0d1832;

    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;

    letter-spacing: -0.03em;
}

.home51-corporate__text {
    color: #64708a;

    font-size: 16px;
    line-height: 1.55;
}


/* ==========================================================
   LETTERS
   ========================================================== */

.home51-corporate__letters {
    display: flex;
    gap: 20px;

    overflow-x: auto;

    padding-bottom: 18px;

    margin-bottom: 26px;

    scrollbar-width: thin;
    scrollbar-color: #cbd3e3 transparent;
}


.home51-corporate__letters::-webkit-scrollbar {
    height: 8px;
}

.home51-corporate__letters::-webkit-scrollbar-thumb {
    background: #cbd3e3;
    border-radius: 999px;
}


.home51-corporate-letter {

    width: 255px;
    min-width: 255px;

    padding: 14px;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #dde2ec;

    border-radius: 15px;

    box-shadow:
        0 3px 5px rgba(20, 30, 50, 0.05),
        0 10px 20px rgba(20, 30, 50, 0.06);
}


.home51-corporate-letter__image {

    height: 210px;

    margin-bottom: 12px;

    overflow: hidden;

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

    background: #e5eaf3;

    border-radius: 11px;
}


.home51-corporate-letter__image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

}


.home51-corporate-letter__placeholder {

    color: #64708a;

    font-size: 16px;
}


.home51-corporate-letter__title {

    margin: 0 0 8px;

    color: #0d1832;

    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;

}


.home51-corporate-letter__text {

    min-height: 72px;

    margin-bottom: 14px;

    color: #64708a;

    font-size: 16px;
    line-height: 1.45;

}


.home51-corporate-letter__button {

    margin-top: auto;

    height: 38px;

    padding: 0 18px;

    align-self: flex-start;

    color: #0d1832;

    background: #ffffff;

    border: 1px solid #ccd5e5;

    border-radius: 999px;

    font-size: 16px;
    font-weight: 600;

    cursor: pointer;
}


/* ==========================================================
   LOGOS
   ========================================================== */

.home51-corporate__logos {

    display: flex;

    gap: 14px;

    overflow-x: auto;

    padding-bottom: 6px;

}


.home51-corporate-logo {

    width: 150px;
    min-width: 150px;

    height: 80px;

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

    background: #ffffff;

    border: 1px solid #dde2ec;

    border-radius: 15px;

    box-shadow:
        0 3px 5px rgba(20, 30, 50, 0.04);
}


.home51-corporate-logo img {

    max-width: 80px;
    max-height: 32px;

    object-fit: contain;

}


.home51-corporate-logo__placeholder {

    margin-bottom: 5px;

    color: #64708a;

    font-size: 14px;

}


.home51-corporate-logo__text {

    text-align: center;

    color: #64708a;

    font-size: 14px;
    line-height: 1.25;

}


.home51-corporate-logo__text span {

    display: block;

}


.home51-corporate-logo__text small {

    font-size: 14px;

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .home51-corporate {
        padding: 52px 0 60px;
    }


    .home51-corporate__title {
        font-size: 28px;
    }


    .home51-corporate-letter {

        width: 270px;
        min-width: 270px;

    }

}
/* CORPORATE KICKER */

.home51-corporate__kicker {

    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 16px;

    color: #5b3df5;

    font-size: 14px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: .15em;
    text-transform: uppercase;
}


.home51-corporate__kicker-line {

    width: 17px;
    height: 2px;

    background: #5b3df5;

}


/* CARD HEIGHT */

.home51-corporate-letter {

    min-height: 395px;

}


.home51-corporate-letter__text {

    min-height: 85px;

}


/* LOGOS */

.home51-corporate-logo {

    height: 84px;

}

/* ==========================================================
   MEDIA ABOUT US
   ========================================================== */


.home51-media {

    padding: 64px 0 72px;

    background: transparent;

}


.home51-media *,
.home51-media *::before,
.home51-media *::after {

    box-sizing: border-box;

}


/* HEADER */

.home51-media__header {

    max-width: 820px;

    margin-bottom: 34px;

}


.home51-media__kicker {

    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 16px;

    color: #5b3df5;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}


.home51-media__kicker-line {

    width: 17px;
    height: 2px;

    background: #5b3df5;

}


.home51-media__title {

    margin: 0 0 12px;

    color: #0d1832;

    font-size: 32px;

    line-height: 1.15;

    letter-spacing: -.03em;

}


.home51-media__text {

    color: #64708a;

    font-size: 16px;

    line-height: 1.55;

}



/* CARDS */

.home51-media__list {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

}


.home51-media-card {

    min-height: 250px;

    padding: 16px;

    display: flex;

    flex-direction: column;


    background: #ffffff;

    border: 1px solid #dde2ec;

    border-radius: 16px;


    box-shadow:

        0 5px 15px rgba(20,30,50,.05);

}



.home51-media-card__logo {

    height: 46px;

    margin-bottom: 14px;


    display: flex;

    align-items: center;

    justify-content: center;


    background: #e5eaf3;

    border-radius: 10px;


    overflow: hidden;

}



.home51-media-card__logo img {

    max-width: 80%;

    max-height: 32px;

    object-fit: contain;

}


.home51-media-card__logo-placeholder {

    color: #0d1832;

    font-size: 14px;

    font-weight: 700;

}



.home51-media-card__date {

    margin-bottom: 10px;

    color: #7a849b;

    font-size: 14px;

}


.home51-media-card__title {

    margin: 0 0 12px;


    color: #0d1832;

    font-size: 18px;

    line-height: 1.35;

    font-weight: 700;

}



.home51-media-card__description {

    color: #64708a;

    font-size: 16px;

    line-height: 1.5;

}



/* ADAPTIVE */


@media(max-width:1000px){


    .home51-media__list {

        grid-template-columns: repeat(2,1fr);

    }

}



@media(max-width:600px){


    .home51-media {

        padding: 50px 0;

    }


    .home51-media__title {

        font-size: 28px;

    }


    .home51-media__list {

        grid-template-columns: 1fr;

    }

}
.home51-media__list {

    align-items: stretch;

}


.home51-media-card__description {

    margin-top: auto;

}

/* ==========================================================
   ABOUT DETAIL
   ========================================================== */


.home51-about-detail {

    padding: 40px 0 80px;

}


.home51-about-detail__wrapper {

    width: min(calc(100% - 32px), 976px);

    margin: 0 auto;

    padding: 42px;

    background: #ffffff;

    border: 1px solid #dde2ec;

    border-radius: 24px;


    box-shadow:

        0 8px 25px rgba(20,30,50,.06);

}



/* LABEL */

.home51-about-detail__kicker {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 16px;


    color: #5b3df5;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;

}


.home51-about-detail__line {

    width: 18px;

    height: 2px;

    background: #5b3df5;

}



/* TITLE */

.home51-about-detail__title {

    margin: 0 0 14px;


    color: #0d1832;

    font-size: 32px;

    line-height: 1.2;

    letter-spacing: -.03em;

}



/* INTRO */

.home51-about-detail__intro {

    max-width: 850px;

    margin-bottom: 36px;


    color: #64708a;

    font-size: 18px;

    line-height: 1.6;

}



/* ITEMS */

.home51-about-detail__items {

    display: flex;

    flex-direction: column;

    gap: 26px;

}



.home51-about-detail__item {

    max-width: 900px;

}



.home51-about-detail__item-title {

    margin: 0 0 8px;


    color: #0d1832;

    font-size: 20px;

    line-height: 1.3;

    font-weight: 700;

}



.home51-about-detail__item-text {

    color: #64708a;

    font-size: 16px;

    line-height: 1.6;

}



/* MOBILE */

@media(max-width:600px){


    .home51-about-detail {

        padding: 30px 0 50px;

    }


    .home51-about-detail__wrapper {

        padding: 24px;

        border-radius: 18px;

    }


    .home51-about-detail__title {

        font-size: 26px;

    }


    .home51-about-detail__item-title {

        font-size: 18px;

    }

}
/* FAQ */

.home51-faq {
    padding: 90px 0;
}

.home51-faq .home51-container {
    max-width: 1180px;
    margin: 0 auto;
}


.home51-faq .home51-section-head {
    margin-bottom: 42px;
}


.home51-faq .home51-label {
    display: flex;
    align-items: center;
    gap: 10px;

    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
    color: #5740ff;
    text-transform: uppercase;

    margin-bottom: 18px;
}


.home51-faq .home51-label span {
    width: 28px;
    height: 2px;
    background: #5740ff;
}


.home51-faq .home51-title {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 700;

    color: #11182f;

    margin: 0 0 16px;
}


.home51-faq .home51-description {
    max-width: 760px;

    font-size: 18px;
    line-height: 1.55;

    color: #667085;

    margin: 0;
}


/* список */

.home51-faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;

    margin-top: 40px;
}


.home51-faq-item {
    border: 1px solid #dde3f0;
    border-radius: 12px;

    background: #fff;

    overflow: hidden;
}


/* вопрос */

.home51-faq-question {
    width: 100%;

    display: flex;
    align-items: center;

    padding: 20px 22px;
    border: 0;
    background: transparent;

    cursor: pointer;

    text-align: left;
}


.home51-faq-number {

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

    width: 32px;
    height: 32px;

    flex-shrink: 0;

    margin-right: 16px;

    border-radius: 10px;

    background: #eeeaff;

    color: #5740ff;

    font-size: 14px;
    font-weight: 700;
}


.home51-faq-text {

    flex: 1;

    font-size: 16px;
    font-weight: 600;

    color: #11182f;
}


.home51-faq-icon {

    font-size: 22px;

    color: #5740ff;

    transition: .25s;
}



/* ответ */

.home51-faq-answer {

    display: none;

    padding:
    0 70px 22px 68px;

    font-size: 18px;
    line-height: 1.55;

    color: #667085;
}


.home51-faq-item.active 
.home51-faq-answer {

    display: block;
}


.home51-faq-item.active 
.home51-faq-icon {

    transform: rotate(45deg);
}



/* нижний блок */

.home51-faq-bottom {

    margin-top: 26px;

    padding: 24px 32px;

    border-radius: 18px;

    background: #11182f;

    color: #fff;

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

    gap: 30px;
}


.home51-faq-bottom__title {

    margin: 0 0 8px;

    font-size: 22px;
}


.home51-faq-bottom p {

    margin: 0;

    max-width: 560px;

    font-size: 16px;
    line-height: 1.5;

    color: rgba(255,255,255,.75);
}


.home51-faq-buttons {

    display: flex;
    gap: 12px;
}


.home51-btn {

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

    height: 42px;

    padding: 0 22px;

    border-radius: 999px;

    background: #5740ff;

    color: #fff;

    font-size: 16px;
    font-weight: 600;

    text-decoration: none;
}


.home51-btn-outline {

    background: transparent;

    border: 1px solid rgba(255,255,255,.35);
}
/* ==========================================================
   FINAL CTA / CONSULTATION
   ========================================================== */

.home51-cta {
    position: relative;
    padding: 96px 0 100px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 18% 45%,
            rgba(104, 197, 255, 0.16),
            transparent 32%
        ),
        radial-gradient(
            circle at 82% 55%,
            rgba(99, 224, 176, 0.13),
            transparent 34%
        ),
        #f4f8fc;
}

.home51-cta__inner {
    display: grid;
    grid-template-columns: 575px 315px;
    gap: 25px;
    align-items: start;

    max-width: 915px;
    margin: 0 auto;
}
.home51-cta__content {
    min-width: 0;
    padding: 20px 0;
}

.home51-cta__kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;

    color: #6246f5;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home51-cta__kicker-line {
    width: 34px;
    height: 2px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #6246f5;
}

.home51-cta__title {
    max-width: 575px;
    margin: 0 0 18px;

    color: #101b3a;
    font-size: 30px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.home51-cta__text {
    max-width: 720px;
    margin-bottom: 36px;

    color: #59677f;
    font-size: 18px;
    line-height: 1.65;
}

.home51-cta-benefit {
    min-width: 0;
    min-height: 157px;
    box-sizing: border-box;
    padding: 18px;

    border: 1px solid rgba(111, 127, 157, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);

    box-shadow:
        0 8px 20px rgba(35, 43, 66, 0.05),
        0 2px 6px rgba(35, 43, 66, 0.04);
}
.home51-cta-benefit {
    min-width: 0;
    padding: 20px 18px;

    border: 1px solid rgba(111, 127, 157, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow:
        0 8px 20px rgba(35, 43, 66, 0.05),
        0 2px 6px rgba(35, 43, 66, 0.04);
}

.home51-cta-benefit__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;
    margin-bottom: 16px;

    border-radius: 10px;
    background: #5b3df5;

    color: #fff;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.home51-cta-benefit__title {
    margin-bottom: 7px;

    color: #101b3a;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-cta-benefit__text {
    color: #68758b;
    font-size: 16px;
    line-height: 1.5;
}


/* ==========================================================
   RIGHT SIDE
   ========================================================== */

.home51-cta__side {
    min-width: 0;
}

.home51-cta__manager {
    display: flex;
    align-items: center;
    gap: 16px;

    margin: 0 0 18px;
    padding: 16px 20px;

    border: 1px solid rgba(111, 127, 157, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.9);

    box-shadow:
        0 10px 24px rgba(35, 43, 66, 0.06);
}

.home51-cta__manager-photo {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 64px;
    height: 64px;
    flex: 0 0 64px;

    overflow: hidden;
    border-radius: 50%;
    background: #e9edf5;
}

.home51-cta__manager-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home51-cta__manager-name {
    color: #101b3a;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.home51-cta__manager-position {
    margin-top: 4px;

    color: #68758b;
    font-size: 16px;
    line-height: 1.4;
}

.home51-cta__manager-phone {
    margin-top: 5px;

    color: #101b3a;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
}


/* ==========================================================
   FORM CARD
   ========================================================== */

.home51-cta__form {
    min-width: 0;
    padding: 24px;

    border-radius: 16px;
    background: #fff;

    box-shadow:
        0 8px 20px rgba(35, 43, 66, 0.08),
        0 2px 6px rgba(35, 43, 66, 0.04);
}

/* Старый consultation переносим визуально в новую карточку */

.home51-cta__form .consultation {
    padding: 0;
    background: transparent;
}

.home51-cta__form .consultation .container {
    width: auto;
    max-width: none;
    padding: 0;
}

.home51-cta__form .consultation-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home51-cta__form .consultation-title {
    margin: 0 0 12px;

    color: #101b3a;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
}

.home51-cta__form .consultation-subtitle {
    margin: 0 0 24px;

    color: #68758b;
    font-size: 16px;
    line-height: 1.55;
}

.home51-cta__form .consultation-messengers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;

    margin-bottom: 20px;
}

.home51-cta__form .consultation-messenger {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 10px 14px;

    border-radius: 12px;
    text-decoration: none;

    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
}

.home51-cta__form .consultation-divider {
    margin: 20px 0 14px;

    color: #8792a5;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
}

.home51-cta__form .consultation-field {
    margin-bottom: 12px;
}

.home51-cta__form .consultation-field input {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 0 16px;

    border: 1px solid #dce3ef;
    border-radius: 14px;
    outline: none;

    background: #fff;

    color: #101b3a;
    font-size: 16px;
}

.home51-cta__form .consultation-submit {
    width: 100%;
    min-height: 52px;

    border: 0;
    border-radius: 14px;

    background: #168ff0;
    color: #fff;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;
}

.home51-cta__form .consultation-agreement {
    display: flex;
    align-items: flex-start;
    gap: 8px;

    margin-top: 14px;

    color: #7b8799;
    font-size: 14px;
    line-height: 1.45;
}

.home51-cta__form .consultation-agreement input {
    margin-top: 2px;
    flex: 0 0 auto;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 1100px) {
    .home51-cta__inner {
        grid-template-columns: minmax(0, 1fr) 500px;
        gap: 40px;
    }

    .home51-cta__benefits {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .home51-cta {
        padding: 64px 0 72px;
    }

    .home51-cta__inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .home51-cta__title {
        font-size: clamp(30px, 8vw, 40px);
    }

    .home51-cta__text {
        font-size: 18px;
    }

    .home51-cta__benefits {
        grid-template-columns: 1fr;
    }

    .home51-cta__side {
        max-width: 600px;
    }
}

@media (max-width: 520px) {
    .home51-cta__form {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .home51-cta__form .consultation-messengers {
        grid-template-columns: 1fr;
    }

    .home51-cta__manager {
        padding: 16px;
    }
}
.home51-cta__form .consultation-messenger--max {
    border: 1px solid #8b5cf6;
    background: #fff;
    color: #7c3aed;
}

.home51-cta__form .consultation-messenger--max:hover {
    background: #f5f0ff;
}

/* ==========================================================
   CTA — NEW FORM
   ========================================================== */

.home51-cta-form__title {
    margin-bottom: 8px;

    color: #101b3a;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

.home51-cta-form__text {
    margin-bottom: 22px;

    color: #68758b;
    font-size: 16px;
    line-height: 1.55;
}

.home51-form__field {
    margin-bottom: 14px;
}

.home51-form__field label {
    display: block;
    margin-bottom: 6px;

    color: #101b3a;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
}

.home51-form__field input {
    box-sizing: border-box;

    width: 100%;
    height: 44px;
    padding: 0 13px;

    border: 1px solid #d8dfeb;
    border-radius: 10px;
    outline: none;

    background: #fff;

    color: #101b3a;
    font-size: 16px;
}

.home51-form__field input:focus {
    border-color: #6246f5;
}

.home51-form__agreement {
    display: flex;
    align-items: flex-start;
    gap: 7px;

    margin: 3px 0 15px;

    color: #7a879b;
    font-size: 14px;
    line-height: 1.4;
}

.home51-form__agreement input {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    margin: 0;
}

.home51-form__agreement a {
    color: #6246f5;
}

.home51-form__submit {
    width: 100%;
    height: 42px;
    padding: 0 16px;

    border: 0;
    border-radius: 21px;

    background: #6246f5;
    color: #fff;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;
}

.home51-form__messengers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.home51-form__messenger {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 0 8px;

    border: 1px solid #d5ddea;
    border-radius: 20px;

    background: #fff;
    color: #101b3a;

    text-decoration: none;

    font-size: 14px;
    line-height: 1;
    font-weight: 600;
}

.home51-form__error {
    margin-bottom: 15px;
    padding: 10px 12px;

    border-radius: 10px;
    background: #fff0f0;

    color: #c0392b;
    font-size: 14px;
}

.home51-form__success {
    padding: 20px;

    border: 1px solid #d8caff;
    border-radius: 16px;

    background: #f0ebff;
}

.home51-form__success-title {
    margin-bottom: 8px;

    color: #101b3a;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.home51-form__success-text {
    color: #68758b;
    font-size: 16px;
    line-height: 1.55;
}
/* CTA benefits — финальная сетка */
@media (min-width: 801px) {
    .home51-cta__benefits {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        max-width: 575px;
    }
}

@media (max-width: 800px) {
    .home51-cta__benefits {
        grid-template-columns: 1fr;
    }
}
.home51-form__field {
    margin-bottom: 12px;
}

.home51-form__field input {
    height: 38px;
}

.home51-form__agreement {
    margin: 2px 0 13px;
}

.home51-form__submit {
    height: 40px;
}

.home51-form__messengers {
    margin-top: 11px;
}
/* ==========================================================
   CTA — FINAL BOTTOM CARDS
   ========================================================== */

.home51-cta-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;

    max-width: 915px;
    margin: 36px auto 0;
    padding-top: 0;

    border-top: 0;
}

.home51-cta-subscribe-card,
.home51-cta-social-card {
    box-sizing: border-box;
    min-height: 202px;
    padding: 22px;

    border: 1px solid rgba(111, 127, 157, 0.15);
    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 8px 20px rgba(35, 43, 66, 0.06),
        0 2px 6px rgba(35, 43, 66, 0.03);
}

.home51-cta-bottom__title {
    margin: 0 0 12px;

    color: #101b3a;

    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-cta-bottom__text {
    margin: 0 0 16px;

    color: #68758b;

    font-size: 14px;
    line-height: 1.55;
}

.home51-cta-subscribe-field label {
    display: block;

    margin-bottom: 7px;

    color: #101b3a;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
}

.home51-cta-subscribe-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px;
    gap: 10px;
}

.home51-cta-subscribe-row input {
    box-sizing: border-box;

    width: 100%;
    height: 38px;
    padding: 0 12px;

    border: 1px solid #d8dfeb;
    border-radius: 9px;
    outline: none;

    background: #fff;

    color: #101b3a;
    font-size: 14px;
}

.home51-cta-subscribe-row input:focus {
    border-color: #6246f5;
}

.home51-cta-subscribe-row button {
    height: 38px;
    padding: 0 14px;

    border: 1px solid #d8dfeb;
    border-radius: 20px;

    background: #fff;
    color: #101b3a;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 5px 12px rgba(35, 43, 66, 0.07);
}


/* socials */

.home51-cta-social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home51-cta-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 32px;
    padding: 0 13px;

    border: 1px solid #d8dfeb;
    border-radius: 8px;

    background: #fff;
    color: #101b3a;

    font-size: 14px;
    line-height: 1;
    font-weight: 600;
}


/* responsive */

@media (max-width: 800px) {
    .home51-cta-bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .home51-cta-subscribe-row {
        grid-template-columns: 1fr;
    }

    .home51-cta-subscribe-row button {
        width: 100%;
    }
}
.home51-form__messenger--disabled {
    cursor: default;
}
/* ==========================================================
   ШАПКА - финальный вид Cloud
   ========================================================== */

.home51-hd-topbar {
  background: #141a34;
  color: #ffffff;
  font-size: 14px;
}

.home51-hd-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 36px;
}

.home51-hd-topbar__right {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.home51-hd-topbar a {
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
}


.home51-hd-main {
  background: var(--color-surface, #ffffff);
  border-bottom: 1px solid var(--color-line, #e3e7f0);
}

.home51-hd-main__inner {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 72px;
}

.home51-hd-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  color: var(--color-ink, #111427);
  font-size: 18px;
  text-decoration: none;
}

.home51-hd-brand__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #1f9d55;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
}

.home51-hd-brand strong {
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}


.home51-hd-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-left: auto;
  font-size: 16px;
  font-weight: 600;
}

.home51-hd-nav a {
  color: var(--color-ink, #111427);
  text-decoration: none;
  white-space: nowrap;
}

.home51-hd-nav a:hover {
  color: var(--color-accent, #5b3df5);
}


.home51-hd-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.home51-hd-actions .home51-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.home51-hd-actions .home51-button--secondary {
  border-color: var(--color-line, #e3e7f0);
  background: #ffffff;
  color: var(--color-ink, #111427);
}

.home51-hd-actions .home51-button--primary {
  background: var(--color-accent, #5b3df5);
  color: #ffffff;
}


.home51-hd-subnav {
  background: var(--color-surface, #ffffff);
  border-bottom: 1px solid var(--color-line, #e3e7f0);
}

.home51-hd-subnav__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 40px;
  overflow-x: auto;
  color: var(--color-muted, #636b80);
  font-size: 16px;
  white-space: nowrap;
}

.home51-hd-subnav a {
  color: inherit;
  text-decoration: none;
}

.home51-hd-subnav a:hover {
  color: var(--color-accent, #5b3df5);
}


@media (max-width: 900px) {
  .home51-hd-nav {
    display: none;
  }

  .home51-hd-actions .home51-button--secondary {
    display: none;
  }
}

@media (max-width: 600px) {
  .home51-hd-topbar__inner > span:first-child {
    display: none;
  }

  .home51-hd-subnav {
    display: none;
  }
}
/* Шапка — ширина контейнера как в Cloud */
.home51-site-header .home51-container {
  width: min(calc(100% - 32px), 1180px);
  margin-left: auto;
  margin-right: auto;
}
/* ==========================================================
   HERO — корректировка под финальный макет
   ========================================================== */

@media (min-width: 1200px) {

    /* Общая ширина Hero */
    .home51-hero .home51-header-container {
        width: 1060px;
        max-width: 1060px;
        left: 0;
    }

    /* Левая часть + карточка подарка */
    .home51-hero__grid {
        grid-template-columns: 690px 330px;
        gap: 40px;
    }

    /* Отступы всей секции */
    .home51-hero {
        padding-top: 82px;
        padding-bottom: 88px;
    }

    /* Маленький верхний заголовок */
    .home51-hero__eyebrow {
        margin-bottom: 21px;

        font-size: 12px;
        line-height: 1.3;
    }

    /* Главный заголовок */
    .home51-hero__title {
        max-width: 690px;

        font-size: 50px;
        line-height: 1.04;
        font-weight: 700;
    }

    /* Описание */
    .home51-hero__text {
        max-width: 690px;
        min-height: 0;

        margin-top: 25px;

        font-size: 16px;
        line-height: 1.55;
    }

    /* Кнопки */
    .home51-hero__actions {
        gap: 8px;

        margin-top: 39px;
    }

    .home51-hero .home51-btn--primary {
        width: 183px;
        height: 44px;
        min-height: 44px;

        padding: 0 18px;

        font-size: 14px;
    }

    .home51-hero .home51-btn--messenger {
        height: 42px;
        min-height: 42px;

        padding: 0 13px;

        font-size: 14px;
    }


    /* ======================================================
       КАРТОЧКА ПОДАРКА
       ====================================================== */

    .home51-hero-offer {
        width: 330px;
        height: 414px;

        border-radius: 18px;
    }

    .home51-hero-offer__label {
        top: 22px;
        left: 20px;

        font-size: 12px;
    }

    .home51-hero-offer__title {
        top: 51px;
        left: 20px;

        width: 290px;

        font-size: 20px;
        line-height: 1.12;
    }

    .home51-hero-offer__items {
        top: 114px;
        right: 20px;
        left: 20px;

        grid-template-rows:
            64px
            64px
            64px
            64px;

        gap: 7px;
    }

    .home51-offer-item {
        grid-template-columns: 13px minmax(0, 1fr);
        gap: 9px;

        padding: 10px;

        border-radius: 8px;
    }

    .home51-offer-item__radio {
        width: 12px;
        height: 12px;
    }

    .home51-offer-item__radio::after {
        top: 3px;
        left: 3px;

        width: 4px;
        height: 4px;
    }

    .home51-offer-item__content strong {
        font-size: 16px;
    }

    .home51-offer-item__content small {
        font-size: 14px;
    }


    /* ======================================================
       ТРИ КАРТОЧКИ СТАТИСТИКИ
       ====================================================== */

    .home51-hero-stats {
        grid-template-columns: repeat(3, 220px);

        gap: 15px;

        width: 690px;

        margin-top: 37px;
    }

    .home51-hero-stat {
        width: 220px;
        height: 127px;

        padding: 17px 18px;

        border-radius: 12px;
    }

    .home51-hero-stat strong {
        margin-bottom: 6px;

        font-size: 18px;
        line-height: 1.2;
    }

    .home51-hero-stat span {
        font-size: 14px;
        line-height: 1.4;
    }
}
/* ==========================================================
   HEADER — FINAL LAYOUT
   ========================================================== */

.home51-topbar,
.home51-header {
    font-family: inherit;
}

.home51-topbar {
    height: 32px;
    background: #141a34;
    color: #fff;
}

.home51-topbar__inner {
    height: 32px;

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

    gap: 24px;
}

.home51-topbar__contacts {
    display: flex;
    align-items: center;
    gap: 18px;

    font-size: 12px;
    line-height: 1;
}

.home51-topbar__contacts a {
    color: #fff;
    text-decoration: none;
}

.home51-topbar__orders {
    display: flex;
    align-items: baseline;
    gap: 7px;

    font-size: 12px;
}

.home51-topbar__orders strong {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.home51-topbar__orders span {
    color: rgba(255,255,255,.65);
}


/* MAIN */

.home51-header {
    position: relative;
    z-index: 20;

    background: #fff;
}

.home51-header__main {
    height: 64px;

    border-bottom: 1px solid #eceef3;
}

.home51-header__main-inner {
    height: 64px;

    display: grid;
    grid-template-columns:
        175px
        82px
        130px
        125px
        minmax(0, 1fr);

    gap: 10px;
    align-items: center;
}


/* BRAND */

.home51-header__brand {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 9px;

    color: #111427;
    text-decoration: none;
}

.home51-header__brand-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;

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

    border-radius: 9px;

    background: #5a3ef5;
    color: #fff;

    font-size: 16px;
    font-weight: 800;
}

.home51-header__brand-text {
    display: grid;
    gap: 2px;
}

.home51-header__brand-text strong {
    color: #111427;

    font-size: 16px;
    line-height: 1;
    font-weight: 800;
}

.home51-header__brand-text small {
    color: #74798a;

    font-size: 12px;
    line-height: 1.1;
}


/* SERVICES + CITY */

.home51-header__control,
.home51-header__city {
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    padding: 0 10px;

    border: 1px solid #e2e4eb;
    border-radius: 18px;

    background: #fff;
    color: #25283b;

    text-decoration: none;

    font: inherit;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}

.home51-header__city {
    width: 130px;
    cursor: pointer;
}

.home51-header__city small {
    color: #777d8d;

    font-size: 12px;
    font-weight: 600;
}


/* MESSENGERS */

.home51-header__messengers {
    display: flex;
    align-items: center;

    gap: 5px;
}

.home51-header__messengers a {
    width: 37px;
    height: 34px;

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

    border: 1px solid #e2e4eb;
    border-radius: 17px;

    background: #fff;
    color: #676b7b;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}


/* ACTIONS */

.home51-header__actions {
    justify-self: end;

    display: flex;
    align-items: center;

    gap: 9px;
}

.home51-header__call,
.home51-header__calc {
    height: 38px;

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

    padding: 0 15px;

    border-radius: 20px;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;

    white-space: nowrap;
}

.home51-header__call {
    border: 1px solid #dfe2ea;

    background: #fff;
    color: #181b2c;
}

.home51-header__calc {
    border: 1px solid #5a3ef5;

    background: #5a3ef5;
    color: #fff;

    box-shadow:
        0 5px 14px rgba(90, 62, 245, .18);
}


/* CITY ROW */

.home51-header__cities {
    height: 34px;

    background: #f7f8fb;

    border-bottom: 1px solid #eceef3;
}

.home51-header__cities-inner {
    height: 34px;

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

    gap: 20px;

    overflow-x: auto;
    white-space: nowrap;

    scrollbar-width: none;
}

.home51-header__cities-inner::-webkit-scrollbar {
    display: none;
}

.home51-header__cities-inner a {
    flex: 0 0 auto;

    color: #686d7e;
    text-decoration: none;

    font-size: 12px;
    line-height: 1;
}


/* BURGER */

.home51-header__burger {
    display: none;
}


/* TABLET */

@media (max-width: 1100px) {

    .home51-header__main-inner {
        display: flex;
    }

    .home51-header__city {
        display: none;
    }

    .home51-header__actions {
        margin-left: auto;
    }

    .home51-header__call {
        display: none;
    }
}


/* MOBILE */

@media (max-width: 800px) {

    .home51-topbar__contacts > *:not(:first-child),
    .home51-topbar__orders,
    .home51-header__services,
    .home51-header__city,
    .home51-header__messengers,
    .home51-header__actions,
    .home51-header__cities {
        display: none;
    }

    .home51-header__main,
    .home51-header__main-inner {
        height: 58px;
    }

    .home51-header__burger {
        width: 38px;
        height: 38px;

        display: block;

        margin-left: auto;
        padding: 8px;

        border: 0;
        background: transparent;
    }

    .home51-header__burger span {
        display: block;

        height: 2px;
        margin: 5px 0;

        background: #171a30;
    }
}
/* ==========================================================
   HEADER — FINAL MOCKUP
   ========================================================== */

.home51-topbar,
.home51-header {
    font-family: inherit;
}


/* общий контейнер */

.home51-topbar .home51-header-container,
.home51-header .home51-header-container {
    width: min(calc(100% - 32px), 1180px);
    margin-left: auto;
    margin-right: auto;
}


/* ==========================================================
   TOP BAR
   ========================================================== */

.home51-topbar {
    height: 34px;

    background: #141a34;
    color: #fff;
}

.home51-topbar__inner {
    height: 34px;
    min-height: 34px;

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

    gap: 24px;
}

.home51-topbar__contacts {
    display: flex;
    align-items: center;

    gap: 20px;

    color: rgba(255,255,255,.88);

    font-size: 14px;
    line-height: 1;
}

.home51-topbar__contacts a {
    color: inherit;
    text-decoration: none;
}

.home51-topbar__orders {
    display: flex;
    align-items: center;

    gap: 7px;

    line-height: 1;
}

.home51-topbar__orders strong {
    color: #fff;

    font-size: 14px;
    font-weight: 800;
}

.home51-topbar__orders span {
    color: rgba(255,255,255,.65);

    font-size: 12px;
}


/* ==========================================================
   MAIN HEADER
   ========================================================== */

.home51-header {
    position: relative;
    z-index: 100;

    background: #fff;
}

.home51-header__main {
    height: 68px;

    background: #fff;

    border-bottom: 1px solid #e8ebf2;
}

.home51-header__main-inner {
    height: 68px;

    display: flex;
    align-items: center;

    gap: 12px;
}


/* ==========================================================
   BRAND
   ========================================================== */

.home51-header__brand {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    gap: 10px;

    margin-right: 4px;

    color: #111427;
    text-decoration: none;
}

.home51-header__brand-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    border-radius: 9px;

    background: #5b3df5;
    color: #fff;

    box-shadow:
        0 6px 14px rgba(91,61,245,.27);

    font-size: 16px;
    line-height: 1;
    font-weight: 800;
}

.home51-header__brand-text {
    display: flex;
    flex-direction: column;

    gap: 3px;
}

.home51-header__brand-text strong {
    color: #111427;

    font-size: 16px;
    line-height: 1;
    font-weight: 800;

    white-space: nowrap;
}

.home51-header__brand-text small {
    color: #72788a;

    font-size: 12px;
    line-height: 1;
}


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

.home51-header__services-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    height: 38px;

    padding: 0 15px;

    border: 1px solid #dce1eb;
    border-radius: 20px;

    background: #fff;
    color: #111427;

    font: inherit;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;
}

.home51-header__services-arrow {
    position: relative;
    top: -1px;

    font-size: 14px;

    transition: transform .2s ease;
}

.home51-header.is-services-open
.home51-header__services-button {
    border-color: #111427;

    background: #111427;
    color: #fff;
}

.home51-header.is-services-open
.home51-header__services-arrow {
    transform: rotate(180deg);
}


/* ==========================================================
   CITY
   ========================================================== */

.home51-header__city {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 5px;

    height: 38px;

    padding: 0 14px;

    border: 1px solid #dce1eb;
    border-radius: 20px;

    background: #fff;
    color: #111427;

    font: inherit;
    line-height: 1;

    cursor: pointer;
}

.home51-header__city strong {
    font-size: 14px;
    font-weight: 800;
}

.home51-header__city > span:not(.home51-header__city-arrow) {
    color: #73798b;

    font-size: 12px;
    font-weight: 600;
}

.home51-header__city-arrow {
    margin-left: 2px;

    color: #73798b;

    font-size: 14px;
}


/* ==========================================================
   MESSENGERS
   ========================================================== */

.home51-header__messengers {
    display: flex;
    align-items: center;

    gap: 7px;
}

.home51-header__messengers a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border: 1px solid #dce1eb;
    border-radius: 50%;

    background: #fff;
    color: #626a7e;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}


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

.home51-header__actions {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-left: auto;
}

.home51-header__call,
.home51-header__calc {
    height: 40px;

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

    padding: 0 20px;

    border-radius: 22px;

    text-decoration: none;

    font-size: 14px;
    line-height: 1;
    font-weight: 800;

    white-space: nowrap;
}

.home51-header__call {
    min-width: 142px;

    border: 1px solid #d8deea;

    background: #fff;
    color: #111427;

    box-shadow:
        0 4px 10px rgba(21,28,50,.05);
}

.home51-header__calc {
    min-width: 160px;

    border: 1px solid #5b3df5;

    background: #5b3df5;
    color: #fff;

    box-shadow:
        0 7px 16px rgba(91,61,245,.27);
}


/* ==========================================================
   CITY ROW
   ========================================================== */

.home51-header__cities {
    height: 36px;

    background: #f6f7fb;

    border-bottom: 1px solid #e7eaf1;
}

.home51-header__cities-inner {
    height: 36px;

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

    gap: 21px;

    overflow-x: auto;

    white-space: nowrap;

    scrollbar-width: none;
}

.home51-header__cities-inner::-webkit-scrollbar {
    display: none;
}

.home51-header__cities-inner a {
    flex: 0 0 auto;

    color: #626a7d;

    text-decoration: none;

    font-size: 12px;
    line-height: 1;
    font-weight: 500;
}


/* ==========================================================
   MEGA MENU
   ========================================================== */

.home51-mega-menu {
    position: absolute;
    z-index: 110;

    top: 68px;
    left: 0;

    width: 100%;

    visibility: hidden;

    padding: 29px 0 34px;

    opacity: 0;

    background: #fff;

    border-bottom-right-radius: 22px;
    border-bottom-left-radius: 22px;

    box-shadow:
        0 14px 30px rgba(20,27,48,.12);

    transform: translateY(-5px);

    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.home51-header.is-services-open
.home51-mega-menu {
    visibility: visible;

    opacity: 1;

    transform: translateY(0);

    pointer-events: auto;
}


/* при открытом меню строку городов скрываем */

.home51-header.is-services-open
.home51-header__cities {
    visibility: hidden;
}


.home51-mega-menu__inner {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 54px;
}

.home51-mega-menu__column {
    display: flex;
    flex-direction: column;

    align-items: flex-start;

    gap: 15px;
}

.home51-mega-menu__title {
    margin-bottom: 4px;

    color: #5b3df5;

    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.home51-mega-menu__column a {
    color: #25293d;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
}

.home51-mega-menu__column a:hover {
    color: #5b3df5;
}


/* ==========================================================
   BURGER
   ========================================================== */

.home51-header__burger {
    display: none;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1050px) {

    .home51-header__messengers {
        display: none;
    }

    .home51-header__call {
        display: none;
    }

    .home51-mega-menu__inner {
        gap: 28px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

    .home51-topbar__contacts > *:not(:first-child),
    .home51-topbar__orders,
    .home51-header__services-button,
    .home51-header__city,
    .home51-header__messengers,
    .home51-header__actions,
    .home51-header__cities,
    .home51-mega-menu {
        display: none;
    }

    .home51-header__main,
    .home51-header__main-inner {
        height: 60px;
    }

    .home51-header__burger {
        display: block;

        width: 38px;
        height: 38px;

        margin-left: auto;
        padding: 8px;

        border: 0;

        background: transparent;

        cursor: pointer;
    }

    .home51-header__burger span {
        display: block;

        height: 2px;

        margin: 5px 0;

        background: #111427;
    }

}

/* ==========================================================
   ПАТЧ ПОД МАКЕТ (табы цен + карточка услуги)
   ========================================================== */

.home51-prices__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 22px;
}

.home51-prices__tabs span {
    display: inline-flex;
    align-items: center;

    min-height: 30px;
    padding: 0 14px;

    border: 1px solid #dde2ec;
    border-radius: 999px;

    background: #fff;
    color: #303447;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    cursor: default;
}

@media (max-width: 600px) {

    .home51-prices__tabs {
        margin-top: 16px;
    }
}

.home51-service-card__price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;

    margin-top: 12px;
    padding-bottom: 9px;

    border-bottom: 1px solid #ececf2;

    font-size: 14px;
}

.home51-service-card__price::before {
    content: "Цена";

    color: #9599a9;

    font-size: 14px;
    font-weight: 400;
}

.home51-service-card__meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;

    margin-top: 0;
    padding-top: 0;

    border-top: 0;
}

.home51-service-card__meta div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;

    padding: 9px 0;

    border-bottom: 1px solid #ececf2;
}

.home51-service-card__meta div:last-child {
    border-bottom: 0;
}

.home51-service-card__meta span {
    font-size: 14px;
}

.home51-service-card__meta strong {
    font-size: 14px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ «Чистая техника»
   Приведение к дизайн-токенам макета (theme.css):
   шрифты Geologica/Golos Text, фон #eceff5, тёмный #141a33,
   заголовки weight 600, радиусы 20/30
   ========================================================== */

/* --- Шрифты --- */

.home51,
.home51-topbar,
.home51-header,
.home51-mega-menu {
    font-family: "Golos Text", system-ui, sans-serif;
}

.home51 button,
.home51 input,
.home51 select,
.home51 textarea,
.home51-header button {
    font-family: inherit;
}

.home51 h1,
.home51 h2,
.home51 h4,
.home51-service-card__title,
.home51-price-card__title,
.home51-scope-panel__title,
.home51-excluded-cta__title,
.home51-reason-card__title,
.home51-equipment-card__title,
.home51-guarantee-card__title,
.home51-case-card__title,
.home51-team-card__name,
.home51-team-fact__title,
.home51-subscription-benefit__title,
.home51-promo-card__title,
.home51-order-step__title,
.home51-review-video__name,
.home51-review-card__name,
.home51-corporate-letter__title,
.home51-media-card__title,
.home51-about-detail__item-title,
.home51-faq-bottom__title,
.home51-cta-bottom__title,
.home51-footer__title,
.home51-footer__cities-title,
.home51-hero__title,
.home51-section-title,
.home51-company-panel__title,
.home51-process__title,
.home51-subscription__title,
.home51-promos__title,
.home51-order-process__title,
.home51-reviews__title,
.home51-corporate__title,
.home51-media__title,
.home51-about-detail__title,
.home51-cta__title,
.home51-faq .home51-title {
    font-family: Geologica, system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: -0.025em;
}

/* --- Размеры заголовков как в макете --- */

.home51-hero__title {
    font-size: clamp(36px, 4.2vw, 60px);
    line-height: 1.05;
}

.home51-section-title,
.home51-process__title,
.home51-promos__title,
.home51-order-process__title,
.home51-reviews__title,
.home51-corporate__title,
.home51-media__title,
.home51-about-detail__title,
.home51-faq .home51-title {
    font-size: clamp(30px, 3.1vw, 46px);
    line-height: 1.06;
}

.home51-subscription__title,
.home51-company-panel__title,
.home51-cta__title {
    font-size: clamp(28px, 2.6vw, 38px);
    line-height: 1.08;
}

/* --- Фон страницы: «бумага» #eceff5 --- */

.home51-hero {
    background:
        radial-gradient(
            circle 305px at 91.7% 15%,
            #d4d3f4 0,
            rgba(212, 211, 244, 0) 100%
        ),
        radial-gradient(
            circle,
            rgba(44, 49, 70, .08) 1px,
            transparent 1px
        ),
        #eceff5;
    background-size: auto, 22px 22px, auto;
    background-repeat: no-repeat, repeat, no-repeat;
}

.home51-prices,
.home51-excluded {
    background: #eceff5;
}

.home51-equipment,
.home51-cases {
    background-color: #eceff5;
}

.home51-process,
.home51-promos,
.home51-reviews {
    background-color: #eceff5;
}

/* CTA: нейтральная «бумага» вместо зелёно-голубых градиентов */

.home51-cta {
    background:
        radial-gradient(
            circle,
            rgba(117, 126, 154, 0.14) 1px,
            transparent 1px
        ),
        #eceff5;
    background-size: 24px 24px, auto;
}

/* --- Тёмные панели: #141a33 --- */

.home51-topbar {
    background: #141a33;
}

.home51-calculator-result {
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(105, 78, 245, .25),
            transparent 45%
        ),
        #141a33;
}

.home51-company-panel {
    background: #141a33;
}

.home51-faq-bottom {
    background: #141a33;
}

/* --- Радиусы: карточки 20, крупные панели 30 --- */

.home51-service-card,
.home51-price-card,
.home51-reason-card,
.home51-equipment-card,
.home51-guarantee-card,
.home51-case-card,
.home51-team-card,
.home51-team-fact,
.home51-review-rating,
.home51-review-card,
.home51-promo-card,
.home51-order-step,
.home51-subscription-benefit,
.home51-corporate-letter,
.home51-media-card,
.home51-excluded-cta,
.home51-cta-benefit,
.home51-cta__form,
.home51-cta-subscribe-card,
.home51-cta-social-card,
.home51-scope__card,
.home51-calculator__form,
.home51-faq-item {
    border-radius: 20px;
}

.home51-hero-offer,
.home51-company-panel,
.home51-calculator-result,
.home51-crm,
.home51-subscription__panel,
.home51-about-detail__wrapper,
.home51-faq-bottom {
    border-radius: 30px;
}

/* --- Кикеры: трекинг как в макете --- */

.home51-hero__eyebrow,
.home51-section-kicker,
.home51-hero-offer__label {
    letter-spacing: 0.12em;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: кейсы «до/после» с ползунком сравнения
   ========================================================== */

.home51-ba-frame {
    --position: 50%;

    position: relative;
    overflow: hidden;

    min-height: 200px;
    aspect-ratio: 4 / 3;

    background: #e4e9f2;
}

.home51-ba-frame::after {
    content: "";

    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: var(--position);

    width: 2px;

    background: #ffffff;

    transform: translateX(-1px);
    pointer-events: none;
}

.home51-ba-side {
    position: absolute;
    inset: 0;

    display: grid;
    align-content: center;

    padding: 0 24px;

    color: #626b80;

    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
}

.home51-ba-side img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.home51-ba-before {
    justify-items: start;

    background: #e4e9f2;
}

.home51-ba-after {
    justify-items: end;

    background: #ece8ff;

    clip-path: inset(0 0 0 var(--position));
}

.home51-ba-label {
    position: absolute;
    z-index: 4;
    top: 12px;

    display: inline-flex;
    align-items: center;

    min-height: 30px;
    padding: 0 12px;

    border-radius: 999px;

    background: #ffffff;
    color: #101426;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-ba-label--before {
    left: 12px;
}

.home51-ba-label--after {
    right: 12px;
}

.home51-ba-range {
    position: absolute;
    z-index: 5;
    right: 16px;
    bottom: 16px;
    left: 16px;

    margin: 0;

    accent-color: #5a3ef5;

    cursor: pointer;
}


/* Тело карточки — как в макете */

.home51-case-card__title {
    min-height: 0;

    font-size: 22px;
    line-height: 1.2;
}

.home51-case-card__stats {
    gap: 8px;
}

.home51-case-card__stats div {
    gap: 2px;

    padding: 12px;

    border-radius: 12px;

    background: #f5f7fb;
}

.home51-case-card__stats strong {
    font-size: 16px;
    line-height: 1.2;
}

.home51-case-card__stats span {
    color: #626b80;

    font-size: 12px;
    line-height: 1.2;
}

.home51-case-card__list li {
    padding-left: 18px;

    color: #626b80;

    font-size: 14px;
    line-height: 1.5;
}

.home51-case-card__list li::before {
    top: 8px;

    width: 5px;
    height: 5px;
}


/* Сетка кейсов: карточки крупнее, как в макете */

.home51-cases__grid {
    grid-auto-columns: calc((100% - 30px) / 3);
}

@media (max-width: 950px) {

    .home51-cases__grid {
        grid-auto-columns: calc((100% - 15px) / 2);
    }
}

@media (max-width: 600px) {

    .home51-cases__grid {
        grid-auto-columns: 86%;
    }

    .home51-ba-frame {
        min-height: 220px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: выравнивание шапки и сетки блоков
   ========================================================== */

/* --- Единый контейнер 1220px, как в макете --- */

.home51-header-container {
    width: min(calc(100% - 40px), 1220px);
}

.home51-hero .home51-header-container,
.home51-promos .home51-header-container,
.home51-order-process .home51-header-container,
.home51-reviews .home51-header-container,
.home51-corporate .home51-header-container {
    width: min(calc(100% - 40px), 1220px);
}

.home51-faq .home51-container {
    max-width: 1220px;
    width: min(calc(100% - 40px), 1220px);
}

.home51-about-detail__wrapper {
    width: min(calc(100% - 40px), 1220px);
}

.home51-subscription__panel {
    width: min(100%, 1220px);
}

.home51-cta__inner,
.home51-cta-bottom {
    max-width: 1220px;
}

@media (min-width: 801px) {

    .home51-cta__inner {
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 40px;
    }

    .home51-cta__title {
        max-width: 640px;
    }

    .home51-cta__benefits {
        max-width: 640px;
    }
}

@media (min-width: 1200px) {

    .home51-hero .home51-header-container {
        width: min(calc(100% - 40px), 1220px);
        max-width: 1220px;
    }

    .home51-hero__grid {
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 48px;
    }

    .home51-hero__title,
    .home51-hero__text {
        max-width: 760px;
    }

    .home51-hero-offer {
        width: 380px;
        height: auto;
        min-height: 460px;
    }

    .home51-hero-offer__title {
        width: 330px;
    }

    .home51-hero-offer__items {
        top: 118px;

        grid-template-rows: repeat(4, minmax(70px, auto));
    }

    .home51-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));

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

        gap: 16px;
    }

    .home51-hero-stat {
        width: auto;
        height: auto;
        min-height: 140px;
    }
}

/* --- Единый вертикальный ритм секций: 100px --- */

.home51-calculator,
.home51-services,
.home51-prices,
.home51-scope,
.home51-excluded,
.home51-reasons,
.home51-equipment,
.home51-guarantees,
.home51-cases,
.home51-team,
.home51-process,
.home51-subscription,
.home51-promos,
.home51-order-process,
.home51-reviews,
.home51-corporate,
.home51-media,
.home51-faq,
.home51-cta {
    padding-top: 100px;
    padding-bottom: 100px;
}

.home51-company {
    padding-bottom: 100px;
}

@media (max-width: 900px) {

    .home51-calculator,
    .home51-services,
    .home51-prices,
    .home51-scope,
    .home51-excluded,
    .home51-reasons,
    .home51-equipment,
    .home51-guarantees,
    .home51-cases,
    .home51-team,
    .home51-process,
    .home51-subscription,
    .home51-promos,
    .home51-order-process,
    .home51-reviews,
    .home51-corporate,
    .home51-media,
    .home51-faq,
    .home51-cta {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .home51-company {
        padding-bottom: 72px;
    }
}

@media (max-width: 600px) {

    .home51-calculator,
    .home51-services,
    .home51-prices,
    .home51-scope,
    .home51-excluded,
    .home51-reasons,
    .home51-equipment,
    .home51-guarantees,
    .home51-cases,
    .home51-team,
    .home51-process,
    .home51-subscription,
    .home51-promos,
    .home51-order-process,
    .home51-reviews,
    .home51-corporate,
    .home51-media,
    .home51-faq,
    .home51-cta {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .home51-company {
        padding-bottom: 56px;
    }
}

/* --- Шапка: пропорции макета --- */

.home51-topbar {
    height: auto;

    font-size: 14px;
}

.home51-topbar__inner {
    height: auto;
    min-height: 44px;

    flex-wrap: wrap;

    padding: 4px 0;
}

.home51-topbar__contacts {
    gap: 8px 24px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 14px;
}

.home51-topbar__orders {
    font-size: 14px;
}

.home51-topbar__orders strong {
    font-size: 14px;
    letter-spacing: 0.02em;
}

.home51-topbar__orders span {
    color: rgba(255, 255, 255, 0.72);
}

.home51-header__main,
.home51-header__main-inner {
    height: auto;
}

.home51-header__main-inner {
    min-height: 78px;

    padding: 16px 0;

    gap: 16px;
}

.home51-header__brand-mark {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;

    border-radius: 12px;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 20px;
}

.home51-header__brand-text strong {
    font-family: Geologica, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.home51-header__brand-text small {
    font-size: 12px;
}

.home51-header__services-button,
.home51-header__city {
    height: 46px;

    padding: 0 18px;

    border-color: #e2e7f0;

    background: #f5f7fb;

    font-size: 14px;
}

.home51-header__city strong {
    font-size: 14px;
}

.home51-header__city > span:not(.home51-header__city-arrow) {
    font-size: 12px;
}

.home51-header__messengers a {
    width: 46px;
    height: 46px;

    border-color: #e2e7f0;

    font-size: 12px;
}

.home51-header__call,
.home51-header__calc {
    height: 46px;

    padding: 0 22px;

    font-size: 14px;
}

.home51-header__call {
    min-width: 0;
}

.home51-header__calc {
    min-width: 0;
}

.home51-header__cities {
    height: auto;

    background: #f5f7fb;

    border-bottom: 1px solid #e2e7f0;
}

.home51-header__cities-inner {
    height: auto;

    justify-content: flex-start;

    gap: 24px;

    padding: 12px 0;
}

.home51-header__cities-inner a {
    color: #626b80;

    font-size: 14px;
}

/* Мега-меню: привязка к низу шапки вместо фиксированных 68px */

.home51-mega-menu {
    top: 100%;
}

.home51-mega-menu__column a {
    font-size: 14px;
}

.home51-mega-menu__title {
    font-size: 12px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: калькулятор
   ========================================================== */

/* Сетка: форма + панель 380px, зазор 24 */

.home51-calculator__layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: 24px;
}

/* Карточка формы */

.home51-calculator__form {
    padding: clamp(20px, 2.4vw, 36px);

    border: 1px solid #e2e7f0;
    border-radius: 30px;

    background: #f5f7fb;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-calc-form {
    gap: 32px;
}

.home51-calc-label {
    margin-bottom: 12px;

    color: #626b80;

    font-size: 14px;
    font-weight: 600;
}

/* Все варианты выбора — единые пилюли 48px,
   выбранное — заливка фиолетовым */

.home51-calc-types,
.home51-calc-frequency,
.home51-calc-outside {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}

.home51-calc-type span,
.home51-calc-choice span,
.home51-calc-frequency__item span,
.home51-calc-outside__item span {
    min-height: 48px;
    padding: 10px 16px;

    border: 1px solid #e2e7f0;
    border-radius: 999px;

    background: #ffffff;
    color: #101426;

    box-shadow: inset 0 1px 0 #ffffff;

    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}

.home51-calc-choice span {
    min-width: 48px;
    height: auto;
}

.home51-calc-type span:hover,
.home51-calc-choice span:hover,
.home51-calc-frequency__item span:hover,
.home51-calc-outside__item span:hover {
    border-color: #c9d1e0;
}

.home51-calc-type:has(input:checked) span,
.home51-calc-choice:has(input:checked) span,
.home51-calc-frequency__item:has(input:checked) span,
.home51-calc-outside__item:has(input:checked) span {
    border-color: #5a3ef5;

    background: #5a3ef5;
    color: #ffffff;

    box-shadow: none;
}

/* Поля площади и телефона */

.home51-calc-area,
.home51-calc-phone__input {
    height: 50px;

    padding: 0 16px;

    border-color: #e2e7f0;
    border-radius: 12px;

    box-shadow: inset 0 1px 0 #ffffff;

    font-size: 14px;
}

.home51-calc-area:focus,
.home51-calc-phone__input:focus {
    border-color: #5a3ef5;

    box-shadow: 0 0 0 3px #ece8ff;
}

/* Допуслуги — карточки как в макете */

.home51-calc-extras {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 8px;
}

.home51-calc-extra {
    min-height: 0;

    padding: 12px 16px;

    border-color: #e2e7f0;
    border-radius: 12px;

    box-shadow: inset 0 1px 0 #ffffff;
}

.home51-calc-extra__info strong {
    font-size: 14px;
    line-height: 1.25;
    font-weight: 600;

    color: #101426;
}

.home51-calc-extra__info span {
    color: #626b80;

    font-size: 12px;
    font-weight: 400;
}

.home51-calc-extra__counter {
    grid-template-columns: 30px 34px 30px;

    height: 42px;

    border-color: #e2e7f0;
    border-radius: 12px;

    background: #f5f7fb;
}

.home51-calc-extra__counter-btn {
    width: 30px;
    height: 42px;

    font-size: 18px;
}

.home51-calc-extra__counter-value {
    height: 42px;

    font-size: 14px;
}

/* Модификаторы — пилюли с чекбоксом */

.home51-calc-modifiers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 8px;
}

.home51-calc-check {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;

    min-height: 48px;
    padding: 0 16px;

    border: 1px solid #e2e7f0;
    border-radius: 999px;

    background: #ffffff;
    color: #101426;

    box-shadow: inset 0 1px 0 #ffffff;

    font-size: 14px;
    font-weight: 600;
}

.home51-calc-check input {
    width: 16px;
    height: 16px;
}

/* Согласие */

.home51-calc-consent label {
    color: #626b80;

    font-size: 12px;
}

.home51-calc-consent input {
    width: 16px;
    height: 16px;
}

/* Панель результата */

.home51-calculator-result {
    top: 24px;

    display: grid;
    gap: 24px;

    padding: clamp(20px, 2vw, 30px);

    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(105, 78, 245, .25),
            transparent 45%
        ),
        #141a33;

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.07),
        0 28px 56px -18px rgba(16, 20, 38, 0.28);
}

.home51-calculator-result__label {
    margin-bottom: 0;

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;

    letter-spacing: 0;
    text-transform: none;
}

.home51-calculator-result__price {
    margin-bottom: 0;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1;
}

.home51-calculator-result__row {
    padding: 0 0 12px;

    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
    line-height: 1.35;
}

.home51-calculator-result__row:last-of-type {
    padding-bottom: 0;

    border-bottom: 0;
}

.home51-calculator-result__button {
    min-height: 54px;

    margin-top: 0;
    padding: 0 26px;

    border-radius: 999px;

    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 800px) {

    .home51-calculator__layout {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: засечка-полоска у кикеров всех секций
   ========================================================== */

.home51-section-kicker,
.home51-hero__eyebrow,
.home51-company-panel__kicker,
.home51-subscription__kicker,
.home51-excluded-cta__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.home51-section-kicker::before,
.home51-hero__eyebrow::before,
.home51-company-panel__kicker::before,
.home51-subscription__kicker::before,
.home51-excluded-cta__kicker::before {
    content: "";

    width: 22px;
    height: 2px;
    flex: 0 0 22px;

    border-radius: 2px;

    background: #5a3ef5;
}

/* На тёмной панели засечка белая, как текст кикера */

.home51-company-panel__kicker::before {
    background: currentColor;
}

/* У секций с готовой полоской в разметке — выравниваем её размер */

.home51-process__kicker-line,
.home51-promos__kicker-line,
.home51-order-process__kicker-line,
.home51-reviews__kicker-line,
.home51-corporate__kicker-line,
.home51-media__kicker-line,
.home51-about-detail__line,
.home51-cta__kicker-line,
.home51-faq .home51-label span {
    width: 22px;
    height: 2px;
    flex: 0 0 22px;

    border-radius: 2px;

    background: #5a3ef5;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Компания в цифрах» — на всю ширину контейнера
   ========================================================== */

.home51-company-panel {
    max-width: none;

    padding: clamp(28px, 4vw, 56px);
}

/* Полоска у кикера этой секции не нужна */

.home51-company-panel__kicker {
    display: block;
}

.home51-company-panel__kicker::before {
    content: none;
}

/* Кикер и заголовок как в макете */

.home51-company-panel__kicker {
    margin-bottom: 12px;

    color: rgba(255, 255, 255, 0.7);

    font-size: 12px;
}

.home51-company-panel__title {
    margin-bottom: 40px;
}

/* Карточки цифр */

.home51-company-stats {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 24px;
}

.home51-company-stat {
    min-height: 0;

    gap: 12px;

    padding: 24px;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px;

    background: rgba(255, 255, 255, 0.06);
}

.home51-company-stat__icon {
    margin-bottom: 8px;
}

.home51-company-stat__value {
    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(32px, 3vw, 42px);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1;
}

.home51-company-stat__text {
    margin-top: 0;

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
    line-height: 1.45;
}

/* Нижняя строка фактов */

.home51-company-facts {
    margin-top: 32px;

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: карточки услуг
   ========================================================== */

/* Сетка: 4 широкие карточки, зазор 24 */

.home51-services__grid {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;

    margin-top: 40px;
}

/* Карточка */

.home51-service-card {
    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

/* Изображение: пропорция 4:3 вместо фикса 150px */

.home51-service-card__image {
    height: auto;
    aspect-ratio: 4 / 3;

    background: #e4e9f2;
}

.home51-service-card__placeholder {
    color: #626b80;

    font-size: 14px;
    font-weight: 400;
}

/* Бейдж «Популярное» — мягкая фиолетовая пилюля */

.home51-service-card__badge {
    top: 12px;
    left: 12px;

    min-height: 0;
    padding: 6px 12px;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 12px;
    font-weight: 600;
}

/* Тело карточки */

.home51-service-card__body {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: 16px;

    padding: 24px;
}

.home51-service-card__title {
    min-height: 0;

    font-size: 22px;
    line-height: 1.2;
}

/* Строки Цена / Время / Клинеры */

.home51-service-card__price {
    margin-top: 0;
    padding-bottom: 8px;

    border-bottom: 1px dashed #e2e7f0;
}

.home51-service-card__price::before {
    color: #626b80;

    font-size: 14px;
}

.home51-service-card__price {
    color: #5a3ef5;

    font-size: 16px;
    font-weight: 700;
}

.home51-service-card__meta {
    gap: 8px;
}

.home51-service-card__meta div {
    padding: 0 0 8px;

    border-bottom: 1px dashed #e2e7f0;
}

.home51-service-card__meta div:last-child {
    padding-bottom: 0;
}

.home51-service-card__meta span {
    color: #626b80;

    font-size: 14px;
    font-weight: 400;
}

.home51-service-card__meta strong {
    color: #101426;

    font-size: 16px;
    font-weight: 700;
}

/* Кнопка «Подробнее» — крупная пилюля как в макете */

.home51-service-card__button {
    min-height: 54px;

    margin-top: 0;
    padding: 0 26px;

    border-color: #c9d1e0;
    border-radius: 999px;

    color: #101426;

    font-size: 16px;
    font-weight: 700;

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

.home51-service-card__button:hover {
    border-color: #101426;

    background: #ffffff;
    color: #101426;

    transform: translateY(-1px);
}

/* ==========================================================
   МАКЕТ-СЛОЙ: блок цен
   ========================================================== */

.home51-prices__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
}

.home51-prices__date {
    margin-top: 14px;

    color: #626b80;

    font-size: 14px;
}

/* Кнопки прайса — макетный button--primary: пилюля 54px */

.home51-prices__top-button,
.home51-prices__button {
    min-height: 54px;
    padding: 0 26px;

    border-radius: 999px;

    font-size: 16px;
    font-weight: 700;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);

    transition:
        background .2s ease,
        transform .2s ease;
}

.home51-prices__top-button:hover,
.home51-prices__button:hover {
    background: #4a2fdd;

    transform: translateY(-1px);
}

/* Табы — пилюли 44px */

.home51-prices__tabs {
    gap: 8px;

    margin-top: 32px;
}

.home51-prices__tabs span {
    min-height: 44px;
    padding: 0 18px;

    border-color: #e2e7f0;

    color: #101426;

    font-size: 14px;
    font-weight: 700;

    box-shadow: inset 0 1px 0 #ffffff;
}

.home51-prices__tabs span:hover {
    border-color: #5a3ef5;

    background: #5a3ef5;
    color: #ffffff;
}

/* Карточки групп */

.home51-prices__grid {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 24px;

    margin-top: 32px;
}

.home51-price-card {
    padding: clamp(20px, 2vw, 32px);

    border-color: #e2e7f0;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-price-card__title {
    margin-bottom: 16px;

    font-size: 24px;
}

/* Строки цен */

.home51-price-row {
    gap: 16px;

    padding: 14px 0;

    border-bottom: 1px dashed #e2e7f0;
}

.home51-price-row__title {
    color: #101426;

    font-size: 16px;
    line-height: 1.35;
}

.home51-price-row__value {
    font-size: 16px;
    font-weight: 700;
}

.home51-prices__bottom {
    margin-top: 32px;
}

@media (max-width: 700px) {

    .home51-prices__header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .home51-prices__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: цены — правая колонка «дата + кнопка»
   ========================================================== */

.home51-prices__header {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.home51-prices__actions {
    display: grid;
    gap: 12px;
    justify-items: start;
}

.home51-prices__actions .home51-prices__date {
    margin-top: 0;
}

@media (max-width: 700px) {

    .home51-prices__actions {
        margin-top: 8px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Что входит в уборку»
   ========================================================== */

/* Тарифные табы над картинкой */

.home51-scope-tariffs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 32px;
    padding: 6px;

    border-radius: 999px;

    background: #eceff5;
}

.home51-scope-tariff {
    min-height: 44px;
    padding: 0 18px;

    border: 0;
    border-radius: 999px;

    background: transparent;
    color: #626b80;

    font: inherit;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;

    cursor: pointer;

    transition: color .2s ease;
}

.home51-scope-tariff:hover {
    color: #101426;
}

.home51-scope-tariff.is-active {
    background: #ffffff;
    color: #101426;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

/* Картинка и карточка */

.home51-scope__visual {
    height: auto;
    min-height: 300px;
    aspect-ratio: 16 / 6;

    margin-top: 24px;

    border-radius: 30px;

    background: #e4e9f2;
}

.home51-scope__card {
    margin-top: 24px;
    padding: clamp(20px, 2.4vw, 36px);

    border-color: #e2e7f0;
    border-radius: 30px;

    background: #f5f7fb;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

/* Табы комнат — серая пилюля-контейнер, активная белая с тенью */

.home51-scope-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 24px;
    padding: 6px;

    border-bottom: 0;
    border-radius: 999px;

    background: #eceff5;
}

.home51-scope-tab {
    min-height: 44px;
    padding: 0 18px;

    border-radius: 999px;

    color: #626b80;

    font-size: 14px;
    font-weight: 700;
}

.home51-scope-tab:hover {
    color: #101426;
}

.home51-scope-tab.is-active {
    background: #ffffff;
    color: #101426;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

/* Заголовки колонок и подпись «Оплачивается отдельно» */

.home51-scope-panel {
    gap: 40px;
}

.home51-scope-panel__title {
    margin-bottom: 16px;

    font-size: 18px;
}

.home51-scope-panel__head {
    margin-bottom: 16px;
}

.home51-scope-panel__head .home51-scope-panel__title {
    margin-bottom: 4px;
}

.home51-scope-panel__note {
    display: block;

    color: #5a3ef5;

    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Пункты списков */

.home51-scope-item {
    min-height: 36px;

    font-size: 14px;
    line-height: 1.4;

    color: #101426;
}

.home51-scope-panel__list--included .home51-scope-item {
    gap: 10px;
}

.home51-scope-panel__list--extra .home51-scope-item {
    min-height: 44px;

    padding: 8px 12px;

    border-color: #e2e7f0;
    border-radius: 12px;

    box-shadow: inset 0 1px 0 #ffffff;
}

/* Цена допуслуги — мягкая фиолетовая пилюля */

.home51-scope-item__price {
    display: inline-flex;
    align-items: center;

    padding: 6px 12px;

    border-radius: 999px;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 12px;
    font-weight: 700;
}

/* Плашка ограничений */

.home51-scope-note {
    gap: 6px;

    margin-top: 24px;
    padding: 16px 20px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;
}

.home51-scope-note strong {
    font-size: 16px;
}

.home51-scope-note span {
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 600px) {

    .home51-scope-tariffs,
    .home51-scope-tabs {
        display: flex;

        border-radius: 20px;
    }

    .home51-scope__visual {
        aspect-ratio: auto;
        min-height: 220px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Что не входит в уборку»
   ========================================================== */

.home51-excluded__layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: 24px;

    margin-top: 40px;
}

/* Карточки пунктов — крупнее, как в макете */

.home51-excluded__items {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;

    align-content: start;
}

.home51-excluded-item {
    align-items: flex-start;
    gap: 16px;

    min-height: 0;
    padding: 24px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-excluded-item__icon {
    width: 42px;
    height: 42px;

    border-radius: 12px;

    background: #fdecea;
    color: #b3372c;

    font-size: 14px;
}

.home51-excluded-item__title {
    align-self: center;

    color: #101426;

    font-size: 16px;
    line-height: 1.35;
}

/* CTA-карточка справа */

.home51-excluded-cta {
    gap: 16px;

    padding: clamp(20px, 2vw, 32px);

    border-color: #e2e7f0;
    border-radius: 30px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-excluded-cta__kicker {
    margin-bottom: 0;

    font-size: 12px;
    letter-spacing: 0.12em;
}

.home51-excluded-cta__title {
    font-size: 26px;
    line-height: 1.15;
}

.home51-excluded-cta__text {
    margin-top: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

.home51-excluded-cta__button {
    align-self: stretch;

    min-height: 54px;
    margin-top: 8px;
    padding: 0 26px;

    border-radius: 999px;

    font-size: 16px;
    font-weight: 700;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-excluded-cta__button:hover {
    background: #4a2fdd;
}

/* Кикер «Нужна глубокая уборка?» — без засечки */

.home51-excluded-cta__kicker {
    display: block;
}

.home51-excluded-cta__kicker::before {
    content: none;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Почему выбирают нас»
   ========================================================== */

.home51-reasons__grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;

    margin-top: 40px;
}

.home51-reason-card {
    display: grid;
    align-content: start;
    gap: 12px;

    min-height: 0;
    padding: 24px;

    border-color: #e2e7f0;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-reason-card__number {
    margin-bottom: 4px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.home51-reason-card__title {
    font-size: 22px;
    line-height: 1.2;
}

.home51-reason-card__text {
    margin-top: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Теги под карточками — мягкие пилюли покрупнее */

.home51-reasons__tags {
    gap: 12px;

    margin-top: 32px;
}

.home51-reason-tag {
    min-height: 36px;
    padding: 6px 14px;

    font-size: 14px;
    font-weight: 600;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: шапки секций — без узкой колонки
   ========================================================== */

.home51-section-heading {
    max-width: none;
}

.home51-section-title {
    max-width: none;
}

.home51-section-text {
    max-width: 78ch;

    margin-top: 16px;

    color: #626b80;

    font-size: 18px;
    line-height: 1.55;
}

/* Той же ширины вводные у поздних секций */

.home51-process__intro,
.home51-promos__header,
.home51-order-process__header,
.home51-reviews__header,
.home51-corporate__header,
.home51-media__header {
    max-width: none;
}

.home51-process__text,
.home51-promos__text,
.home51-order-process__text,
.home51-reviews__text,
.home51-corporate__text,
.home51-media__text {
    max-width: 78ch;

    font-size: 18px;
    line-height: 1.55;
}

.home51-faq .home51-description {
    max-width: 78ch;

    font-size: 18px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Наше оборудование и химия»
   ========================================================== */

.home51-equipment__grid {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;

    margin-top: 40px;
}

.home51-equipment-card {
    border-color: #e2e7f0;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-equipment-card__image {
    height: auto;
    aspect-ratio: 4 / 3;

    background: #e4e9f2;
}

.home51-equipment-card__placeholder {
    color: #626b80;

    font-size: 14px;
}

.home51-equipment-card__body {
    display: grid;
    gap: 12px;

    padding: 24px;
}

.home51-equipment-card__label {
    margin-bottom: 0;

    font-size: 12px;
    letter-spacing: 0.12em;
}

.home51-equipment-card__title {
    font-size: 22px;
    line-height: 1.2;
}

.home51-equipment-card__text {
    margin-top: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Гарантии и ответственность»
   ========================================================== */

.home51-guarantees__grid {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;

    margin-top: 40px;
}

.home51-guarantee-card {
    display: grid;
    align-content: start;
    gap: 16px;

    min-height: 0;
    padding: 24px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-guarantee-card__icon {
    width: 42px;
    height: 42px;

    margin-bottom: 0;

    border-radius: 12px;

    font-size: 14px;
}

.home51-guarantee-card__title {
    font-size: 22px;
    line-height: 1.2;
}

.home51-guarantee-card__text {
    margin-top: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Документы — карточка с внутренним «сканом» */

.home51-guarantee-docs {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;

    margin-top: 24px;
}

.home51-guarantee-doc {
    display: grid;
    gap: 12px;

    padding: 12px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-guarantee-doc__image {
    height: auto;
    min-height: 190px;

    border-radius: 12px;

    background: #e4e9f2;
}

.home51-guarantee-doc__placeholder {
    color: #626b80;

    font-size: 14px;
}

.home51-guarantee-doc__title {
    padding: 0 8px 8px;

    color: #101426;

    font-size: 16px;
    line-height: 1.3;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Кто будет делать уборку»
   ========================================================== */

.home51-team__scroll {
    grid-auto-columns: 288px;
    gap: 24px;

    margin-top: 40px;
}

.home51-team-card {
    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home51-team-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.07),
        0 28px 56px -18px rgba(16, 20, 38, 0.28);
}

.home51-team-card__image {
    height: auto;
    aspect-ratio: 4 / 3;

    background: #e4e9f2;
}

.home51-team-card__placeholder {
    color: #626b80;

    font-size: 14px;
}

.home51-team-card__body {
    display: grid;
    gap: 16px;

    padding: 24px;
}

.home51-team-card__head {
    gap: 10px;
}

.home51-team-card__name {
    font-size: 24px;
}

.home51-team-card__badge {
    min-height: 0;
    padding: 6px 12px;

    font-size: 12px;
    font-weight: 600;
}

.home51-team-card__stats {
    gap: 8px;

    margin-top: 0;
}

.home51-team-card__stats div {
    gap: 2px;

    padding: 12px;

    border-radius: 12px;

    background: #f5f7fb;
}

.home51-team-card__stats span {
    color: #626b80;

    font-size: 12px;
}

.home51-team-card__stats strong {
    font-family: Geologica, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 600;
}

/* Нижние карточки фактов */

.home51-team__facts {
    gap: 24px;

    margin-top: 32px;
}

.home51-team-fact {
    padding: 24px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-team-fact__title {
    font-size: 20px;
    line-height: 1.25;
}

.home51-team-fact__text {
    margin-top: 10px;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Выгода регулярных уборок / подписка»
   ========================================================== */

/* В макете кикер этой панели без засечки */

.home51-subscription__kicker {
    display: block;
}

.home51-subscription__kicker::before {
    content: none;
}

.home51-subscription__kicker {
    font-size: 12px;
    letter-spacing: 0.12em;
}

/* Карточки преимуществ */

.home51-subscription__benefits {
    gap: 24px;

    margin-bottom: 24px;
}

.home51-subscription-benefit {
    min-height: 0;
    padding: 24px;

    border-color: #e2e7f0;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-subscription-benefit__number {
    margin-bottom: 16px;
}

.home51-subscription-benefit__title {
    margin-bottom: 10px;

    font-size: 20px;
    line-height: 1.25;
}

.home51-subscription-benefit__text {
    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Кнопка и примечание */

.home51-subscription__button {
    min-height: 54px;
    padding: 0 26px;

    font-size: 16px;
}

.home51-subscription__note {
    margin-top: 16px;

    font-size: 14px;
}

/* Правая колонка */

.home51-subscription-price__label {
    font-size: 14px;
}

.home51-subscription-price__value {
    font-family: Geologica, system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.home51-subscription__steps {
    gap: 12px;
}

.home51-subscription-step {
    gap: 6px;

    font-size: 16px;
    line-height: 1.5;
}

/* Подписка: геометрия панели как в макете */

.home51-subscription__panel {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 48px;

    padding: clamp(24px, 3vw, 48px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-subscription__benefits {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.home51-subscription-benefit__number {
    width: 42px;
    height: 42px;

    border-radius: 12px;

    font-size: 14px;
}

.home51-subscription__image {
    height: auto;
    aspect-ratio: 16 / 9;
}

@media (max-width: 900px) {

    .home51-subscription__panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: «Благодарственные письма и корпоративные клиенты»
   ========================================================== */

.home51-corporate__letters {
    gap: 24px;

    margin-top: 40px;
    margin-bottom: 32px;
}

.home51-corporate-letter {
    width: 288px;
    min-width: 288px;
    min-height: 0;

    gap: 12px;

    padding: 16px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-corporate-letter__image {
    height: auto;
    min-height: 250px;

    margin-bottom: 0;

    border-radius: 12px;

    background: #e4e9f2;
}

.home51-corporate-letter__placeholder {
    color: #626b80;

    font-size: 14px;
}

.home51-corporate-letter__title {
    margin-bottom: 0;

    font-size: 20px;
    line-height: 1.25;
}

.home51-corporate-letter__text {
    min-height: 0;

    margin-bottom: 4px;

    color: #626b80;

    font-size: 16px;
    line-height: 1.5;
}

.home51-corporate-letter__button {
    height: 46px;
    padding: 0 22px;

    border-color: #c9d1e0;
    border-radius: 999px;

    font-size: 14px;
    font-weight: 700;

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

.home51-corporate-letter__button:hover {
    border-color: #101426;
}

/* Логотипы клиентов */

.home51-corporate__logos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;

    overflow: visible;
}

.home51-corporate-logo {
    width: auto;
    min-width: 0;
    min-height: 72px;
    height: auto;

    padding: 12px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-corporate-logo__text {
    color: #626b80;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.home51-corporate-logo__text small {
    font-size: 12px;
    font-weight: 400;
}

@media (max-width: 600px) {

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

/* ==========================================================
   МАКЕТ-СЛОЙ: «СМИ о нас»
   ========================================================== */

.home51-media__list {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 24px;
}

.home51-media__list {
    margin-top: 40px;
}

.home51-media-card {
    display: grid;
    align-content: start;
    gap: 12px;

    min-height: 0;
    padding: 24px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home51-media-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.07),
        0 28px 56px -18px rgba(16, 20, 38, 0.28);
}

.home51-media-card__logo {
    height: auto;
    min-height: 56px;

    margin-bottom: 4px;

    border-radius: 12px;

    background: #e4e9f2;
}

.home51-media-card__logo-placeholder {
    font-size: 16px;
    font-weight: 800;
}

.home51-media-card__date {
    margin-bottom: 0;

    color: #626b80;

    font-size: 14px;
}

.home51-media-card__title {
    font-size: 20px;
    line-height: 1.3;
}

.home51-media-card__description {
    margin-top: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.5;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: FAQ
   ========================================================== */

.home51-faq-list {
    gap: 16px;

    margin-top: 40px;
}

.home51-faq-item {
    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-faq-question {
    padding: 20px 24px;
}

.home51-faq-number {
    width: 34px;
    height: 34px;

    margin-right: 16px;

    border-radius: 10px;

    font-size: 12px;
}

.home51-faq-text {
    font-size: 18px;
    font-weight: 700;
}

/* Иконка: + в покое, − в раскрытом, без поворота в крестик */

.home51-faq-icon {
    position: relative;

    width: 20px;

    color: #5a3ef5;

    font-size: 0;

    transition: none;
}

.home51-faq-icon::before {
    content: "+";

    font-size: 22px;
    line-height: 1;
}

.home51-faq-item.active .home51-faq-icon {
    transform: none;
}

.home51-faq-item.active .home51-faq-icon::before {
    content: "−";
}

/* Ответ: выравнивание по тексту вопроса */

.home51-faq-answer {
    padding: 0 56px 20px 74px;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Нижняя тёмная плашка */

.home51-faq-bottom {
    margin-top: 32px;
    padding: 28px 32px;

    border-radius: 20px;
}

.home51-faq-bottom__title {
    font-size: 24px;
}

.home51-faq-bottom p {
    font-size: 16px;
    line-height: 1.5;
}

.home51-faq-buttons .home51-btn {
    height: 46px;
    padding: 0 22px;

    font-size: 14px;
}

@media (max-width: 600px) {

    .home51-faq-question {
        padding: 16px;
    }

    .home51-faq-answer {
        padding: 0 16px 16px 16px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: форматирование раскрытого ответа FAQ
   ========================================================== */

.home51-faq-answer p {
    margin: 0 0 12px;
}

.home51-faq-answer p:last-child {
    margin-bottom: 0;
}

.home51-faq-answer ul {
    display: grid;
    gap: 8px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.home51-faq-answer li {
    position: relative;

    padding-left: 18px;
}

.home51-faq-answer li::before {
    content: "";

    position: absolute;
    top: 10px;
    left: 2px;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #5a3ef5;
}

.home51-faq-answer a {
    color: #5a3ef5;

    text-decoration: underline;
    text-underline-offset: 3px;
}

.home51-faq-answer a:hover {
    color: #4a2fdd;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: финальный CTA
   ========================================================== */

/* Карточки 01-03: номер — просто фиолетовый текст, без плашки */

.home51-cta-benefit {
    padding: 24px;

    border-color: #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-cta-benefit__icon {
    display: block;

    width: auto;
    height: auto;

    margin-bottom: 12px;

    border-radius: 0;

    background: transparent;
    color: #5a3ef5;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.home51-cta-benefit__title {
    margin-bottom: 8px;

    font-size: 20px;
    line-height: 1.25;
    font-weight: 700;
}

.home51-cta-benefit__text {
    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Карточка менеджера */

.home51-cta__manager {
    border-color: #e2e7f0;
    border-radius: 20px;
}

.home51-cta__manager-photo {
    background: #e4e9f2;
}

.home51-cta__manager-photo--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #626b80;

    font-size: 12px;
}

.home51-cta__manager-name {
    font-size: 20px;
}

.home51-cta__manager-position {
    font-size: 14px;
}

/* Форма */

.home51-cta__form {
    border: 1px solid #e2e7f0;
    border-radius: 20px;
}

.home51-form__field label {
    font-size: 14px;
}

.home51-form__field input {
    height: 46px;

    border-radius: 12px;

    font-size: 14px;
}

.home51-form__agreement {
    font-size: 12px;
    line-height: 1.45;
}

.home51-form__submit {
    height: 50px;

    border-radius: 999px;

    font-size: 14px;
}

.home51-form__messengers {
    gap: 10px;
}

.home51-form__messenger {
    min-height: 46px;

    border-color: #c9d1e0;
    border-radius: 999px;

    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.14);
}

/* Нижние карточки: подписка и соцсети */

.home51-cta-subscribe-card,
.home51-cta-social-card {
    min-height: 0;
    padding: 28px;

    border-color: #e2e7f0;
    border-radius: 20px;
}

.home51-cta-bottom__title {
    font-size: 20px;
}

.home51-cta-bottom__text {
    margin-bottom: 20px;

    font-size: 14px;
    line-height: 1.55;
}

.home51-cta-subscribe-field label {
    font-size: 14px;
}

.home51-cta-subscribe-row {
    grid-template-columns: minmax(0, 1fr) 140px;
}

.home51-cta-subscribe-row input {
    height: 46px;

    border-radius: 12px;

    font-size: 14px;
}

.home51-cta-subscribe-row button {
    height: 46px;

    border-color: #c9d1e0;
    border-radius: 999px;

    font-size: 14px;
    font-weight: 700;
}

.home51-cta-social-list {
    gap: 10px;
}

.home51-cta-social-link {
    min-height: 42px;
    padding: 0 16px;

    border-color: #c9d1e0;
    border-radius: 999px;

    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.14);
}

/* ==========================================================
   МАКЕТ-СЛОЙ: футер главной (только шаблон 51)
   ========================================================== */

.home51-footer {
    background: #141a33;
    color: #ffffff;

    font-family: "Golos Text", system-ui, sans-serif;
}

.home51-footer__inner {
    display: grid;
    gap: 48px;

    padding: 100px 0 32px;
}

.home51-footer__top {
    display: grid;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
    gap: 48px;
}

/* Бренд-колонка */

.home51-footer__brand {
    display: grid;
    align-content: start;
    gap: 16px;
}

.home51-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: #ffffff;
    text-decoration: none;
}

.home51-footer__logo img {
    display: block;

    width: 34px;
    height: 34px;
}

.home51-footer__logo-text {
    display: grid;
    gap: 2px;
}

.home51-footer__logo-text strong {
    font-family: Geologica, system-ui, sans-serif;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 600;
}

.home51-footer__logo-text small,
.home51-footer__brand p {
    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
    line-height: 1.55;
}

.home51-footer__minimum {
    display: grid;
    gap: 4px;

    padding: 24px;

    border-radius: 20px;

    background: rgba(255, 255, 255, 0.06);
}

.home51-footer__minimum span {
    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
}

.home51-footer__minimum strong {
    font-family: Geologica, system-ui, sans-serif;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

/* Карта услуг */

.home51-footer__map {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 24px;
}

.home51-footer__column {
    display: grid;
    align-content: start;
    gap: 8px;
}

.home51-footer__title {
    margin: 0 0 6px;

    color: #ffffff;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.home51-footer__column a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;

    font-size: 14px;
    line-height: 1.5;
}

.home51-footer__column a:hover {
    color: #ffffff;
}

/* Инфо-карточки */

.home51-footer__info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.home51-footer__card {
    display: grid;
    align-content: start;
    gap: 8px;

    padding: 24px;

    border-radius: 20px;

    background: rgba(255, 255, 255, 0.05);
}

.home51-footer__card p,
.home51-footer__card a {
    margin: 0;

    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;

    font-size: 14px;
    line-height: 1.5;
}

.home51-footer__card a:hover {
    color: #ffffff;
}

.home51-footer__payments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 8px;
}

.home51-footer__payments span {
    display: inline-flex;
    align-items: center;

    padding: 6px 12px;

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;

    font-size: 12px;
    font-weight: 800;
}

/* Нижняя строка */

.home51-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding-top: 24px;

    border-top: 1px solid rgba(255, 255, 255, 0.14);

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
}

/* Responsive */

@media (max-width: 900px) {

    .home51-footer__inner {
        padding-top: 64px;

        gap: 32px;
    }

    .home51-footer__top {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 600px) {

    .home51-footer__inner {
        padding-top: 48px;
    }

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

    .home51-footer__bottom {
        display: grid;
    }
}

/* Футер: блок «Города присутствия» */

.home51-footer__cities {
    display: grid;
    gap: 12px;

    padding-top: 24px;

    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.home51-footer__cities-title {
    margin: 0;

    color: #ffffff;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.home51-footer__cities p {
    margin: 0;

    color: rgba(255, 255, 255, 0.7);

    font-size: 14px;
    line-height: 1.6;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: полоса преимуществ под калькулятором
   ========================================================== */

.home51-company-benefits {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;

    margin-bottom: 0;
    padding: 48px 0;

    border-top: 1px solid #e2e7f0;
}

.home51-company-benefit {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 12px;

    color: #101426;

    font-size: 16px;
    line-height: 1.35;
}

.home51-company-benefit__icon {
    width: 42px;
    height: 42px;

    border-radius: 12px;

    font-size: 14px;
}

.home51-company-benefit strong {
    font-weight: 700;
}

@media (max-width: 850px) {

    .home51-company-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        padding: 32px 0;
    }
}

@media (max-width: 600px) {

    .home51-company-benefits {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Карточки услуг: кнопка прижата к нижней грани карточки */

.home51-service-card {
    display: flex;
    flex-direction: column;
}

.home51-service-card__image {
    flex: 0 0 auto;
}

.home51-service-card__body {
    flex: 1 1 auto;
}

.home51-service-card__meta {
    align-content: start;
}

/* Карточки услуг: показатели и кнопка прижаты к низу,
   свободное место — между заголовком и показателями */

.home51-service-card__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.home51-service-card__title {
    margin-bottom: auto;
}

/* Табы цен — якорные ссылки на карточки категорий */

.home51-prices__tabs a {
    display: inline-flex;
    align-items: center;

    min-height: 44px;
    padding: 0 18px;

    border: 1px solid #e2e7f0;
    border-radius: 999px;

    background: #fff;
    color: #101426;

    text-decoration: none;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    box-shadow: none;

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

.home51-prices__tabs a:hover {
    border-color: #5a3ef5;

    background: #5a3ef5;
    color: #ffffff;
}

.home51-price-card {
    scroll-margin-top: 96px;
}

html {
    scroll-behavior: smooth;
}

/* Цены: кнопка внизу, дата под ней по центру кнопки */

.home51-prices__header {
    grid-template-columns: 1fr;
}

.home51-prices__bottom {
    display: inline-grid;
    justify-items: center;
    gap: 12px;

    margin-top: 32px;
}

.home51-prices__bottom .home51-prices__date {
    margin-top: 0;

    text-align: center;
}

/* Цены: одна кнопка снизу, дата под ней по центру кнопки */

.home51-prices__header {
    display: block;
}

.home51-prices__bottom {
    display: inline-grid;
    justify-items: center;
    gap: 12px;

    margin-top: 32px;
}

.home51-prices__bottom .home51-prices__date {
    margin-top: 0;

    text-align: center;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: ховер-подъём карточек
   Оставлен только в: услуги, оборудование, кейсы,
   клинеры (команда), СМИ
   ========================================================== */

.home51-equipment-card,
.home51-case-card {
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home51-equipment-card:hover,
.home51-case-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.07),
        0 28px 56px -18px rgba(16, 20, 38, 0.28);
}

/* Явная отмена подъёма для карточек, где он прописан
   в ранних слоях файла */

.home51-guarantee-card:hover,
.home51-guarantee-doc:hover,
.home51-price-card:hover,
.home51-reason-card:hover,
.home51-promo-card:hover,
.home51-order-step:hover,
.home51-review-card:hover,
.home51-review-rating:hover,
.home51-corporate-letter:hover,
.home51-subscription-benefit:hover,
.home51-team-fact:hover,
.home51-cta-benefit:hover,
.home51-excluded-item:hover,
.home51-cta-subscribe-card:hover,
.home51-cta-social-card:hover {
    transform: none;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

/* ==========================================================
   МАКЕТ-СЛОЙ: объёмные фиолетовые кнопки
   Градиент + внутренняя подсветка + цветная тень,
   подъём на наведении и вдавливание на нажатии
   ========================================================== */

.home51-hero .home51-btn--primary,
.home51-header__calc,
.home51-calculator-result__button,
.home51-prices__top-button,
.home51-prices__button,
.home51-excluded-cta__button,
.home51-subscription__button,
.home51-order-process__button,
.home51-form__submit,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline) {
    border: 1px solid #4a2fdd;

    background-image:
        linear-gradient(
            180deg,
            #6f55f7 0%,
            #5a3ef5 52%,
            #4b30e2 100%
        );
    background-color: #5a3ef5;

    color: #ffffff;

    text-shadow: 0 1px 1px rgba(16, 20, 38, 0.22);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        inset 0 -1px 0 rgba(16, 20, 38, 0.18),
        0 1px 2px rgba(16, 20, 38, 0.10),
        0 10px 22px -8px rgba(90, 62, 245, 0.55);

    transition:
        background-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.home51-hero .home51-btn--primary:hover,
.home51-header__calc:hover,
.home51-calculator-result__button:hover,
.home51-prices__top-button:hover,
.home51-prices__button:hover,
.home51-excluded-cta__button:hover,
.home51-subscription__button:hover,
.home51-order-process__button:hover,
.home51-form__submit:hover,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline):hover {
    border-color: #4526d4;

    background-image:
        linear-gradient(
            180deg,
            #7a62f8 0%,
            #6144f6 52%,
            #4526d4 100%
        );
    background-color: #5636e7;

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.40),
        inset 0 -1px 0 rgba(16, 20, 38, 0.20),
        0 2px 4px rgba(16, 20, 38, 0.12),
        0 16px 30px -10px rgba(90, 62, 245, 0.62);
}

.home51-hero .home51-btn--primary:active,
.home51-header__calc:active,
.home51-calculator-result__button:active,
.home51-prices__top-button:active,
.home51-prices__button:active,
.home51-excluded-cta__button:active,
.home51-subscription__button:active,
.home51-order-process__button:active,
.home51-form__submit:active,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline):active {
    transform: translateY(1px);

    background-image:
        linear-gradient(
            180deg,
            #5334ec 0%,
            #4a2fdd 100%
        );

    box-shadow:
        inset 0 2px 4px rgba(16, 20, 38, 0.28),
        0 1px 2px rgba(16, 20, 38, 0.10);
}

.home51-hero .home51-btn--primary:focus-visible,
.home51-header__calc:focus-visible,
.home51-calculator-result__button:focus-visible,
.home51-prices__top-button:focus-visible,
.home51-prices__button:focus-visible,
.home51-excluded-cta__button:focus-visible,
.home51-subscription__button:focus-visible,
.home51-order-process__button:focus-visible,
.home51-form__submit:focus-visible,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline):focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: объёмная светлая кнопка шапки «Заказать звонок»
   Тот же рельеф, но в белой гамме - парная к фиолетовой
   ========================================================== */

.home51-header__call {
    border: 1px solid #cfd6e4;

    background-image:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );
    background-color: #ffffff;

    color: #101426;

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.07),
        0 1px 2px rgba(16, 20, 38, 0.07),
        0 10px 22px -10px rgba(16, 20, 38, 0.30);

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

.home51-header__call:hover {
    border-color: #b9c2d6;

    background-image:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fafbfe 55%,
            #f1f3f9 100%
        );

    color: #101426;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.08),
        0 2px 4px rgba(16, 20, 38, 0.09),
        0 16px 30px -12px rgba(16, 20, 38, 0.36);
}

.home51-header__call:active {
    transform: translateY(1px);

    background-image:
        linear-gradient(
            180deg,
            #eef1f7 0%,
            #e6eaf3 100%
        );

    box-shadow:
        inset 0 2px 4px rgba(16, 20, 38, 0.14),
        0 1px 2px rgba(16, 20, 38, 0.07);
}

.home51-header__call:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

/* ==========================================================
   МАКЕТ-СЛОЙ: кнопки hero - размер по макету
   Отменяет уменьшение из раннего слоя min-width: 1200px
   ========================================================== */

@media (min-width: 1200px) {

    .home51-hero__actions {
        gap: 10px;

        margin-top: 48px;
    }

    .home51-hero .home51-btn--primary {
        width: auto;
        min-width: 233px;

        height: 58px;
        min-height: 58px;

        padding: 0 30px;

        border-radius: 999px;

        font-size: 16px;
        font-weight: 700;
    }

    .home51-hero .home51-btn--messenger {
        height: 54px;
        min-height: 54px;

        padding: 0 24px;

        border-radius: 999px;

        font-size: 16px;
        font-weight: 600;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: просмотр сканов документов (лайтбокс)
   ========================================================== */

.home51-guarantee-doc {
    cursor: zoom-in;
}

.home51-lightbox {
    position: fixed;
    z-index: 1000;
    inset: 0;

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

    padding: 40px 20px;

    background: rgba(16, 20, 38, 0.72);

    opacity: 0;

    transition: opacity .2s ease;
}

.home51-lightbox.is-open {
    display: flex;
}

.home51-lightbox.is-visible {
    opacity: 1;
}

.home51-lightbox__figure {
    position: relative;

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

    width: min(100%, 760px);
    max-height: 100%;

    margin: 0;

    overflow: hidden;

    border-radius: 20px;

    background: #e4e9f2;

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.20),
        0 40px 80px -24px rgba(16, 20, 38, 0.55);

    transform: scale(.97);

    transition: transform .2s ease;
}

.home51-lightbox.is-visible .home51-lightbox__figure {
    transform: scale(1);
}

.home51-lightbox__figure img {
    display: block;

    width: 100%;
    max-height: 84vh;

    object-fit: contain;
}

.home51-lightbox__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: min(560px, 70vh);

    padding: 40px;

    color: #626b80;

    font-size: 16px;
    text-align: center;
}

.home51-lightbox__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    padding: 20px 24px;

    background:
        linear-gradient(
            180deg,
            rgba(16, 20, 38, 0) 0%,
            rgba(16, 20, 38, 0.68) 100%
        );

    color: #ffffff;

    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;
}

.home51-lightbox__close {
    position: absolute;
    z-index: 2;
    top: 24px;
    right: 24px;

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

    min-height: 46px;
    padding: 0 22px;

    border: 1px solid #cfd6e4;
    border-radius: 999px;

    background-image:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );
    background-color: #ffffff;
    color: #101426;

    font: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.07),
        0 10px 22px -10px rgba(16, 20, 38, 0.50);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home51-lightbox__close:hover {
    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 16px 30px -12px rgba(16, 20, 38, 0.55);
}

.home51-lightbox__close:active {
    transform: translateY(1px);
}

.home51-lightbox__close:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

.home51-lightbox-lock {
    overflow: hidden;
}

@media (max-width: 600px) {

    .home51-lightbox {
        padding: 20px 12px;
    }

    .home51-lightbox__close {
        top: 12px;
        right: 12px;

        min-height: 40px;
        padding: 0 16px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: кнопка «Все наши работы» под кейсами
   Размер как у крупных кнопок макета, светлый рельеф
   ========================================================== */

.home51-cases__bottom {
    margin-top: 32px;
}

.home51-cases__button {
    min-height: 54px;
    padding: 0 30px;

    border: 1px solid #cfd6e4;
    border-radius: 999px;

    background-image:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );
    background-color: #ffffff;
    color: #101426;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.07),
        0 1px 2px rgba(16, 20, 38, 0.07),
        0 10px 22px -10px rgba(16, 20, 38, 0.30);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.home51-cases__button:hover {
    border-color: #b9c2d6;

    color: #101426;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.08),
        0 2px 4px rgba(16, 20, 38, 0.09),
        0 16px 30px -12px rgba(16, 20, 38, 0.36);
}

.home51-cases__button:active {
    transform: translateY(1px);

    background-image:
        linear-gradient(
            180deg,
            #eef1f7 0%,
            #e6eaf3 100%
        );

    box-shadow:
        inset 0 2px 4px rgba(16, 20, 38, 0.14),
        0 1px 2px rgba(16, 20, 38, 0.07);
}

.home51-cases__button:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

@media (max-width: 600px) {

    .home51-cases__button {
        width: 100%;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: кнопка «Все наши работы» под блоком кейсов
   Крупная светлая пилюля с объёмом и обводкой на наведении
   ========================================================== */

.home51-cases__bottom {
    margin-top: 40px;
}

.home51-cases__button {
    min-height: 58px;
    padding: 0 34px;

    border: 1px solid #cfd6e4;
    border-radius: 999px;

    background-image:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );
    background-color: #ffffff;

    color: #101426;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.07),
        0 1px 2px rgba(16, 20, 38, 0.07),
        0 12px 26px -10px rgba(16, 20, 38, 0.32);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        color .2s ease,
        transform .2s ease;
}

.home51-cases__button:hover {
    border-color: #5a3ef5;

    color: #5a3ef5;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        inset 0 -1px 0 rgba(16, 20, 38, 0.08),
        0 0 0 3px #ece8ff,
        0 18px 34px -12px rgba(90, 62, 245, 0.42);
}

.home51-cases__button:active {
    transform: translateY(1px);

    background-image:
        linear-gradient(
            180deg,
            #eef1f7 0%,
            #e6eaf3 100%
        );

    box-shadow:
        inset 0 2px 4px rgba(16, 20, 38, 0.14),
        0 0 0 3px #ece8ff;
}

.home51-cases__button:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

@media (max-width: 600px) {

    .home51-cases__button {
        width: 100%;

        min-height: 54px;
        padding: 0 24px;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: блок подписки - текст на всю ширину колонки
   Снимаем узкие max-width у заголовка и описания
   ========================================================== */

.home51-subscription__title,
.home51-subscription__text {
    max-width: none;
}

.home51-subscription__text {
    padding-right: 24px;
}

@media (max-width: 900px) {

    .home51-subscription__text {
        padding-right: 0;
    }
}

/* ==========================================================
   МАКЕТ-СЛОЙ: карточки акций
   Карточки тянутся на общую высоту дорожки,
   кнопка всегда прижата к нижней грани карточки
   ========================================================== */

.home51-promos .home51-header-container {
    width: min(calc(100% - 40px), 1220px);
}

.home51-promos__header {
    margin-bottom: 40px;
}

.home51-promos__track {
    align-items: stretch;

    gap: 24px;
}

.home51-promo-card {
    width: 288px;
    min-width: 288px;

    /* высоту задаёт самая длинная карточка дорожки */
    height: auto;

    padding: 28px;

    border-color: #e2e7f0;
    border-radius: 20px;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.home51-promo-card__badge {
    min-height: 0;
    margin-bottom: 20px;
    padding: 6px 12px;

    font-size: 12px;
    font-weight: 700;
}

.home51-promo-card__badge--purple {
    background: #5a3ef5;
}

.home51-promo-card__badge--green {
    background: #dff6eb;
    color: #14805a;
}

.home51-promo-card__title {
    margin-bottom: 16px;

    font-size: 22px;
    line-height: 1.2;
}

.home51-promo-card__text {
    margin-bottom: 12px;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

/* Примечание прижимает кнопку вниз: свободное место копится здесь */

.home51-promo-card__note {
    margin-bottom: 24px;

    color: #626b80;

    font-size: 14px;
    line-height: 1.5;
}

.home51-promo-card__text:last-of-type,
.home51-promo-card__note {
    margin-bottom: auto;
}

/* Кнопка: одинаковый отступ от низа во всех карточках */

.home51-promo-card__button {
    align-self: stretch;

    min-height: 54px;
    margin-top: 24px;
    padding: 0 26px;

    border-color: #c9d1e0;
    border-radius: 999px;

    font-size: 16px;
    font-weight: 700;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 22px -10px rgba(16, 20, 38, 0.30);

    transition:
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.home51-promo-card__button:hover {
    border-color: #5a3ef5;

    color: #5a3ef5;

    transform: translateY(-2px);

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 0 0 3px #ece8ff,
        0 16px 30px -12px rgba(90, 62, 245, 0.40);
}

.home51-promo-card__button:active {
    transform: translateY(1px);
}

/* Нижняя строка: примечание и ссылка в одну линию, как в макете */

.home51-promos__bottom {
    align-items: center;

    margin-top: 32px;
    gap: 32px;
}

.home51-promos__note {
    max-width: none;

    color: #626b80;

    font-size: 14px;
    line-height: 1.55;
}

.home51-promos__all {
    font-size: 16px;
}

@media (max-width: 600px) {

    .home51-promo-card {
        width: 268px;
        min-width: 268px;

        height: auto;

        padding: 24px;
    }

    .home51-promos__bottom {
        align-items: flex-start;
    }
}

/* Письма: скан и кнопка открывают лайтбокс */

.home51-corporate-letter__image,
.home51-corporate-letter__button {
    cursor: zoom-in;
}

@media (prefers-reduced-motion: reduce) {

    .home51.home51.home51 *,
    .home51.home51.home51 *::before,
    .home51.home51.home51 *::after {
        transition: none;
    }
}
/* ==========================================================
   МАКЕТ-СЛОЙ: единый фон страницы
   Секции без собственного фона показывали фон
   из общих стилей сайта - закрываем «бумагой»
   ========================================================== */

.home51 {
    background: #eceff5;
}

.home51-about-detail,
.home51-media {
    background: #eceff5;
}

/* Финальный CTA: убираем цветные градиенты полностью */

.home51-cta {
    background: #eceff5;
}
.home51-company:not(:has(.home51-company-panel)) {
    padding-top: 0;
    padding-bottom: 48px;
}
/* Гарантии: иконка, заголовок и текст на одной линии во всех карточках */

.home51-guarantees__grid {
    grid-template-rows: auto;
}

.home51-guarantee-card {
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 16px;
}
/* Полоса перед футером: контейнер страницы не должен
   показывать фон из общих стилей */

.page {
    background: #eceff5;
}
/* Карточки документов: подписи на одном уровне */

.home51-guarantee-docs {
    grid-template-rows: auto;
}

.home51-guarantee-doc {
    grid-row: span 2;
    grid-template-rows: subgrid;
}
/* Кейсы: заголовок, показатели и список на одном уровне */

.home51-cases__grid {
    grid-template-rows: auto;
}

.home51-case-card {
    grid-row: span 2;
    grid-template-rows: subgrid;
}

.home51-case-card__body {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 13px;
}
.home51-team-card__head {
    display: grid;
    justify-items: start;
    gap: 8px;
}
/* Акции: одинаковая высота заголовка, чтобы текст начинался на одном уровне */

.home51-promo-card__title {
    min-height: 2.4em;
}
/* ==========================================================
   МОБИЛЬНЫЙ СЛОЙ — 29
   Append-only. Добавляется В КОНЕЦ home-redesign.css.
   Ничего выше не переписывает: работает только за счёт
   порядка каскада и медиазапросов.

   Брейкпоинты слоя:
     <= 1199  промежуточный (планшет-ноутбук)
     <= 900   планшет
     <= 760   мобильный
     <= 480   узкий мобильный

   Действует и на шаблон 51, и на шаблон 53:
   классы home51-* общие.
   ========================================================== */


/* ==========================================================
   29.1  ГЛОБАЛЬНОЕ: снятие горизонтального переполнения
   ========================================================== */

.home51 {
    overflow-x: clip;
}

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

.home51-team-card__image img {
    object-position: center top;
}

/* Длинные слова и телефоны не должны распирать контейнер */

.home51-hero__title,
.home51-section-title,
.home51-faq-text,
.home51-price-row__title,
.home51-topbar__contacts,
.home51-cta__manager-phone,
.home51-footer__card a {
    overflow-wrap: anywhere;
}


/* ==========================================================
   29.2  HERO — промежуточный диапазон 981-1199px
   Причина правки: базовая сетка задана фиксированно
   789px + 49px + 381px = 1219px, а контейнер там ~1014px.
   Медиазапрос 980px уже не действует, слой 1200px ещё нет.
   ========================================================== */

@media (max-width: 1199px) {

    .home51-hero .home51-header-container {
        width: min(calc(100% - 40px), 1220px);
    }

    .home51-hero__grid {
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 32px;
    }

    .home51-hero__title,
    .home51-hero__text {
        max-width: none;
    }

    .home51-hero-offer {
        width: 340px;
    }

    .home51-hero-offer__title {
        width: calc(100% - 40px);
    }

    .home51-hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .home51-hero-stat {
        width: auto;
        height: auto;
        min-height: 140px;
    }
}


/* ==========================================================
   29.3  HERO — карточка подарка на планшете и мобильном
   Причина правки: у карточки height: auto, но её внутренние
   элементы position: absolute. Карточка схлопывается в ноль.
   Переводим содержимое в обычный поток.
   ========================================================== */

@media (max-width: 980px) {

    .home51-hero__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home51-hero-offer {
        position: relative;

        width: 100%;
        max-width: 520px;
        height: auto;
        min-height: 0;

        display: grid;
        gap: 12px;

        padding: 24px 20px;
    }

    .home51-hero-offer__label,
    .home51-hero-offer__title,
    .home51-hero-offer__items {
        position: static;

        top: auto;
        right: auto;
        bottom: auto;
        left: auto;

        width: auto;
    }

    .home51-hero-offer__items {
        grid-template-rows: none;
        grid-auto-rows: minmax(64px, auto);
        gap: 8px;
    }

    .home51-hero-offer__title {
        margin: 0;
    }
}


/* ==========================================================
   29.4  ШАПКА — единый брейкпоинт вместо 760/800/900/1050
   Причина правки: в зазоре 761-800px кнопки уже скрыты,
   а бургер ещё не показан. Приводим всё к одной границе 900px.
   ========================================================== */

@media (max-width: 900px) {

    /* Прячем то, что уходит в бургер */

    .home51-header__services-button,
    .home51-header__city,
    .home51-header__messengers,
    .home51-header__cities,
    .home51-mega-menu,
    .home51-hd-nav,
    .home51-hd-subnav {
        display: none;
    }

    /* Ключевую кнопку расчёта оставляем в шапке */

    .home51-header__actions {
        display: flex;
        margin-left: auto;
    }

    .home51-header__call {
        display: none;
    }

    .home51-header__calc {
        min-width: 0;
        height: 44px;
        padding: 0 18px;

        font-size: 14px;
    }

    /* Бургер показываем на той же границе */

    .home51-header__burger {
        display: block;

        width: 44px;
        height: 44px;
        flex: 0 0 44px;

        margin-left: 8px;
        padding: 10px;

        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .home51-header__burger span {
        display: block;
        height: 2px;
        margin: 5px 0;
        background: #111427;
    }

    .home51-header__main,
    .home51-header__main-inner {
        height: auto;
        min-height: 64px;
    }

    .home51-header__main-inner {
        gap: 10px;
        padding: 10px 0;
    }

    .home51-header__brand-mark {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;

        font-size: 18px;
    }

    .home51-header__brand-text strong {
        font-size: 16px;
    }
}


/* Верхняя тёмная полоса: телефон не должен обрезаться */

@media (max-width: 900px) {

    .home51-topbar__inner {
        min-height: 0;

        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 4px 16px;

        padding: 8px 0;
    }

    .home51-topbar__contacts {
        flex-wrap: wrap;
        gap: 4px 16px;

        min-width: 0;
    }

    .home51-topbar__contacts > * {
        display: inline;

        white-space: normal;
    }

    .home51-topbar__contacts a {
        white-space: nowrap;
    }

    .home51-topbar__orders {
        display: none;
    }
}

@media (max-width: 480px) {

    /* На узком экране в полосе оставляем только телефон */

    .home51-topbar__contacts > *:not(:first-child) {
        display: none;
    }
}


/* ==========================================================
   29.5  ВОССТАНОВЛЕНИЕ ОДНОЙ КОЛОНКИ
   Причина правки: поздние «макет-слои» задают эти сетки
   без медиазапросов и перебивают мобильные правила,
   объявленные выше по файлу.
   ========================================================== */

@media (max-width: 900px) {

    .home51-calculator__layout,
    .home51-excluded__layout,
    .home51-subscription__panel,
    .home51-cta__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .home51-calculator-result {
        position: static;
        top: auto;
    }

    .home51-excluded-cta__button {
        margin-top: 16px;
    }

    .home51-cta__side {
        max-width: none;
    }

    .home51-cta__title,
    .home51-cta__benefits {
        max-width: none;
    }
}

@media (max-width: 760px) {

    .home51-cta__benefits,
    .home51-cta-bottom {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 560px) {

    .home51-cta-subscribe-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .home51-cta-subscribe-row button {
        width: 100%;
    }
}


/* ==========================================================
   29.6  КАЛЬКУЛЯТОР
   ========================================================== */

@media (max-width: 900px) {

    .home51-calculator__form {
        padding: 20px 16px;
        border-radius: 20px;
    }

    .home51-calc-form {
        gap: 24px;
    }

    /* Пилюли выбора: две в ряд вместо auto-fit 150px,
       который на узком экране даёт одну растянутую колонку */

    .home51-calc-types,
    .home51-calc-frequency,
    .home51-calc-outside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .home51-calc-type span,
    .home51-calc-frequency__item span,
    .home51-calc-outside__item span {
        min-height: 52px;
        padding: 10px 12px;

        font-size: 14px;
    }

    .home51-calc-extras,
    .home51-calc-modifiers {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Счётчик допуслуги: увеличенная зона нажатия */

    .home51-calc-extra {
        padding: 12px 14px;
    }

    .home51-calc-extra__counter {
        grid-template-columns: 40px 40px 40px;
        height: 44px;
    }

    .home51-calc-extra__counter-btn {
        width: 40px;
        height: 44px;
    }

    .home51-calc-extra__counter-value {
        height: 44px;
    }

    /* Панель итога прижата к низу экрана при прокрутке формы */

    .home51-calculator-result {
        position: sticky;
        bottom: 0;
        top: auto;

        z-index: 30;

        gap: 14px;

        padding: 18px 18px 20px;

        border-radius: 20px 20px 0 0;
    }

    .home51-calculator-result__price {
        font-size: 34px;
    }

    /* В компактном виде оставляем только первую пояснительную строку */

    .home51-calculator-result__row:not(:first-of-type) {
        display: none;
    }

    .home51-calculator-result__button {
        min-height: 52px;
    }
}


/* iOS не зумит страницу при фокусе, если размер шрифта >= 16px */

@media (max-width: 900px) {

    .home51 input,
    .home51 select,
    .home51 textarea,
    .home51-calc-area,
    .home51-calc-phone__input,
    .home51-form__field input,
    .home51-cta-subscribe-row input {
        font-size: 16px;
    }
}


/* ==========================================================
   29.7  ГОРИЗОНТАЛЬНЫЕ ЛЕНТЫ ТАБОВ
   Табы не переносим, а прокручиваем: перенос ломает
   пилюлю-контейнер с фоном.
   ========================================================== */

@media (max-width: 760px) {

    .home51-scope-tariffs,
    .home51-scope-tabs,
    .home51-prices__tabs {
        display: flex;
        flex-wrap: nowrap;

        width: 100%;

        overflow-x: auto;
        overscroll-behavior-x: contain;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .home51-scope-tariffs::-webkit-scrollbar,
    .home51-scope-tabs::-webkit-scrollbar,
    .home51-prices__tabs::-webkit-scrollbar {
        display: none;
    }

    .home51-scope-tariff,
    .home51-scope-tab,
    .home51-prices__tabs span,
    .home51-prices__tabs a {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}


/* ==========================================================
   29.8  КАРУСЕЛИ — прилипание карточек при свайпе
   ========================================================== */

@media (max-width: 900px) {

    .home51-promos__viewport,
    .home51-reviews__viewport,
    .home51-corporate__letters,
    .home51-team__scroll,
    .home51-cases__grid {
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .home51-promo-card,
    .home51-review-card,
    .home51-corporate-letter,
    .home51-team-card,
    .home51-case-card {
        scroll-snap-align: start;
    }
}

@media (max-width: 600px) {

    .home51-team__scroll {
        grid-auto-columns: 84%;
    }

    .home51-promo-card,
    .home51-review-card {
        width: 84vw;
        min-width: 84vw;
        max-width: 300px;
    }

    .home51-corporate-letter {
        width: 84vw;
        min-width: 84vw;
        max-width: 300px;
    }
}


/* ==========================================================
   29.9  CRM-ДОСКА
   Доска остаётся прокручиваемой, но получает подсказку
   о возможности свайпа и не выходит за пределы экрана.
   ========================================================== */

@media (max-width: 900px) {

    .home51-crm {
        padding-left: 16px;
        padding-right: 16px;

        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;

        border-radius: 20px;
    }

    .home51-crm__dates,
    .home51-crm__board {
        min-width: 880px;
    }

    .home51-crm__board {
        height: 420px;
    }

    .home51-crm-card {
        min-height: 56px;
        padding: 10px 12px;
        gap: 10px;
    }

    .home51-crm-card__title {
        font-size: 14px;
    }

    .home51-crm-card__address {
        font-size: 12px;
    }

    .home51-crm-card__tasks,
    .home51-crm-card__checklist {
        padding: 4px 9px;
        font-size: 12px;
    }
}


/* ==========================================================
   29.10  СОСТАВ УБОРКИ, ГАРАНТИИ, ДОКУМЕНТЫ
   Subgrid из поздних слоёв в одну колонку не нужен.
   ========================================================== */

@media (max-width: 760px) {

    .home51-scope-panel,
    .home51-scope-panel.is-active {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .home51-scope__visual {
        aspect-ratio: 4 / 3;
        min-height: 0;

        border-radius: 20px;
    }

    .home51-scope__card {
        padding: 18px 16px;
        border-radius: 20px;
    }

    .home51-scope-item {
        align-items: start;
        min-height: 0;
        padding-top: 2px;
        padding-bottom: 2px;
    }

    .home51-scope-item__check {
        margin-top: 2px;
    }
}

@media (max-width: 700px) {

    .home51-guarantee-card,
    .home51-guarantee-doc,
    .home51-case-card,
    .home51-case-card__body {
        grid-row: auto;
        grid-template-rows: none;
    }

    .home51-case-card__body {
        display: grid;
        gap: 13px;
    }
}


/* ==========================================================
   29.11  FAQ И НИЖНИЕ ПЛАШКИ
   ========================================================== */

@media (max-width: 760px) {

    .home51-faq-bottom {
        display: grid;
        gap: 18px;

        padding: 24px 20px;
        border-radius: 20px;
    }

    .home51-faq-buttons {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .home51-faq-buttons .home51-btn {
        width: 100%;
        height: 48px;
    }

    .home51-faq-question {
        align-items: flex-start;
        padding: 16px 14px;
        gap: 12px;
    }

    .home51-faq-number {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;

        margin-right: 0;

        font-size: 12px;
    }

    .home51-faq-text {
        font-size: 16px;
        line-height: 1.35;
    }

    .home51-faq-answer {
        padding: 0 14px 16px 54px;
        font-size: 16px;
    }

    .home51-promos__bottom {
        display: grid;
        gap: 14px;
    }
}

@media (max-width: 480px) {

    .home51-faq-buttons {
        grid-template-columns: minmax(0, 1fr);
    }

    .home51-faq-answer {
        padding-left: 14px;
    }
}


/* ==========================================================
   29.12  КЕЙСЫ «ДО / ПОСЛЕ»
   Ползунок сравнения увеличен под палец.
   ========================================================== */

@media (max-width: 760px) {

    .home51-ba-frame {
        aspect-ratio: 4 / 3;
        min-height: 0;
    }

    .home51-ba-range {
        right: 12px;
        bottom: 12px;
        left: 12px;

        height: 28px;
    }

    .home51-ba-range::-webkit-slider-thumb {
        width: 28px;
        height: 28px;
    }

    .home51-ba-label {
        min-height: 26px;
        padding: 0 10px;

        font-size: 11px;
    }

    .home51-case-card__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .home51-case-card__stats div {
        padding: 10px 8px;
    }

    .home51-case-card__stats strong {
        font-size: 14px;
    }
}


/* ==========================================================
   29.13  ФУТЕР
   ========================================================== */

@media (max-width: 760px) {

    .home51-footer__inner {
        gap: 32px;
        padding: 48px 0 24px;
    }

    .home51-footer__map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
    }

    .home51-footer__info {
        grid-template-columns: minmax(0, 1fr);
    }

    .home51-footer__card,
    .home51-footer__minimum {
        padding: 20px;
    }

    .home51-footer__bottom {
        display: grid;
        gap: 10px;
    }
}

@media (max-width: 420px) {

    .home51-footer__map {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ==========================================================
   29.14  ЛАЙТБОКС
   ========================================================== */

@media (max-width: 760px) {

    .home51-lightbox {
        padding: 64px 12px 20px;
    }

    .home51-lightbox__figure {
        width: 100%;
        border-radius: 16px;
    }

    .home51-lightbox__figure img {
        max-height: 72vh;
    }

    .home51-lightbox__caption {
        padding: 16px;
        font-size: 14px;
    }

    .home51-lightbox__close {
        top: 12px;
        right: 12px;

        min-height: 44px;
        padding: 0 18px;
    }
}


/* ==========================================================
   29.15  ТИПОГРАФИКА И КНОПКИ НА УЗКОМ ЭКРАНЕ
   ========================================================== */

@media (max-width: 480px) {

    .home51-hero__title {
        font-size: 32px;
        line-height: 1.08;
    }

    .home51-hero__text {
        font-size: 16px;
    }

    .home51-hero__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 10px;
    }

    .home51-hero .home51-btn--primary {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }

    .home51-hero .home51-btn--messenger {
        width: 100%;
    }

    .home51-hero-stats {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .home51-hero-stat {
        min-height: 0;
        padding: 18px;
    }

    .home51-section-title,
    .home51-process__title,
    .home51-promos__title,
    .home51-order-process__title,
    .home51-reviews__title,
    .home51-corporate__title,
    .home51-media__title,
    .home51-about-detail__title,
    .home51-faq .home51-title,
    .home51-subscription__title,
    .home51-company-panel__title,
    .home51-cta__title {
        font-size: 26px;
        line-height: 1.12;
    }

    .home51-section-text,
    .home51-process__text,
    .home51-promos__text,
    .home51-order-process__text,
    .home51-reviews__text,
    .home51-corporate__text,
    .home51-media__text,
    .home51-faq .home51-description {
        font-size: 16px;
    }

    /* Крупные кнопки на всю ширину */

    .home51-prices__button,
    .home51-prices__top-button,
    .home51-excluded-cta__button,
    .home51-subscription__button,
    .home51-order-process__button,
    .home51-promo-card__button,
    .home51-service-card__button {
        width: 100%;
    }

    .home51-prices__bottom {
        display: grid;
        justify-items: stretch;
    }
}


/* ==========================================================
   29.16  МИНИМАЛЬНАЯ ЗОНА НАЖАТИЯ
   ========================================================== */

@media (hover: none) and (pointer: coarse) {

    .home51-scope-tab,
    .home51-scope-tariff,
    .home51-prices__tabs a,
    .home51-review-card__read,
    .home51-corporate-letter__button,
    .home51-cta-social-link,
    .home51-footer__column a {
        min-height: 44px;
    }

    .home51-footer__column a {
        display: inline-flex;
        align-items: center;
    }

    .home51-review-card__read {
        align-items: center;
    }
}
/* ==========================================================
   29.18  «Компания в цифрах» — ступени 4 / 2 / 1
   Причина правки: auto-fit из макет-слоя даёт
   промежуточную раскладку 3 + 1
   ========================================================== */

.home51-company-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {

    .home51-company-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {

    .home51-company-stats {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* ==========================================================
   29.17  «Почему выбирают нас» — ступени 4 / 2 / 1
   Причина правки: auto-fit из макет-слоя даёт
   промежуточную раскладку 3 + 1
   ========================================================== */

.home51-reasons__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {

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

@media (max-width: 600px) {

    .home51-reasons__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* ==========================================================
   29.18  «Наше оборудование и химия» — ступени 4 / 2 / 1
   Причина правки: auto-fit из макет-слоя даёт
   промежуточную раскладку 3 + 1
   ========================================================== */

.home51-equipment__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {

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

@media (max-width: 600px) {

    .home51-equipment__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* ==========================================================
   29.19  «Гарантии и ответственность» — ступени 4 / 2 / 1
   Карточки гарантий и карточки документов
   перестраиваются на одних границах
   ========================================================== */

.home51-guarantees__grid,
.home51-guarantee-docs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {

    .home51-guarantees__grid,
    .home51-guarantee-docs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .home51-guarantees__grid,
    .home51-guarantee-docs {
        grid-template-columns: minmax(0, 1fr);

        /* В одну колонку выравнивание по subgrid не нужно */
        grid-template-rows: none;
    }

    .home51-guarantee-card,
    .home51-guarantee-doc {
        grid-row: auto;
        grid-template-rows: none;
    }
}
/* ==========================================================
   29.20  Логотипы корпоративных клиентов — ступени 6 / 3 / 2
   Причина правки: auto-fit оставляет неровный хвост,
   шесть элементов делятся на 6, 3 и 2
   ========================================================== */

.home51-corporate__logos {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1100px) {

    .home51-corporate__logos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .home51-corporate__logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* ==========================================================
   29.21  Шапка на мобильном: строка не должна выдавливать
   бургер за пределы экрана
   Причина правки: бренд и кнопка расчёта не сжимаются,
   сумма ширин превышает контейнер
   ========================================================== */

@media (max-width: 900px) {

    .home51-header__main-inner {
        gap: 8px;

        min-width: 0;
    }

    /* Бренд отдаёт место первым */

    .home51-header__brand {
        flex: 0 1 auto;
        min-width: 0;

        margin-right: 0;
    }

    .home51-header__brand-text {
        min-width: 0;
    }

    .home51-header__brand-text strong {
        overflow: hidden;

        white-space: nowrap;
        text-overflow: ellipsis;
    }

    /* Подпись «клининг без суеты» на узком экране лишняя */

    .home51-header__brand-text small {
        display: none;
    }

    /* Кнопка расчёта тоже может ужаться */

    .home51-header__actions {
        min-width: 0;
        flex: 0 1 auto;
    }

    .home51-header__calc {
        min-width: 0;

        overflow: hidden;

        padding: 0 14px;

        text-overflow: ellipsis;
    }

    /* Бургер не сжимается никогда */

    .home51-header__burger {
        flex: 0 0 44px;

        margin-left: 0;
    }
}

@media (max-width: 480px) {

    /* На узком экране вместо длинной надписи - короткая */

    .home51-header__calc {
        padding: 0 12px;

        font-size: 13px;
    }
}
/* ==========================================================
   29.22  Панель итога: скругление со всех сторон,
   в закреплённом состоянии нижние углы уходят за край экрана
   ========================================================== */

@media (max-width: 900px) {

    .home51-calculator-result {
        /* Сдвиг на радиус: пока панель липкая,
           нижние углы за пределами вьюпорта */
        bottom: -20px;

        /* Компенсация сдвига, чтобы содержимое
           не уезжало под край */
        padding-bottom: 40px;

        border-radius: 20px;
    }
}
/* ==========================================================
   29.23  Кнопки: убрана верхняя внутренняя подсветка,
   дававшая светлую полосу по краю
   ========================================================== */

.home51-hero .home51-btn--primary,
.home51-header__calc,
.home51-calculator-result__button,
.home51-prices__top-button,
.home51-prices__button,
.home51-excluded-cta__button,
.home51-subscription__button,
.home51-order-process__button,
.home51-form__submit,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline) {
    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, 0.18),
        0 1px 2px rgba(16, 20, 38, 0.10),
        0 10px 22px -8px rgba(90, 62, 245, 0.55);
}

.home51-hero .home51-btn--primary:hover,
.home51-header__calc:hover,
.home51-calculator-result__button:hover,
.home51-prices__top-button:hover,
.home51-prices__button:hover,
.home51-excluded-cta__button:hover,
.home51-subscription__button:hover,
.home51-order-process__button:hover,
.home51-form__submit:hover,
.home51-faq-buttons .home51-btn:not(.home51-btn-outline):hover {
    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, 0.20),
        0 2px 4px rgba(16, 20, 38, 0.12),
        0 16px 30px -10px rgba(90, 62, 245, 0.62);
}

/* Светлые кнопки */

.home51-header__call,
.home51-cases__button,
.home51-promo-card__button,
.home51-lightbox__close {
    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, 0.07),
        0 1px 2px rgba(16, 20, 38, 0.07),
        0 10px 22px -10px rgba(16, 20, 38, 0.30);
}

.home51-header__call:hover,
.home51-cases__button:hover,
.home51-promo-card__button:hover {
    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, 0.08),
        0 2px 4px rgba(16, 20, 38, 0.09),
        0 16px 30px -12px rgba(16, 20, 38, 0.36);
}
/* ==========================================================
   29.27  Табы комнат заменены выпадающим списком
   Отменяет 29.7 в части .home51-scope-tabs
   ========================================================== */

/* Исходная пилюля с кнопками прячется, когда JS
   успешно построил селект */

.home51-scope__card.has-select .home51-scope-tabs {
    display: none;
}

.home51-scope-select {
    position: relative;

    display: block;
    width: 100%;
    max-width: 340px;

    margin-bottom: 24px;
}

.home51-scope-select select {
    width: 100%;
    min-height: 48px;

    padding: 0 44px 0 18px;

    border: 1px solid #e2e7f0;
    border-radius: 999px;

    outline: none;

    background: #ffffff;
    color: #101426;

    font: inherit;
    font-size: 16px;
    font-weight: 700;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);

    appearance: none;
    cursor: pointer;
}

.home51-scope-select select:focus-visible {
    border-color: #5a3ef5;

    outline: 3px solid #ece8ff;
    outline-offset: 1px;
}

/* Стрелка */

.home51-scope-select::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 20px;

    width: 8px;
    height: 8px;

    border-right: 2px solid #626b80;
    border-bottom: 2px solid #626b80;

    transform: translateY(-70%) rotate(45deg);

    pointer-events: none;
}

@media (max-width: 600px) {

    .home51-scope-select {
        max-width: none;
    }
}
/* ==========================================================
   29.25  Карточки оценок площадок: текст по центру
   ========================================================== */

.home51-review-rating {
    display: grid;
    align-content: center;
    justify-items: center;

    text-align: center;
}
/* ==========================================================
   29.26  CTA: зазор между карточками в одноколоночном режиме
   ========================================================== */

@media (max-width: 800px) {

    .home51-cta__benefits {
        display: grid;
        gap: 18px;
    }
}
/* ==========================================================
   29.28  Тарифные табы: фокус вместо системной рамки
   ========================================================== */

.home51-scope-tariff:focus {
    outline: none;
}

.home51-scope-tariff:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}
/* ==========================================================
   29.30  Горизонтальные ленты: на десктопе свободная
   прокрутка без прилипания
   ========================================================== */

@media (hover: hover) and (pointer: fine) {

    .home51-cases__grid,
    .home51-team__scroll,
    .home51-promos__viewport,
    .home51-reviews__viewport,
    .home51-corporate__letters {
        scroll-snap-type: none;
        scroll-behavior: auto;

        cursor: grab;
    }

    .home51-cases__grid.is-dragging,
    .home51-team__scroll.is-dragging,
    .home51-promos__viewport.is-dragging,
    .home51-reviews__viewport.is-dragging,
    .home51-corporate__letters.is-dragging {
        cursor: grabbing;

        user-select: none;
    }

    .home51-cases__grid.is-dragging *,
    .home51-team__scroll.is-dragging *,
    .home51-promos__viewport.is-dragging *,
    .home51-reviews__viewport.is-dragging *,
    .home51-corporate__letters.is-dragging * {
        user-select: none;
        pointer-events: none;
    }

    .home51-cases__grid .home51-ba-range {
        pointer-events: auto;
    }
}
/* ==========================================================
   29.31  Уведомление об отправке формы
   ========================================================== */

.home51-toast {
    position: fixed;
    z-index: 1100;
    inset: 0;

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

    padding: 20px;

    background: rgba(16, 20, 38, 0.72);

    opacity: 0;

    transition: opacity .2s ease;
}

.home51-toast.is-open {
    display: flex;
}

.home51-toast.is-visible {
    opacity: 1;
}

.home51-toast__box {
    display: grid;
    justify-items: center;
    gap: 16px;

    width: min(100%, 420px);

    padding: 40px 32px 32px;

    border-radius: 30px;

    background: #ffffff;
    text-align: center;

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.20),
        0 40px 80px -24px rgba(16, 20, 38, 0.55);

    transform: scale(.96);

    transition: transform .2s ease;
}

.home51-toast.is-visible .home51-toast__box {
    transform: scale(1);
}

/* Галочка в круге */

.home51-toast__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 64px;
    height: 64px;

    border-radius: 50%;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 30px;
    line-height: 1;
    font-weight: 700;
}

.home51-toast__title {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.home51-toast__text {
    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}

.home51-toast__close {
    min-height: 50px;
    margin-top: 8px;
    padding: 0 32px;

    border: 1px solid #4a2fdd;
    border-radius: 999px;

    background-image:
        linear-gradient(
            180deg,
            #6f55f7 0%,
            #5a3ef5 52%,
            #4b30e2 100%
        );
    background-color: #5a3ef5;
    color: #ffffff;

    font: inherit;
    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, 0.18),
        0 10px 22px -8px rgba(90, 62, 245, 0.55);

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

.home51-toast__close:hover {
    background-color: #5636e7;
    transform: translateY(-2px);
}

.home51-toast__close:active {
    transform: translateY(1px);
}

.home51-toast__close:focus-visible {
    outline: 3px solid #ece8ff;
    outline-offset: 2px;
}

@media (max-width: 599px) {

    .home51-toast__box {
        padding: 32px 24px 24px;
        border-radius: 20px;
    }

    .home51-toast__title {
        font-size: 20px;
    }

    .home51-toast__close {
        width: 100%;
    }
}
/* ==========================================================
   29.32  Калькулятор: чекбоксы согласия и рассылки ближе
   друг к другу
   ========================================================== */

.home51-calc-consent + .home51-calc-consent {
    margin-top: -20px;
}
/* ТЗ: декоративный заголовок подарка больше не H2 */
.home51 .home51-hero-offer__title {
    font-family: Geologica, system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: -0.025em;
}
/* ==========================================================
   ТЗ — логотип Клинстер в шапке
   ========================================================== */

.home51-header__brand-mark {
    overflow: hidden;

    background: transparent;
    box-shadow: none;
}

.home51-header__brand-mark img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}
/* ==========================================================
   ТЗ — телефон в основной шапке
   ========================================================== */

.home51-header__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 14px;

    border: 1px solid #e2e7f0;
    border-radius: 999px;

    background: #f5f7fb;
    color: #101426;

    text-decoration: none;
    white-space: nowrap;

    font-size: 14px;
    line-height: 1;
    font-weight: 700;
}

.home51-header__phone:hover {
    border-color: #c9d1e0;
    color: #5a3ef5;
}
/* ==========================================================
   ТЗ — модальное окно расчёта
   Только редизайн 51/53
   ========================================================== */

.home51-modal-form {
    width: min(100%, 480px);

    padding: 0;

    border-radius: 24px;

    background: #fff;
}

.home51-modal-form__inner {
    padding: 32px;
}

.home51-modal-form__title {
    margin-bottom: 10px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.home51-modal-form__text {
    margin-bottom: 24px;

    color: #626b80;

    font-size: 16px;
    line-height: 1.5;
}

.home51-modal-form .home51-form__field input {
    height: 48px;
}

.home51-modal-form .home51-form__submit {
    height: 52px;
}

@media (max-width: 600px) {

    .home51-modal-form {
        width: calc(100vw - 24px);
        border-radius: 20px;
    }

    .home51-modal-form__inner {
        padding: 24px 18px;
    }

    .home51-modal-form__title {
        font-size: 24px;
    }
}
/* ==========================================================
   30. TOPBAR — MOBILE CONTACTS
   ========================================================== */

/* На компьютере мобильный блок полностью скрыт */
.home51-topbar__mobile {
    display: none;
}


/* ==========================================================
   MOBILE <= 900
   ========================================================== */

@media (max-width: 900px) {

    /* Старое содержимое topbar на мобильном убираем */
    .home51-topbar__contacts,
    .home51-topbar__orders {
        display: none;
    }

    .home51-topbar__inner {
        min-height: 40px;
        padding: 0;

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

        flex-wrap: nowrap;
    }

    /* Новая мобильная строка */
    .home51-topbar__mobile {
        width: 100%;

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

        gap: 10px;
    }

    .home51-topbar__mobile-phone {
        color: #fff;

        text-decoration: none;
        white-space: nowrap;

        font-size: 13px;
        line-height: 1;
        font-weight: 700;
    }

    .home51-topbar__mobile-messengers {
        display: flex;
        align-items: center;

        gap: 6px;
    }

    .home51-topbar__mobile-messengers a {
        width: 28px;
        height: 28px;

        flex: 0 0 28px;

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

        padding: 0;

        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .home51-topbar__mobile-messengers img {
        display: block;

        width: 100%;
        height: 100%;

        object-fit: contain;
    }

    /* Телефон уже находится в верхней полосе */
    .home51-header__phone {
        display: none;
    }
}
/* ==========================================================
   31. MOBILE MENU — REDESIGN 51 / 53
   ========================================================== */


/* На desktop меню отсутствует */

.home51-mobile-menu {
    display: none;
}


/* Блокировка прокрутки страницы */

.home51-mobile-menu-lock {
    overflow: hidden;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 900px) {

    .home51-mobile-menu {
        position: fixed;
        z-index: 1000;

        inset: 0;

        display: block;

        visibility: hidden;
        opacity: 0;

        pointer-events: none;

        transition:
            visibility .2s ease,
            opacity .2s ease;
    }


    .home51-header.is-mobile-menu-open
    .home51-mobile-menu {
        visibility: visible;
        opacity: 1;

        pointer-events: auto;
    }


    /* ======================================================
       BACKDROP
       ====================================================== */

    .home51-mobile-menu__backdrop {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        padding: 0;
        border: 0;

        background: rgba(16, 20, 38, .42);

        cursor: pointer;
    }


    /* ======================================================
       PANEL
       ====================================================== */

    .home51-mobile-menu__panel {
        position: absolute;

        top: 0;
        right: 0;
        bottom: 0;

        width: min(90vw, 390px);

        overflow-y: auto;
        overscroll-behavior: contain;

        padding: 20px;

        background: #fff;

        box-shadow:
            -20px 0 50px rgba(16, 20, 38, .18);

        transform: translateX(100%);

        transition: transform .22s ease;
    }


    .home51-header.is-mobile-menu-open
    .home51-mobile-menu__panel {
        transform: translateX(0);
    }


    /* ======================================================
       HEAD
       ====================================================== */

    .home51-mobile-menu__head {
        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 16px;

        margin-bottom: 28px;
    }


    .home51-mobile-menu__brand {
        display: inline-flex;
        align-items: center;

        gap: 10px;

        color: #101426;

        text-decoration: none;
    }


    .home51-mobile-menu__brand img {
        display: block;

        width: 36px;
        height: 36px;

        object-fit: contain;
    }


    .home51-mobile-menu__brand strong {
        font-family: Geologica, system-ui, sans-serif;
        font-size: 18px;
        font-weight: 600;
    }


    .home51-mobile-menu__close {
        width: 42px;
        height: 42px;

        flex: 0 0 42px;

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

        padding: 0;

        border: 1px solid #e2e7f0;
        border-radius: 50%;

        background: #f5f7fb;
        color: #101426;

        font: inherit;
        font-size: 26px;
        line-height: 1;

        cursor: pointer;
    }


    /* ======================================================
       SECTIONS
       ====================================================== */

    .home51-mobile-menu__section {
        margin-bottom: 10px;
    }


    .home51-mobile-menu__section-button {
        width: 100%;
        min-height: 58px;

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

        gap: 16px;

        padding: 0 18px;

        border: 1px solid #e2e7f0;
        border-radius: 16px;

        background: #f5f7fb;
        color: #101426;

        font: inherit;
        font-size: 16px;
        line-height: 1.25;
        font-weight: 700;

        text-align: left;

        cursor: pointer;
    }


    .home51-mobile-menu__section-button.is-open {
        border-color: #d7d0ff;

        background: #ece8ff;
        color: #5a3ef5;
    }


    .home51-mobile-menu__section-arrow {
        flex: 0 0 auto;

        transition: transform .2s ease;
    }


    .home51-mobile-menu__section-button.is-open
    .home51-mobile-menu__section-arrow {
        transform: rotate(180deg);
    }


    /* ======================================================
       LINKS
       ====================================================== */

    .home51-mobile-menu__section-content {
        display: none;

        padding:
            8px
            18px
            14px;
    }


    .home51-mobile-menu__section-content.is-open {
        display: grid;
    }


    .home51-mobile-menu__section-content a {
        display: flex;
        align-items: center;

        min-height: 44px;

        padding: 8px 0;

        border-bottom: 1px solid #eceff5;

        color: #626b80;

        text-decoration: none;

        font-size: 14px;
        line-height: 1.35;
    }


    .home51-mobile-menu__section-content a:last-child {
        border-bottom: 0;
    }


    /* ======================================================
       CONTACTS
       ====================================================== */

    .home51-mobile-menu__contacts {
        display: grid;
        gap: 18px;

        margin-top: 26px;
        padding-top: 24px;

        border-top: 1px solid #e2e7f0;
    }


    .home51-mobile-menu__phone {
        color: #101426;

        text-decoration: none;

        font-size: 20px;
        line-height: 1.2;
        font-weight: 700;
    }


    .home51-mobile-menu__messengers {
        display: flex;
        align-items: center;

        gap: 10px;
    }
.home51-mobile-menu__messengers a {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

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

    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.home51-mobile-menu__messengers img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}

}

/* ==========================================================
   32. MESSENGERS — FINAL
   ========================================================== */

/* Основная шапка */

.home51-header__messengers a {
    width: 40px;
    height: 40px;

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

    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.home51-header__messengers img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* Hero */

.home51-hero .home51-btn--messenger {
    width: 40px;
    height: 40px;
    min-height: 40px;

    flex: 0 0 40px;

    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.home51-hero .home51-btn--messenger img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


@media (max-width: 480px) {

    .home51-hero .home51-btn--messenger {
        width: 100%;
        flex: 1 1 0;
    }

}
/* ==========================================================
   33. MESSENGERS — BUTTONS FINAL
   ========================================================== */

/* Шапка */

.home51-header__messengers a {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

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

    padding: 0;

    border: 1px solid #dce1eb;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.18);
}

.home51-header__messengers img {
    display: block;

    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;

    object-fit: contain;
}


/* Кнопки рядом с «Рассчитать стоимость» в Hero */

.home51-hero .home51-btn--messenger {
    width: 40px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 40px;

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

    padding: 0;

    border: 1px solid #dce1eb;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.18);
}

.home51-hero .home51-btn--messenger img {
    display: block;

    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;

    object-fit: contain;
}
/* ==========================================================
   33. MESSENGERS — BUTTONS FINAL
   ========================================================== */

/* Шапка */

.home51-header__messengers a {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

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

    padding: 0;

    border: 1px solid #dce1eb;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.18);
}

.home51-header__messengers img {
    display: block;

    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;

    object-fit: contain;
}


/* Кнопки рядом с «Рассчитать стоимость» в Hero */

.home51-hero .home51-btn--messenger {
    width: 40px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 40px;

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

    padding: 0;

    border: 1px solid #dce1eb;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 6px 14px -6px rgba(16, 20, 38, 0.18);
}

.home51-hero .home51-btn--messenger img {
    display: block;

    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;

    object-fit: contain;
}
/* ==========================================================
   34. MESSENGERS — ICON STYLE
   Без внешних кружков, SVG не изменяем
   ========================================================== */

/* Шапка */

.home51-header__messengers a {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;

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

    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;

    text-decoration: none;
}

.home51-header__messengers img {
    display: block;

    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;

    object-fit: contain;
}


/* Первый экран */

.home51-hero .home51-btn--messenger {
    width: 34px;
    height: 34px;
    min-height: 34px;
    flex: 0 0 34px;

    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;
}

.home51-hero .home51-btn--messenger img {
    display: block;

    width: 36px;
    height: 36px;
    max-width: 36px;
    max-height: 36px;

    object-fit: contain;
}


/* Небольшая реакция при наведении */

.home51-header__messengers a:hover,
.home51-hero .home51-btn--messenger:hover {
    background: transparent;
    border: 0;
    box-shadow: none;

    opacity: .75;
}
/* ==========================================================
   35. MESSENGERS — VISUAL SIZE NORMALIZATION
   ========================================================== */

/* Telegram визуально крупнее из-за внутренних полей SVG */

.home51-header__messengers img[src$="telegram.svg"],
.home51-hero .home51-btn--messenger img[src$="telegram.svg"] {
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
}


/* MAX уменьшаем, т.к. графика занимает почти весь SVG */

.home51-header__messengers img[src$="max.svg"],
.home51-hero .home51-btn--messenger img[src$="max.svg"] {
    width: 35px;
    height: 35px;
    max-width: 35px;
    max-height: 35px;
}
/* ==========================================================
   54. ABOUT — PAGE BASE / HERO
   ========================================================== */

.about54 {
    background: #eceff5;
    color: #101426;

    font-family: "Golos Text", system-ui, sans-serif;
}


/* ==========================================================
   BREADCRUMBS
   ========================================================== */

.about54-breadcrumbs {
    background: #eceff5;
}

.about54-breadcrumbs__inner {
    min-height: 52px;

    display: flex;
    align-items: center;
    gap: 9px;

    color: #7a8193;

    font-size: 14px;
    line-height: 1.3;
}

.about54-breadcrumbs__inner a {
    color: #626b80;
    text-decoration: none;
}

.about54-breadcrumbs__inner a:hover {
    color: #5a3ef5;
}

.about54-breadcrumbs__inner span[aria-current="page"] {
    color: #9298a8;
}


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

.about54-hero {
    padding: 64px 0 80px;

    background: #eceff5;
}

.about54-hero__inner {
    display: grid;
    gap: 30px;
}

.about54-hero__title {
    max-width: 900px;

    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.035em;
}

.about54-hero__text {
    max-width: 900px;

    margin: 0;

    color: #626b80;

    font-size: 18px;
    line-height: 1.65;
}


/* ==========================================================
   HERO BUTTONS
   ========================================================== */

.about54-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 4px;
}

.about54-button {
    min-height: 54px;

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

    padding: 0 26px;

    border-radius: 999px;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.about54-button--primary {
    border: 1px solid #4a2fdd;

    background:
        linear-gradient(
            180deg,
            #6f55f7 0%,
            #5a3ef5 52%,
            #4b30e2 100%
        );

    color: #fff;

    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, .18),
        0 1px 2px rgba(16, 20, 38, .10),
        0 10px 22px -8px rgba(90, 62, 245, .55);
}

.about54-button--primary:hover {
    color: #fff;

    transform: translateY(-2px);
}

.about54-button--secondary {
    border: 1px solid #cfd6e4;

    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );

    color: #101426;

    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, .07),
        0 1px 2px rgba(16, 20, 38, .07),
        0 10px 22px -10px rgba(16, 20, 38, .30);
}

.about54-button--secondary:hover {
    border-color: #5a3ef5;
    color: #5a3ef5;

    transform: translateY(-2px);
}


/* ==========================================================
   HERO NAVIGATION
   ========================================================== */

.about54-hero__nav {
    display: flex;
    flex-wrap: wrap;

    gap: 12px 30px;

    margin-top: 6px;
    padding-top: 26px;

    border-top: 1px solid #dce2ec;
}

.about54-hero__nav a {
    color: #626b80;

    font-size: 14px;
    line-height: 1.4;

    text-decoration: none;
}

.about54-hero__nav a:hover {
    color: #5a3ef5;
}


/* ==========================================================
   ABOUT HERO — MOBILE
   ========================================================== */

@media (max-width: 760px) {

    .about54-breadcrumbs__inner {
        min-height: 44px;

        font-size: 13px;
    }

    .about54-hero {
        padding: 42px 0 56px;
    }

    .about54-hero__inner {
        gap: 22px;
    }

    .about54-hero__title {
        font-size: 38px;
        line-height: 1.1;
    }

    .about54-hero__text {
        font-size: 16px;
        line-height: 1.6;
    }

    .about54-hero__nav {
        gap: 12px 20px;

        padding-top: 22px;
    }
}


@media (max-width: 480px) {

    .about54-hero__title {
        font-size: 32px;
    }

    .about54-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .about54-button {
        width: 100%;
    }
}
/* ==========================================================
   54. ABOUT — COMPANY
   ========================================================== */

.about54-section {
    padding: 100px 0;
}

.about54-section-title {
    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(30px, 3.1vw, 46px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.about54-section-text {
    max-width: 78ch;
    margin: 16px 0 0;

    color: #626b80;

    font-size: 18px;
    line-height: 1.55;
}


/* ==========================================================
   COMPANY STORY
   ========================================================== */

.about54-company {
    background: #ffffff;
}

.about54-company__story {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 64px;
    align-items: start;
}

.about54-company__heading {
    min-width: 0;
}

.about54-company__image {
    width: 100%;
    aspect-ratio: 16 / 9;

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

    margin-top: 32px;

    overflow: hidden;

    border-radius: 20px;

    background: #e4e9f2;
}

.about54-company__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.about54-company__image-placeholder {
    color: #626b80;

    font-size: 14px;
    line-height: 1.4;
}

.about54-company__text {
    display: grid;
    gap: 24px;

    color: #626b80;

    font-size: 18px;
    line-height: 1.65;
}

.about54-company__text p {
    margin: 0;
}


/* ==========================================================
   COMPANY FACTS
   ========================================================== */

.about54-company__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    margin: 64px 0 0;
    padding: 0;

    border-top: 1px solid #e2e7f0;
}

.about54-fact {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 12px;

    padding: 32px 24px;

    border-right: 1px solid #e2e7f0;
}

.about54-fact:first-child {
    padding-left: 0;
}

.about54-fact:last-child {
    border-right: 0;
}

.about54-fact__label {
    color: #626b80;

    font-size: 15px;
    line-height: 1.4;
}

.about54-fact__value {
    order: -1;

    margin: 0;

    color: #5a3ef5;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 44px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -0.025em;
}


/* ==========================================================
   COMPANY — TABLET / MOBILE
   ========================================================== */

@media (max-width: 900px) {

    .about54-section {
        padding: 72px 0;
    }

    .about54-company__story {
        gap: 40px;
    }

    .about54-company__facts {
        margin-top: 48px;
    }
}


@media (max-width: 760px) {

    .about54-company__story {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .about54-company__image {
        margin-top: 24px;
    }

    .about54-company__text {
        gap: 18px;

        font-size: 16px;
        line-height: 1.6;
    }

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

    .about54-fact {
        padding: 24px 0;

        border-right: 1px solid #e2e7f0;
        border-bottom: 1px solid #e2e7f0;
    }

    .about54-fact:nth-child(2n) {
        padding-left: 24px;

        border-right: 0;
    }

    .about54-fact:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .about54-fact__value {
        font-size: 36px;
    }
}


@media (max-width: 480px) {

    .about54-section {
        padding: 56px 0;
    }

    .about54-fact__value {
        font-size: 32px;
    }
}
/* ==========================================================
   54. ABOUT — PRINCIPLES
   ========================================================== */

.about54-principles {
    background: #eceff5;
}

.about54-section-head {
    display: grid;
    gap: 16px;

    margin-bottom: 40px;
}

.about54-principles__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 24px;
}


/* ==========================================================
   PRINCIPLE CARD
   ========================================================== */

.about54-principle-card {
    min-width: 0;

    display: grid;
    align-content: start;
    gap: 14px;

    min-height: 250px;

    padding: 28px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.about54-principle-card__number {
    margin-bottom: 6px;

    color: #5a3ef5;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.about54-principle-card__title {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.about54-principle-card__text {
    margin: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}


/* ==========================================================
   PRINCIPLES — RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .about54-principles__grid {
        gap: 18px;
    }

    .about54-principle-card {
        min-height: 0;

        padding: 24px;
    }
}


@media (max-width: 760px) {

    .about54-section-head {
        margin-bottom: 32px;
    }

    .about54-principles__grid {
        grid-template-columns: 1fr;
    }

    .about54-principle-card__title {
        font-size: 21px;
    }
}
/* ==========================================================
   54. ABOUT — QUALITY
   ========================================================== */

.about54-quality {
    background: #ffffff;
}

.about54-quality__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 24px;
}


/* ==========================================================
   QUALITY CARD
   ========================================================== */

.about54-quality-card {
    min-width: 0;

    padding: 32px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #f5f7fb;

    box-shadow:
        inset 0 1px 0 #ffffff,
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.12);
}

.about54-quality-card__title {
    margin-bottom: 20px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.about54-quality-card__text {
    color: #626b80;

    font-size: 16px;
    line-height: 1.6;
}

.about54-quality-card__text p {
    margin: 0 0 18px;
}

.about54-quality-card__text p:last-child {
    margin-bottom: 0;
}

.about54-quality-card__text ul,
.about54-quality-card__text ol {
    display: grid;
    gap: 14px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.about54-quality-card__text li {
    position: relative;

    padding-left: 30px;
}

.about54-quality-card__text li::before {
    position: absolute;

    top: 1px;
    left: 0;

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

    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 11px;
    line-height: 1;
    font-weight: 700;
}

.about54-quality-card__text ul li::before {
    content: "✓";
}

.about54-quality-card__text ol {
    counter-reset: about54-quality;
}

.about54-quality-card__text ol li {
    counter-increment: about54-quality;
}

.about54-quality-card__text ol li::before {
    content: counter(about54-quality);

    font-size: 10px;
}


/* ==========================================================
   QUALITY — RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

    .about54-quality__grid {
        grid-template-columns: 1fr;
    }

    .about54-quality-card {
        padding: 24px;
    }

    .about54-quality-card__title {
        margin-bottom: 16px;

        font-size: 21px;
    }
}
/* ==========================================================
   54. ABOUT — TEAM
   ========================================================== */

.about54-team {
    background: #eceff5;
}

.about54-team__list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 288px;

    gap: 24px;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 16px;

    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #cbd3e3 transparent;
}

.about54-team__list::-webkit-scrollbar {
    height: 8px;
}

.about54-team__list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #cbd3e3;
}


/* ==========================================================
   TEAM CARD
   ========================================================== */

.about54-team-card {
    min-width: 0;

    overflow: hidden;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);

    scroll-snap-align: start;
}

.about54-team-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;

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

    overflow: hidden;

    background: #e4e9f2;
}

.about54-team-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.about54-team-card__placeholder {
    color: #626b80;

    font-size: 14px;
}

.about54-team-card__body {
    display: grid;
    gap: 18px;

    padding: 24px;
}

.about54-team-card__head {
    display: grid;
    justify-items: start;
    gap: 10px;
}

.about54-team-card__name {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.about54-team-card__badge {
    display: inline-flex;
    align-items: center;

    min-height: 28px;
    padding: 0 12px;

    border-radius: 999px;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
}

.about54-team-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 8px;
}

.about54-team-card__stat {
    min-width: 0;

    display: grid;
    gap: 4px;

    padding: 10px;

    border-radius: 12px;

    background: #f5f7fb;
}

.about54-team-card__stat span {
    color: #626b80;

    font-size: 11px;
    line-height: 1.2;
}

.about54-team-card__stat strong {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;

    overflow-wrap: anywhere;
}


/* ==========================================================
   TEAM FACTS
   ========================================================== */

.about54-team__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    margin-top: 32px;
}

.about54-team-fact {
    padding: 24px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.about54-team-fact__title {
    margin-bottom: 10px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.about54-team-fact__text {
    margin: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}


/* ==========================================================
   TEAM — RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .about54-team__facts {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 600px) {

    .about54-team__list {
        grid-auto-columns: 84%;
    }

    .about54-team-card__body {
        padding: 20px;
    }

    .about54-team-card__name {
        font-size: 21px;
    }
}
/* ==========================================================
   54. ABOUT — GUARANTEES
   ========================================================== */

.about54-guarantees {
    background: #ffffff;
}

.about54-guarantees__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 24px;
}


/* ==========================================================
   GUARANTEE CARD
   ========================================================== */

.about54-guarantee-card {
    min-width: 0;

    display: grid;
    align-content: start;
    gap: 16px;

    padding: 24px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.about54-guarantee-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 12px;

    background: #ece8ff;
    color: #5a3ef5;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.about54-guarantee-card__title {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.about54-guarantee-card__text {
    margin: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}


/* ==========================================================
   DOCUMENTS
   ========================================================== */

.about54-documents {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 24px;

    margin-top: 32px;
}

.about54-document-card {
    min-width: 0;

    overflow: hidden;

    padding: 12px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, 0.05),
        0 10px 24px -8px rgba(16, 20, 38, 0.14);
}

.about54-document-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;

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

    overflow: hidden;

    border-radius: 12px;

    background: #e4e9f2;
}

.about54-document-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.about54-document-card__placeholder {
    color: #626b80;

    font-size: 14px;
}

.about54-document-card__title {
    padding: 14px 8px 8px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
}


/* ==========================================================
   GUARANTEES — RESPONSIVE
   ========================================================== */

@media (max-width: 1000px) {

    .about54-guarantees__grid,
    .about54-documents {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .about54-guarantees__grid,
    .about54-documents {
        grid-template-columns: 1fr;
    }

    .about54-document-card__image {
        aspect-ratio: 16 / 10;
    }
}
/* ==========================================================
   54. ABOUT — CONTACTS CTA
   ========================================================== */

.about54-contacts {
    background: #eceff5;
}

.about54-contacts__panel {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(260px, .8fr);

    gap: 48px;

    padding: 48px;

    border-radius: 30px;

    background: #141a33;
    color: #ffffff;

    box-shadow:
        0 2px 6px rgba(16, 20, 38, 0.08),
        0 28px 56px -18px rgba(16, 20, 38, 0.28);
}


/* Заголовок и описание */

.about54-contacts .about54-section-title {
    color: #ffffff;
}

.about54-contacts .about54-section-text {
    max-width: 700px;

    color: rgba(255, 255, 255, .72);
}


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

.about54-contacts__info {
    display: grid;
    align-content: start;
    gap: 20px;
}

.about54-contacts__item {
    display: grid;
    gap: 6px;
}

.about54-contacts__item > span {
    color: rgba(255, 255, 255, .58);

    font-size: 13px;
    line-height: 1.3;
}

.about54-contacts__item a,
.about54-contacts__item > div {
    color: #ffffff;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;

    text-decoration: none;
}

.about54-contacts__item a:hover {
    color: #cfc5ff;
}


/* ==========================================================
   CONTACT BUTTONS
   ========================================================== */

.about54-contacts__actions {
    grid-column: 1 / -1;

    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    padding-top: 8px;
}

.about54-contacts .about54-button--secondary {
    border-color: rgba(255, 255, 255, .28);

    background: transparent;
    color: #ffffff;

    box-shadow: none;
}

.about54-contacts .about54-button--secondary:hover {
    border-color: #ffffff;

    color: #ffffff;

    background: rgba(255, 255, 255, .06);
}


/* ==========================================================
   CONTACTS — RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

    .about54-contacts__panel {
        grid-template-columns: 1fr;

        gap: 32px;

        padding: 32px 24px;

        border-radius: 20px;
    }

    .about54-contacts__actions {
        grid-column: auto;
    }
}

@media (max-width: 480px) {

    .about54-contacts__panel {
        padding: 26px 20px;
    }

    .about54-contacts__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}
/* ==========================================================
   54. ABOUT — EQUIPMENT BRANDS
   ========================================================== */

.about54-standards-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 22px;
}

.about54-standards-row span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;
    padding: 0 14px;

    border: 1px solid #dce2ec;
    border-radius: 999px;

    background: #ffffff;
    color: #101426;

    font-size: 13px;
    line-height: 1;
    font-weight: 600;
}
/* ==========================================================
   54. ABOUT — QUALITY BRANDS
   ========================================================== */

.about54-standards-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin-top: 24px;
}

.about54-standards-row span {
    min-height: 54px;

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

    padding: 0 12px;

    border: 1px solid #e2e7f0;
    border-radius: 14px;

    background: #ffffff;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
}


@media (max-width: 760px) {

    .about54-standards-row {
        grid-template-columns: repeat(2, 1fr);
    }

}
/* ==========================================================
   54. ABOUT — GUARANTEES TUNING
   ========================================================== */

.about54-guarantees__grid {
    margin-bottom: 48px;
}


/* карточки гарантий */

.about54-guarantee-card {
    min-height: 260px;
}

.about54-guarantee-card__icon {
    width: 36px;
    height: 36px;

    border-radius: 10px;
}

.about54-guarantee-card__title {
    font-size: 21px;
}


/* документы */

.about54-documents {
    padding-top: 8px;
}


.about54-document-card {
    padding: 16px;

    border-radius: 18px;
}


.about54-document-card__title {
    padding: 16px 4px 4px;

    font-size: 15px;
}


.about54-document-card__image {
    background: #eef1f7;
}
/* ==========================================================
   54. ABOUT — CONTACTS FINAL TUNING
   ========================================================== */

.about54-contacts {
    padding-top: 96px;
    padding-bottom: 96px;
}


.about54-contacts__panel {
    grid-template-columns:
        minmax(0, 1fr)
        320px;

    min-height: 300px;

    padding: 56px;
}


.about54-contacts__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.about54-contacts .about54-section-title {
    max-width: 520px;

    font-size: 42px;
}


.about54-contacts .about54-section-text {
    max-width: 560px;

    margin-top: 18px;
}


.about54-contacts__info {
    padding-left: 32px;

    border-left: 1px solid rgba(255,255,255,.15);
}


.about54-contacts__item {
    gap: 8px;
}


.about54-contacts__item a,
.about54-contacts__item > div {
    font-size: 16px;
}


.about54-contacts__actions {
    margin-top: 36px;
}


@media (max-width: 900px) {

    .about54-contacts__panel {
        grid-template-columns: 1fr;

        padding: 36px;
    }


    .about54-contacts__info {
        padding-left: 0;

        border-left: 0;
        padding-top: 24px;

        border-top: 1px solid rgba(255,255,255,.15);
    }

}


@media (max-width: 480px) {

    .about54-contacts .about54-section-title {
        font-size: 32px;
    }

}
/* ==========================================================
   55. BLOG — HERO
   ========================================================== */

.blog55 {
    background: #eceff5;
    color: #101426;
}


.blog55-breadcrumbs {
    background: #eceff5;
}


.blog55-breadcrumbs__inner {
    min-height: 52px;

    display: flex;
    align-items: center;
    gap: 9px;

    color: #7a8193;

    font-size: 14px;
}


.blog55-breadcrumbs a {
    color: #626b80;
    text-decoration: none;
}


.blog55-hero {
    padding: 72px 0 64px;
}


.blog55-hero__inner {
    display: grid;
    gap: 20px;
}


.blog55-hero__title {
    max-width: 900px;

    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.035em;
}


.blog55-hero__text {
    max-width: 720px;

    margin: 0;

    color: #626b80;

    font-size: 18px;
    line-height: 1.6;
}
/* ==========================================================
   55. BLOG — ARTICLE CARDS
   ========================================================== */

.blog55-articles {
    padding: 32px 0 100px;
}


.blog55-articles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;
}


/* ==========================================================
   ARTICLE CARD
   ========================================================== */

.blog55-card {
    overflow: hidden;

    display: flex;
    flex-direction: column;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16,20,38,.05),
        0 12px 28px -10px rgba(16,20,38,.14);
}


.blog55-card__image {
    width: 100%;
    aspect-ratio: 16 / 9;

    display: block;

    overflow: hidden;

    background: #e4e9f2;
}


.blog55-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .25s ease;
}


.blog55-card:hover .blog55-card__image img {
    transform: scale(1.03);
}


.blog55-card__image-placeholder {
    width: 100%;
    height: 100%;

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

    color: #7a8193;

    font-size: 14px;
}


.blog55-card__body {
    display: grid;
    gap: 16px;

    padding: 24px;
}


.blog55-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;

    color: #7a8193;

    font-size: 13px;
}


.blog55-card__meta span {
    display: inline-flex;

    padding: 5px 10px;

    border-radius: 999px;

    background: #ece8ff;

    color: #5a3ef5;

    font-weight: 600;
}


.blog55-card__title {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;

    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;

    letter-spacing: -.025em;
}


.blog55-card__text {
    margin: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.55;
}


.blog55-card__link {
    color: #5a3ef5;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;
}


.blog55-card__link:hover {
    text-decoration: underline;
}


/* ==========================================================
   BLOG RESPONSIVE
   ========================================================== */

@media (max-width: 1000px) {

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

}


@media (max-width: 650px) {

    .blog55-articles__grid {
        grid-template-columns: 1fr;
    }

    .blog55-card__body {
        padding: 20px;
    }

}
/* ==========================================================
   55. BLOG — ARTICLES TITLE
   ========================================================== */

.blog55-articles__title {
    margin: 0 0 36px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;

    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
    font-weight: 600;

    letter-spacing: -0.025em;
}
/* ==========================================================
   55. BLOG — FILTERS
   ========================================================== */

.blog55-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-bottom: 40px;
}


.blog55-filter {
    min-height: 42px;

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

    padding: 0 20px;

    border: 1px solid #dce2ec;
    border-radius: 999px;

    background: #ffffff;

    color: #626b80;

    font-size: 15px;
    line-height: 1;
    font-weight: 600;

    cursor: pointer;

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


.blog55-filter:hover {
    border-color: #5a3ef5;

    color: #5a3ef5;
}


.blog55-filter.is-active {
    border-color: #5a3ef5;

    background: #5a3ef5;

    color: #ffffff;
}
/* ==========================================================
   56. BLOG ARTICLE
   ========================================================== */

.blog56 {
    background: #eceff5;
}


.blog56-article {
    padding: 64px 0 100px;
}


.blog56-article__header {
    max-width: 900px;

    margin: 0 auto;

    text-align: center;
}


.blog56-article__category {
    display: inline-flex;
    align-items: center;

    min-height: 30px;

    padding: 0 14px;

    margin-bottom: 20px;

    border-radius: 999px;

    background: #ece8ff;

    color: #5a3ef5;

    font-size: 13px;
    font-weight: 700;
}


.blog56-article__title {
    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;

    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.1;
    font-weight: 600;

    letter-spacing: -.035em;
}


.blog56-article__date {
    margin-top: 18px;

    color: #7a8193;

    font-size: 14px;
}


.blog56-article__image {
    max-width: 1100px;

    margin: 48px auto 0;

    overflow: hidden;

    border-radius: 24px;
}


.blog56-article__image img {
    display: block;

    width: 100%;
    height: auto;
}


.blog56-article__content {
    max-width: 820px;

    margin: 48px auto 0;

    padding: 40px;

    border-radius: 24px;

    background: #ffffff;

    color: #30384d;

    font-size: 18px;
    line-height: 1.7;
}


.blog56-article__content h2,
.blog56-article__content h3 {
    margin-top: 36px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
}


.blog56-article__content p {
    margin: 0 0 20px;
}


.blog56-article__content ul,
.blog56-article__content ol {
    margin: 20px 0;

    padding-left: 24px;
}


@media (max-width: 760px) {

    .blog56-article {
        padding: 40px 0 60px;
    }


    .blog56-article__content {
        padding: 24px;

        font-size: 16px;
    }

}
/* ==========================================================
   56. BLOG ARTICLE — EXTRA
   ========================================================== */

.blog56-breadcrumbs {
    padding: 24px 0 0;
}


.blog56-breadcrumbs .home51-header-container {
    display: flex;
    align-items: center;
    gap: 10px;

    color: #7a8193;

    font-size: 14px;
}


.blog56-breadcrumbs a {
    color: #626b80;

    text-decoration: none;
}


.blog56-breadcrumbs a:hover {
    color: #5a3ef5;
}


.blog56-article__back {
    display: inline-flex;
    align-items: center;

    margin-top: 28px;

    color: #5a3ef5;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 600;

    text-decoration: none;
}


.blog56-article__back:hover {
    text-decoration: underline;
}

/* Адаптация карточек из блога */

.blog56-related .blog55-card {
    height: 100%;
}


@media (max-width: 1000px) {

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

}


@media (max-width: 650px) {

    .blog56-related {
        margin-top: 48px;
        padding-top: 32px;
    }

    .blog56-related__grid {
        grid-template-columns: 1fr;
    }

    .blog56-related__title {
        font-size: 28px;
    }

}
/* ==========================================================
   57. CONTACTS — PAGE BASE
   ========================================================== */

.contacts57 {
    background: #eceff5;
    color: #101426;

    font-family: "Golos Text", system-ui, sans-serif;
}


/* ==========================================================
   57. CONTACTS — BREADCRUMBS
   ========================================================== */

.contacts57-breadcrumbs {
    background: #eceff5;
}

.contacts57-breadcrumbs__inner {
    min-height: 52px;

    display: flex;
    align-items: center;
    gap: 9px;

    color: #7a8193;

    font-size: 14px;
    line-height: 1.3;
}

.contacts57-breadcrumbs__inner a {
    color: #626b80;
    text-decoration: none;
}

.contacts57-breadcrumbs__inner a:hover {
    color: #5a3ef5;
}

.contacts57-breadcrumbs__inner span[aria-current="page"] {
    color: #9298a8;
}


/* ==========================================================
   57. CONTACTS — HERO
   ========================================================== */

.contacts57-hero {
    padding: 64px 0 88px;

    background: #eceff5;
}

.contacts57-stack {
    display: grid;
    gap: 28px;
}

.contacts57-hero__title {
    max-width: 900px;

    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.035em;
}

.contacts57-hero__text {
    max-width: 800px;

    margin: 0;

    color: #626b80;

    font-size: 18px;
    line-height: 1.65;
}


/* ==========================================================
   CONTACT CHANNELS
   ========================================================== */

.contacts57-channels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;

    max-width: 900px;

    margin: 8px 0 0;
}

.contacts57-channel {
    display: grid;
    gap: 12px;

    margin: 0;
    padding: 24px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, .05),
        0 10px 24px -8px rgba(16, 20, 38, .14);
}

.contacts57-channel dt {
    color: #626b80;

    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.contacts57-channel dd {
    display: grid;
    gap: 8px;

    margin: 0;
}

.contacts57-channel__value {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;

    text-decoration: none;
}

.contacts57-channel__value:hover {
    color: #5a3ef5;
}

.contacts57-channel p {
    margin: 0;

    color: #626b80;

    font-size: 15px;
    line-height: 1.55;
}


/* ==========================================================
   CONTACT BUTTONS
   ========================================================== */

.contacts57-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.contacts57-button {
    min-height: 54px;

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

    padding: 0 26px;

    border-radius: 999px;

    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

.contacts57-button--primary {
    border: 1px solid #4a2fdd;

    background:
        linear-gradient(
            180deg,
            #6f55f7 0%,
            #5a3ef5 52%,
            #4b30e2 100%
        );

    color: #ffffff;

    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, .18),
        0 1px 2px rgba(16, 20, 38, .10),
        0 10px 22px -8px rgba(90, 62, 245, .55);
}

.contacts57-button--primary:hover {
    color: #ffffff;
    transform: translateY(-2px);
}

.contacts57-button--secondary {
    border: 1px solid #cfd6e4;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fc 55%,
            #edf0f7 100%
        );

    color: #101426;

    box-shadow:
        inset 0 -1px 0 rgba(16, 20, 38, .07),
        0 1px 2px rgba(16, 20, 38, .07),
        0 10px 22px -10px rgba(16, 20, 38, .30);
}

.contacts57-button--secondary:hover {
    border-color: #5a3ef5;
    color: #5a3ef5;

    transform: translateY(-2px);
}


/* ==========================================================
   MESSENGERS
   ========================================================== */

.contacts57-messengers {
    margin-top: -12px;
}

.contacts57-messenger {
    min-height: 44px;
    padding: 0 20px;

    font-size: 14px;
}


/* ==========================================================
   HERO RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {

    .contacts57-breadcrumbs__inner {
        min-height: 44px;

        font-size: 13px;
    }

    .contacts57-hero {
        padding: 42px 0 64px;
    }

    .contacts57-hero__title {
        font-size: 38px;
    }

    .contacts57-hero__text {
        font-size: 16px;
        line-height: 1.6;
    }

    .contacts57-channels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {

    .contacts57-hero__title {
        font-size: 32px;
    }

    .contacts57-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .contacts57-button {
        width: 100%;
    }

    .contacts57-channel {
        padding: 20px;
    }

    .contacts57-channel__value {
        font-size: 20px;
    }
}
/* ==========================================================
   57. CONTACTS — OFFICE
   ========================================================== */

.contacts57-section {
    padding: 96px 0;
}

.contacts57-office-section {
    background: #ffffff;
}

.contacts57-office {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
    gap: 64px;
    align-items: start;
}

.contacts57-section-heading {
    display: grid;
    gap: 14px;
}

.contacts57-section-title {
    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(30px, 3.1vw, 46px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.contacts57-section-lead {
    margin: 0;

    color: #101426;

    font-size: 18px;
    line-height: 1.55;
    font-weight: 600;
}


/* ==========================================================
   OFFICE DETAILS
   ========================================================== */

.contacts57-details {
    display: grid;

    margin: 0;

    border-top: 1px solid #e2e7f0;
}

.contacts57-details__row {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 24px;

    padding: 20px 0;

    border-bottom: 1px solid #e2e7f0;
}

.contacts57-details__row dt {
    color: #626b80;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.contacts57-details__row dd {
    margin: 0;

    color: #101426;

    font-size: 16px;
    line-height: 1.55;
}

.contacts57-note {
    max-width: 760px;

    margin: 0;

    color: #626b80;

    font-size: 16px;
    line-height: 1.6;
}


/* ==========================================================
   OFFICE MAP
   ========================================================== */

.contacts57-map {
    overflow: hidden;

    margin: 0;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, .05),
        0 12px 28px -10px rgba(16, 20, 38, .14);
}

.contacts57-map__image,
.contacts57-map__placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
}

.contacts57-map__image {
    display: block;

    object-fit: cover;
}

.contacts57-map__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle,
            rgba(90, 62, 245, .12) 1px,
            transparent 1px
        ),
        #eef1f7;

    background-size: 20px 20px;

    color: #7a8193;

    font-size: 14px;
}

.contacts57-map figcaption {
    padding: 18px 20px;

    border-top: 1px solid #e2e7f0;

    color: #626b80;

    font-size: 14px;
    line-height: 1.5;
}


/* ==========================================================
   OFFICE RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .contacts57-section {
        padding: 72px 0;
    }

    .contacts57-office {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contacts57-map {
        max-width: 640px;
    }
}

@media (max-width: 600px) {

    .contacts57-section {
        padding: 56px 0;
    }

    .contacts57-details__row {
        grid-template-columns: 1fr;
        gap: 6px;

        padding: 16px 0;
    }

    .contacts57-section-lead {
        font-size: 16px;
    }

    .contacts57-map {
        border-radius: 16px;
    }
}
/* ==========================================================
   57. CONTACTS — SERVICE AREA
   ========================================================== */

.contacts57-section--paper {
    background: #eceff5;
}


/* Общая двухколоночная сетка для внутренних блоков контактов */

.contacts57-split {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(340px, 460px);

    gap: 64px;
    align-items: start;
}


/* ==========================================================
   AREA — LEFT
   ========================================================== */

.contacts57-section--paper .contacts57-stack {
    align-content: start;
}

.contacts57-section--paper .contacts57-section-heading {
    gap: 14px;
}

.contacts57-section--paper .contacts57-note {
    max-width: 720px;
}


/* ==========================================================
   AREA — CITIES CARD
   ========================================================== */

.contacts57-area__cities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin: 0;
    padding: 24px;

    list-style: none;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, .05),
        0 10px 24px -8px rgba(16, 20, 38, .14);
}

.contacts57-area__city {
    position: relative;

    min-height: 42px;

    display: flex;
    align-items: center;

    padding: 8px 14px 8px 32px;

    border-radius: 12px;

    background: #f5f7fb;

    color: #101426;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
}

.contacts57-area__city::before {
    content: "";

    position: absolute;
    left: 14px;
    top: 50%;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #5a3ef5;

    transform: translateY(-50%);
}


/* ==========================================================
   AREA — NOTE / MINIMUM
   ========================================================== */

.contacts57-area__minimum {
    margin: 0;
    padding: 18px 20px;

    border: 1px solid #e2e7f0;
    border-radius: 16px;

    background: #ffffff;

    color: #626b80;

    font-size: 14px;
    line-height: 1.55;
}

.contacts57-area__minimum strong {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 600;
}


/* ==========================================================
   AREA RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .contacts57-split {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}

@media (max-width: 600px) {

    .contacts57-area__cities {
        grid-template-columns: 1fr;

        padding: 18px;
    }

    .contacts57-area__city {
        min-height: 40px;
    }

}
/* ==========================================================
   57. CONTACTS — REQUISITES
   ========================================================== */

.contacts57-requisites {
    margin: 0;

    overflow: hidden;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, .05),
        0 10px 24px -8px rgba(16, 20, 38, .14);
}


/* одна строка */

.contacts57-requisites__row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 24px;

    padding: 18px 22px;

    border-bottom: 1px solid #e2e7f0;
}

.contacts57-requisites__row:last-child {
    border-bottom: 0;
}


/* подпись */

.contacts57-requisites__label {
    color: #7a8193;

    font-size: 14px;
    line-height: 1.45;
}


/* значение */

.contacts57-requisites__value {
    min-width: 0;

    color: #101426;

    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;

    overflow-wrap: anywhere;
}


/* email в левом тексте */

#requisites .contacts57-note a {
    color: #5a3ef5;

    font-weight: 600;
    text-decoration: none;
}

#requisites .contacts57-note a:hover {
    text-decoration: underline;
}


/* ==========================================================
   REQUISITES RESPONSIVE
   ========================================================== */

@media (max-width: 600px) {

    .contacts57-requisites__row {
        grid-template-columns: 1fr;
        gap: 5px;

        padding: 16px 18px;
    }

    .contacts57-requisites__label {
        font-size: 13px;
    }

    .contacts57-requisites__value {
        font-size: 15px;
    }

}
/* ==========================================================
   57. CONTACTS — OFFICE MAP EMBED
   ========================================================== */

.contacts57-map__embed {
    width: 100%;
    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #eef1f7;
}

.contacts57-map__embed iframe {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 100%;

    border: 0;
}

.contacts57-map__embed > div {
    width: 100%;
    height: 100%;
}

@media (max-width: 600px) {

    .contacts57-map__embed {
        aspect-ratio: 16 / 11;
    }

}
/* ==========================================================
   57. CONTACTS — AREA CONDITIONS CARD
   ========================================================== */

.contacts57-section--paper
.contacts57-split
> .contacts57-stack:nth-child(2) {
    align-content: start;

    gap: 0;

    padding: 24px;

    border: 1px solid #e2e7f0;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(16, 20, 38, .05),
        0 10px 24px -8px rgba(16, 20, 38, .14);
}

.contacts57-section--paper
.contacts57-split
> .contacts57-stack:nth-child(2)
.contacts57-note {
    padding-bottom: 20px;

    border-bottom: 1px solid #e2e7f0;
}

.contacts57-section--paper
.contacts57-area__minimum {
    padding: 20px 0 0;

    border: 0;
    border-radius: 0;

    background: transparent;
}


/* mobile */

@media (max-width: 600px) {

    .contacts57-section--paper
    .contacts57-split
    > .contacts57-stack:nth-child(2) {
        padding: 20px;
    }

}
/* ==========================================================
   57. CONTACTS — LOWER SECTIONS SPACING
   ========================================================== */

.contacts57-section--paper {
    padding-bottom: 64px;
}

.contacts57-section--paper + .contacts57-section {
    padding-top: 48px;
}
@media (max-width: 600px) {

    .contacts57-section--paper {
        padding-bottom: 48px;
    }

    .contacts57-section--paper + .contacts57-section {
        padding-top: 32px;
    }

}
/* ==========================================================
   57. CONTACTS — FINAL GRID TUNING
   ========================================================== */

/* Телефон и email занимают всю ширину контентного контейнера */
.contacts57-channels {
    width: 100%;
    max-width: none;
}


/* Основные внутренние секции — две равные колонки */
.contacts57-office,
.contacts57-split {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 48px;
}


/* Карта и карточки правой колонки не сужаются */
.contacts57-map,
.contacts57-requisites {
    width: 100%;
}


/* На планшете снова одна колонка */
@media (max-width: 900px) {

    .contacts57-office,
    .contacts57-split {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}
/* ==========================================================
   HEADER — CITY PICKER
   ========================================================== */

.home51-city-picker {
    position: relative;
    flex: 0 0 auto;
}

.home51-city-picker__button {
    border: 1px solid #e2e4eb;
    background: #fff;
    cursor: pointer;
}

.home51-city-picker__arrow {
    margin-left: 3px;

    color: #777d8d;

    font-size: 13px;
    line-height: 1;

    transition: transform .2s ease;
}

.home51-city-picker.is-open .home51-city-picker__arrow {
    transform: rotate(180deg);
}


/* Выпадающее окно */

.home51-city-picker__panel {
    position: absolute;
    z-index: 300;

    top: calc(100% + 10px);
    left: 0;

    width: 360px;
    max-width: calc(100vw - 32px);

    padding: 18px;

    border: 1px solid #e0e5ee;
    border-radius: 20px;

    background: #fff;

    box-shadow:
        0 20px 50px rgba(16, 20, 38, .16),
        0 4px 12px rgba(16, 20, 38, .08);
}

.home51-city-picker__panel[hidden] {
    display: none;
}


/* Верхняя строка */

.home51-city-picker__head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 14px;
}

.home51-city-picker__title {
    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
}

.home51-city-picker__close {
    width: 32px;
    height: 32px;

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

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #f1f3f8;
    color: #626b80;

    cursor: pointer;

    font-size: 20px;
    line-height: 1;
}


/* Поиск */

.home51-city-picker__search {
    margin-bottom: 14px;
}

.home51-city-picker__input {
    box-sizing: border-box;

    width: 100%;
    height: 44px;

    padding: 0 14px;

    border: 1px solid #dce2ec;
    border-radius: 12px;

    outline: none;

    background: #f8f9fc;
    color: #101426;

    font: inherit;
    font-size: 14px;
}

.home51-city-picker__input:focus {
    border-color: #5a3ef5;
    background: #fff;

    box-shadow:
        0 0 0 3px rgba(90, 62, 245, .10);
}


/* Список городов */

.home51-city-picker__list {
    max-height: 320px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 4px 8px;

    overflow-y: auto;

    padding-right: 4px;

    scrollbar-width: thin;
    scrollbar-color: #cfd5e1 transparent;
}

.home51-city-picker__item {
    min-width: 0;

    display: block;

    padding: 9px 10px;

    border-radius: 9px;

    color: #30364a;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.2;

    overflow-wrap: anywhere;
}

.home51-city-picker__item:hover {
    background: #f1efff;
    color: #5a3ef5;
}

.home51-city-picker__item.is-active {
    background: #ece8ff;
    color: #5a3ef5;

    font-weight: 700;
}


/* Ничего не найдено */

.home51-city-picker__empty {
    padding: 18px 6px 8px;

    color: #7a8296;

    text-align: center;

    font-size: 14px;
}


/* Узкие экраны */

@media (max-width: 480px) {

    .home51-city-picker__panel {
        width: calc(100vw - 32px);
        padding: 16px;
    }

    .home51-city-picker__list {
        grid-template-columns: 1fr;
    }

}
/* ==========================================================
   55. BLOG — MOBILE SPACING
   ========================================================== */

@media (max-width: 650px) {

    .blog55-hero {
        padding: 42px 0 36px;
    }

    .blog55-articles {
        padding-top: 16px;
        padding-bottom: 60px;
    }

}
/* ==========================================================
   55. BLOG — HERO / FILTERS SPACING
   ========================================================== */

.blog55-hero {
    padding-bottom: 28px;
}

.blog55-articles {
    padding-top: 0;
}

@media (max-width: 650px) {

    .blog55-hero {
        padding-bottom: 24px;
    }

    .blog55-articles {
        padding-top: 0;
    }

}
/* ==========================================================
   REVIEWS — FULL TEXT
   ========================================================== */

.home51-review-card__full {
    margin: 0 0 16px;

    color: #4f586d;

    font-size: 14px;
    line-height: 1.55;

    white-space: pre-line;
}

.home51-review-card__full[hidden] {
    display: none;
}

.home51-review-card.is-review-open {
    min-height: 0;
}
/* ==========================================================
   58. LEGAL PAGE
   ========================================================== */

.legal58 {
    background: #fff;
    color: #101426;
}

.legal58-breadcrumbs {
    border-bottom: 1px solid #e7eaf0;
    background: #f8f9fc;
}

.legal58-breadcrumbs__inner {
    min-height: 48px;

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

    color: #7a8193;

    font-size: 13px;
    line-height: 1.4;
}

.legal58-breadcrumbs a {
    color: #626b80;
    text-decoration: none;
}

.legal58-breadcrumbs a:hover {
    color: #5a3ef5;
}

.legal58-page {
    padding: 64px 0 88px;
}

.legal58-page__header {
    max-width: 900px;

    margin-bottom: 40px;
}

.legal58-page__title {
    margin: 0;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.legal58-page__content {
    max-width: 900px;

    color: #3f4759;

    font-size: 16px;
    line-height: 1.7;
}

.legal58-page__content h2 {
    margin: 44px 0 16px;

    color: #101426;

    font-family: Geologica, system-ui, sans-serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;
}

.legal58-page__content h3 {
    margin: 32px 0 12px;

    color: #101426;

    font-size: 19px;
    line-height: 1.35;
    font-weight: 600;
}

.legal58-page__content p {
    margin: 0 0 16px;
}

.legal58-page__content ul,
.legal58-page__content ol {
    margin: 0 0 20px;
    padding-left: 24px;
}

.legal58-page__content li {
    margin-bottom: 8px;
}

.legal58-page__content a {
    color: #5a3ef5;
}

.legal58-page__content strong {
    color: #101426;
}

@media (max-width: 600px) {

    .legal58-page {
        padding: 40px 0 64px;
    }

    .legal58-page__header {
        margin-bottom: 28px;
    }

    .legal58-page__content {
        font-size: 15px;
        line-height: 1.65;
    }

    .legal58-page__content h2 {
        margin-top: 36px;
        font-size: 21px;
    }
}
/* Стрелки выпадающих списков в шапке */
.home51-header .home51-header__services-arrow,
.home51-header .home51-city-picker__button > .home51-city-picker__arrow {
    position: static;
    top: auto;

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

    width: 14px;
    height: 14px;
    flex: 0 0 14px;

    font-size: 0;
    line-height: 0;

    transform-origin: 50% 50%;
    transition: transform .2s ease;
}

.home51-header__services-arrow::before,
.home51-city-picker__arrow::before {
    --arrow-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    content: "";
    display: block;
    width: 14px;
    height: 14px;

    background-color: currentColor;
    -webkit-mask: var(--arrow-icon) center / contain no-repeat;
    mask: var(--arrow-icon) center / contain no-repeat;
}
/* Одинаковый визуальный размер мессенджеров в шапке */
.home51-header .home51-header__messengers a {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    flex: 0 0 40px;

    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.home51-header .home51-header__messengers img {
    display: block;

    width: 32px;
    height: 32px;
    max-width: none;
    max-height: none;

    object-fit: contain;
}

/* Компенсируем прозрачные поля внутри Telegram SVG */
.home51-header .home51-header__messengers img[src$="/telegram.svg"] {
    width: 38.4px;
    height: 38.4px;
}
/* Кнопки мессенджеров на первом экране */
.home51-hero .home51-messenger-pill {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;

    min-width: 136px;
    height: 54px;
    padding: 0 16px;
    box-sizing: border-box;

    border: 1px solid #dce2ec;
    border-radius: 999px;
    background: #fff;
    color: #111427;
    text-decoration: none;

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

.home51-messenger-pill__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
}

.home51-messenger-pill__icon img {
    display: block;
    width: 30px;
    height: 30px;
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.home51-messenger-pill__icon img[src$="/telegram.svg"] {
    transform: scale(1.2);
}

.home51-messenger-pill__text {
    display: grid;
    gap: 3px;
    text-align: left;
}

.home51-messenger-pill__text strong {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}

.home51-messenger-pill__text small {
    color: #747b89;
    font-size: 12px;
    line-height: 1.2;
}

.home51-hero .home51-messenger-pill:hover {
    border-color: #c9bfff;
    background: #f8f7ff;
}

.home51-hero .home51-messenger-pill:focus-visible {
    outline: 2px solid #5a3ef5;
    outline-offset: 3px;
}

@media (max-width: 480px) {
    .home51-hero .home51-messenger-pill {
        width: 100%;
        min-width: 0;
        justify-content: center;
        padding: 0 10px;
        gap: 8px;
    }
}
/* Отступы конкретных секций с избыточным пространством */
main.home51 {
    --section-spacing: 48px;
}

main.home51 > :is(
    .home51-calculator,
    .home51-services,
    .home51-prices,
    .home51-scope,
    .home51-excluded,
    .home51-reasons,
    .home51-equipment,
    .home51-guarantees,
    .home51-cases,
    .home51-team,
    .home51-process,
    .home51-subscription,
    .home51-promos,
    .home51-order-process,
    .home51-reviews,
    .home51-faq,
    .home51-cta
) {
    padding-top: var(--section-spacing);
    padding-bottom: var(--section-spacing);
}

@media (max-width: 767px) {
    main.home51 {
        --section-spacing: 32px;
    }
}
/* Убираем лишний отступ перед переключателями тарифов */
.home51-scope .home51-section-heading {
    margin-bottom: 0;
}
/* Пока видео и текстовые отзывы скрыты */
.home51-reviews .home51-reviews__ratings {
    margin-bottom: 0;
}
/* ОТСТУПЫ НОВЫХ СТРАНИЦ */
main.about54,
main.blog55,
main.legal58 {
    --section-spacing: 48px;
}

/* Компания и текстовый блок: уменьшаем только нижний отступ */
main.home51 > .home51-company,
main.home51 > .home51-about-detail {
    padding-bottom: var(--section-spacing, 48px);
}

/* Крупные промежутки на страницах «О компании» и «Контакты» */
main.about54 > .about54-section,
main.home51.contacts57 > .contacts57-section {
    padding-top: var(--section-spacing, 48px);
    padding-bottom: var(--section-spacing, 48px);
}

/* Нижний отступ первых экранов внутренних страниц */
main.about54 > .about54-hero,
main.home51.contacts57 > .contacts57-hero {
    padding-bottom: var(--section-spacing, 48px);
}

/* Нижние отступы блога и документов */
main.blog55 > .blog55-articles,
main.legal58 > .legal58-page {
    padding-bottom: var(--section-spacing, 48px);
}

/* «О компании»: текст сразу после заголовка контактной панели */
.about54-contacts .about54-contacts__content {
    justify-content: flex-start;
}

/* Убираем сложение отступов перед контактными кнопками */
.about54-contacts .about54-contacts__panel {
    row-gap: 32px;
}

.about54-contacts .about54-contacts__actions {
    margin-top: 0;
    padding-top: 0;
}

/* Первый экран главной и услуг на компьютере и планшете */
@media (min-width: 768px) {
    main.home51 > .home51-hero {
        padding-top: 64px;
        padding-bottom: 48px;
    }
}

/* Телефоны */
@media (max-width: 767px) {
    main.about54,
    main.blog55,
    main.legal58 {
        --section-spacing: 32px;
    }

    .about54-contacts .about54-contacts__panel {
        row-gap: 24px;
    }
}
/* Логотип: исходное изображение без масштабирования */
.home51-header__brand-mark {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.home51-header__brand-mark img,
.home51-mobile-menu__brand img {
    display: block;
    width: 32px;
    height: 32px;
    min-width: 32px;
    max-width: 32px;
    flex: 0 0 32px;
    object-fit: contain;
}
/* Header messenger buttons: desktop, mobile topbar and mobile menu. */
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) { gap: 8px; }
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: #141a34;
    box-shadow: none;
}
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) a:hover { background: #252d50; }
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) a:focus-visible {
    outline: 3px solid #7964fa;
    outline-offset: 3px;
}
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) a img {
    display: block;
    width: 22px;
    height: 22px;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
}
:is(.home51-header .home51-header__messengers, .home51-topbar .home51-topbar__mobile-messengers, .home51-mobile-menu .home51-mobile-menu__messengers) a img[src$="telegram-white.svg"] {
    width: 30px;
    height: 30px;
    max-width: 30px;
    max-height: 30px;
}
@media (max-width: 900px) {
    .home51-topbar { height: auto; }
    .home51-topbar__inner { min-height: 48px; }
    .home51-topbar .home51-topbar__mobile-messengers a { border-color: rgba(255,255,255,.3); }
}
