:root {
    --main-red-color: #d81d45;
    --main-blue-color: #0b72b9;
    --blue-color: #0f72ba;
}

.section_form .btn-green {
    width: 430px;
}

.services .btn-green {
    width: 100%
}

.b24_tabs_content .btn-green {
    width: 100%;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 20px;
}

.b24_consult .btn-green {
    width: 45%;
    margin-right: 30px;
    text-transform: uppercase;
}

.b24_crm_button .btn-green {
    width: 100%;
    text-transform: uppercase;
}

.b24_serv .btn-green {
    width: 100%;
    text-transform: uppercase;
}

@media (max-width: 1024px) {
    .b24_consult .btn-green {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .b24_consult .btn-green, .b24_consult .btn-outline {
        font-size: 16px;
    }

    .b24_crm_button .btn-green {
        font-size: 14px;
    }
}

/*.header-controls .open-callback-desktop-form {
    width: auto;
    min-width: 190px;
    padding: 0 25px;
    margin-right: 12px;
    background: #FFF;
    font-size: 17px;
    color: var(--main-blue-color);
    line-height: 30px;
    height: 32px;
    border: 1px solid #FFF;
}*/
/*.header-controls .open-callback-desktop-form:hover {
    background: transparent;
}*/

/*.mobile_top .open-callback-desktop-form {
    width: 128px;
    font-size: 12px;
    line-height: 32px;
    height: 32px;
}*/

.btn-green {
    display: inline-block;
    width: 175px;
    max-width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #CAE652;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    line-height: 40px;
    color: #fff;
    -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15), 0px -1px 5px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15), 0px -1px 5px rgba(0, 0, 0, 0.05);
    cursor: pointer;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.btn-green:hover {
    opacity: 0.8;
}

.callback-btn:hover {
    opacity: 0.8;
}

.btn-green.disabled {
    color: #919699;
    background: #C6CACC;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default;
}

.btn-green.disabled:hover {
    color: #919699;
    background: #C6CACC;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default;
}

.callback-form {
    position: absolute;
    display: none;
    z-index: 500;
    right: 0;
    top: 335px;
    width: 450px;
    padding: 32px;
    -webkit-box-shadow: 0px 9px 23px rgba(0, 0, 0, 0.04), 0px 24px 20px rgba(0, 0, 0, 0.15), 0px -10px 20px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 9px 23px rgba(0, 0, 0, 0.04), 0px 24px 20px rgba(0, 0, 0, 0.15), 0px -10px 20px rgba(0, 0, 0, 0.05);
    background: #fff;
}

.callback-form h5 {
    margin-bottom: 16px;
    text-align: center;
}

.callback-form.callback-mobile-form {
    z-index: 8;
    top: 108px;
    left: 0;
    right: 0;
    width: 100%;
    padding: 52px 16px 32px;
    -webkit-box-shadow: 0px 9px 23px rgba(0, 0, 0, 0.04), 0px 24px 20px rgba(0, 0, 0, 0.15), 0px -10px 20px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 9px 23px rgba(0, 0, 0, 0.04), 0px 24px 20px rgba(0, 0, 0, 0.15), 0px -10px 20px rgba(0, 0, 0, 0.05);
}

.callback-form.callback-mobile-form .callback-form__close {
    top: 18px;
    right: 18px;
}

.callback-form.callback-mobile-form input,
.callback-form.callback-mobile-form .btn-green,
.callback-form.callback-mobile-form .form-attention {
    max-width: 100%;
    width: 290px;
    margin-left: auto;
    margin-right: auto;
}

.callback-form input {
    display: block;
    width: 280px;
    max-width: 100%;
    height: 40px;
    margin: 0 auto 8px;
    padding: 8px;
    border: 1px solid #C6CACC;
    border-radius: 2px;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.callback-form input:hover,
.callback-form input:focus {
    border-color: #0f72ba;
}

.callback-form input.error {
    /*border-color: #EB2128;*/
    border-color: #DF1641;
}

.callback-form .btn-green {
    display: block;
    width: 280px;
    margin: 16px auto 0;
}

.callback-form .form-attention, .table_footer_basket .form-attention {
    margin-top: 16px;
    text-align: center;
    font-size: 12px;
    line-height: 16px;
    color: #5E6366;
}
.callback-form__contacts {
    width: 190px;
    margin: 20px auto 30px;
}

.callback-form__contact-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    color: #212121;
}

.callback-form__contact-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #212121;
}

.callback-form__contact-item a:hover {
    text-decoration: none;
}

.callback-form__contact-item.phone {
    font-weight: 700;
}

.callback-form__contact-item.phone span {
    font-size: 18px;
}

.callback-form__contact-item.mail {
    margin-top: 16px;
}

.callback-form__contact-item.mail a {
    color: #0f72ba;
}

.callback-form__contact-item span {
    display: block;
    width: 40px;
}

.callback-form__message, .standart-form__message {
    text-align: center;
}

.callback-form__message img, .standart-form__message img {
    margin-bottom: 16px;
}

.callback-form__message h5, .standart-form__message h5 {
    margin-bottom: 4px;
}

.callback-form .hide {
    display: none;
}

.callback-form__close {
    position: absolute;
    right: 12px;
    top: 12px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.callback-form__close:hover {
    opacity: 0.8;
}

.callback-form__close::before,
.callback-form__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    margin: -1px 0 0 -9px;
    background: #5e6366;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.callback-form__close::after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.callback-form__loading {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.5);
    display: none;
}
.callback-form__loading img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.loading > .callback-form__loading {
    display: block;
}
@media (max-width: 479px) {
    .callback-form.callback-mobile-form {
        top: 84px;
    }
}

.callback-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
.callback-btn img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.btn-green-full {
    display: inline-block;
    width: 232px;
    max-width: 100%;
    height: 54px;
    /*border: 1px solid #CAE652;*/
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    line-height: 40px;
    /*font-weight: 500;*/
    color: #000000;
    /*background: #EB2128;*/
    background: #CAE652;
    -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15), 0px -1px 5px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15), 0px -1px 5px rgba(0, 0, 0, 0.05);
    cursor: pointer;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    margin-top: 44px;
}

.btn-green-full:hover {
    opacity: 0.8;
}

.btn-green-full.disabled {
    color: #919699;
    background: #C6CACC;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default;
}

.btn-green-full.disabled:hover {
    color: #919699;
    background: #C6CACC;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default;
}

.btn-green-full a {
    font-family: 'Manrope', Arial, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
    font-weight: 700;
}

.btn-green-full:hover a {
    opacity: 0.8;
}

@media (max-width: 767px) {

    

    .main-technologies .technologies-list__tag {
        flex: 0 0 auto;

        width: auto;
        min-width: 0;
        height: 39px;
        min-height: 39px;

        padding: 0 10px;

        font-size: clamp(14px, 4vw, 16px);

        white-space: nowrap;
    }
}

.trust-technologies-area {
    /*
     * Исходник Figma:
     * 537 × 537 px, #417BD0 → #E65AA2, Layer blur 638.4.
     * CSS blur примерно вдвое меньше визуально ближе к Figma и заметно легче для браузера.
     */
    --trust-glow-size: 500px;
    --trust-glow-left: -120px;
    --trust-glow-top: 80px;
    --trust-glow-blur: 190px;
    --trust-glow-opacity: 0.82;

    position: relative;
    isolation: isolate;
    overflow-x: clip;   
}

.trust-technologies-area::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: var(--trust-glow-top);
    left: var(--trust-glow-left);
    width: var(--trust-glow-size);
    height: var(--trust-glow-size);
    border-radius: 50%;
    background: linear-gradient(
        180deg,
        #417bd0 0%,
        #e65aa2 100%
    );
    filter: blur(var(--trust-glow-blur));
    opacity: var(--trust-glow-opacity);
    pointer-events: none;
    user-select: none;
}

/* Весь контент двух секций располагается над декоративным светом. */
.trust-technologies-area > .page-section {
    position: relative;
    z-index: 1;
}

@media (max-width: 991.98px) {
    .trust-technologies-area {
        --trust-glow-size: 500px;
        --trust-glow-left: -120px;
        --trust-glow-top: 80px;
        --trust-glow-blur: 190px;
        --trust-glow-opacity: 0.82;
    }
}

@media (max-width: 767.98px) {
    .trust-technologies-area {
        --trust-glow-size: 500px;
        --trust-glow-left: -120px;
        --trust-glow-top: 80px;
        --trust-glow-blur: 190px;
        --trust-glow-opacity: 0.82;
    }
}


/*
 * Тот же самый эллипс,
 * только расположен справа.
 */
.trust-technologies-area--right::before {
    left: auto;
    right: var(--trust-glow-left);
    --trust-glow-top: -90px;
}



/* =========================================================
   БОЛЬШОЙ DESKTOP: от 1921 px
   Масштаб относительно версии 1440 px ≈ 1.84
   Контрольная ширина контента — 2103 px
   ========================================================= */
/* =========================================================
   ПРОМЕЖУТОЧНЫЙ DESKTOP: 1400–1920 px
   ========================================================= */
@media (min-width: 1400px) /*and (max-width: 1920px)*/ {
    .trust-technologies-area {
        --trust-glow-size: clamp(500px, calc(106.299px + 27.34vw), 631.234px);
        --trust-glow-left: clamp(-151.496px, calc(-25.512px + -6.562vw), -120px);
        --trust-glow-top: clamp(80px, calc(17.008px + 4.374vw), 100.997px);
        --trust-glow-blur: clamp(190px, calc(40.394px + 10.389vw), 239.869px);
    }
    .trust-technologies-area--right::before {
        --trust-glow-top: clamp(-113.622px, calc(-19.134px + -4.921vw), -90px);
    }
}

@media (min-width: 1921px) and (min-device-width: 2200px) {
    /* ---------- Фоновое свечение ---------- */
    /*
     * Плавное масштабирование от размеров на 1920 px
     * до большого desktop-макета на 2650 px.
     * После 2650 px clamp() удерживает максимальные значения.
     */

    .trust-technologies-area {
        --trust-glow-size: clamp(
            631.234px,
            calc(-128.260137px + 39.556986vw),
            920px
        );

        --trust-glow-left: clamp(
            -221px,
            calc(31.309041px - 9.521096vw),
            -151.496px
        );

        --trust-glow-top: clamp(
            100.997px,
            calc(-19.997192px + 6.301781vw),
            147px
        );

        --trust-glow-blur: clamp(
            239.869px,
            calc(-49.790616px + 15.086438vw),
            350px
        );
    }

    .trust-technologies-area--right::before {
        --trust-glow-top: clamp(
            -166px,
            calc(24.139315px - 7.175068vw),
            -113.622px
        );
    }
}