.site-footer {
    position: relative;
    overflow: hidden;
    color: #eefaff;
    background: radial-gradient(circle at 16% 15%, rgba(61, 209, 232, 0.22), transparent 28%), radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.12), transparent 24%), linear-gradient(135deg, #04172d 0%, #07345f 48%, #0794ad 100%);
}

    .site-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), transparent 15%), repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 18px);
        opacity: .55;
        pointer-events: none;
    }

    .site-footer::after {
        content: "";
        position: absolute;
        top: -84px;
        left: -6%;
        width: 112%;
        height: 140px;
        border-radius: 0 0 50% 50%;
        background: rgba(255, 255, 255, 0.10);
        filter: blur(.2px);
        pointer-events: none;
    }

    .site-footer .grid.wide {
        position: relative;
        z-index: 1;
    }

    .site-footer .footer-main {
        position: relative;
        padding: 78px 0 0;
    }

    .site-footer .footer-shell {
        display: grid;
        grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
        gap: 34px;
        align-items: start;
        padding-bottom: 45px;
    }

    .site-footer .footer-info {
        display: grid;
        grid-template-columns: minmax(210px, .82fr) minmax(0, 1fr);
        gap: 22px;
        min-width: 0;
    }

    .site-footer .footer-brand {
        position: relative;
        width: 100%;
        min-width: 0;
        padding: 20px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.08);
        box-shadow: 0 24px 70px rgba(0, 20, 45, 0.22);
        backdrop-filter: blur(12px);
    }

    .site-footer .footer-logo-wrap {
        display: flex;
        align-items: center;
        margin: 0 0 20px;
        justify-content: center;
    }

    .site-footer .footer-logo {
        display: block;
        width: min(115px, 100%);
        height: auto;
        object-fit: cover;
    }

    .site-footer .footer-brand-desc {
        max-width: 360px;
        margin: 0;
        color: rgba(238, 250, 255, 0.78);
        font-family: "Montserrat-Medium";
        font-size: 16px;
        font-weight: 500;
        line-height: 1.72;
        text-align: justify;
    }

    .site-footer .footer-content,
    .site-footer .center-menu-footer {
        width: 100%;
        min-width: 0;
        padding-left: 0;
    }

    .site-footer .footer-columns,
    .site-footer .t-menu-footer-c {
        display: grid;
        gap: 22px;
        align-items: start;
    }

    .site-footer .footer-lead-form {
        min-width: 0;
    }

    .site-footer .footer-cta-card {
        position: relative;
        overflow: hidden;
        min-height: 100%;
        padding: 20px 30px;
        border: 1px solid rgba(255, 255, 255, .20);
        border-radius: 18px;
        background: radial-gradient(circle at 96% 8%, rgba(112, 231, 239, .30), transparent 28%), linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .07));
        box-shadow: 0 28px 78px rgba(0, 18, 38, .28);
        backdrop-filter: blur(14px);
        transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    }

        .site-footer .footer-cta-card:hover {
            transform: translateY(-5px);
            border-color: rgba(112, 231, 239, .44);
            box-shadow: 0 34px 92px rgba(0, 18, 38, .34);
        }

        .site-footer .footer-cta-card::before {
            content: "";
            position: absolute;
            right: -70px;
            top: -78px;
            width: 210px;
            height: 210px;
            border: 1px solid rgba(255, 255, 255, .20);
            border-radius: 50%;
            pointer-events: none;
        }

        .site-footer .footer-cta-card .lead-form-title {
            color: #ffffff;
        }

        .site-footer .footer-cta-card .lead-form-desc {
            color: rgba(238, 250, 255, .78);
        }

    .site-footer .footer-open-lead {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        min-height: 56px;
        margin-top: 6px;
        border: 0;
        border-radius: 999px;
        color: #043050;
        cursor: pointer;
        background: linear-gradient(135deg, #ffffff 0%, #70e7ef 58%, #ffbd55 130%);
        box-shadow: 0 20px 46px rgba(32, 168, 200, .30);
        font-family: "Montserrat-Bold";
        font-size: 16px;
        font-weight: 800;
        transition: transform .26s ease, box-shadow .26s ease, filter .26s ease;
    }

        .site-footer .footer-open-lead i {
            font-size: 13px;
            transition: transform .26s ease;
        }

        .site-footer .footer-open-lead:hover {
            transform: translateY(-3px);
            filter: saturate(1.08);
            box-shadow: 0 24px 58px rgba(32, 168, 200, .42);
        }

            .site-footer .footer-open-lead:hover i {
                transform: translateX(5px);
            }

    .site-footer .footer-cta-note {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 18px;
    }

        .site-footer .footer-cta-note span {
            display: inline-flex;
            align-items: center;
            min-height: 30px;
            padding: 6px 11px;
            border: 1px solid rgba(255, 255, 255, .16);
            border-radius: 999px;
            color: rgba(238, 250, 255, .80);
            background: rgba(255, 255, 255, .08);
            font-family: "Montserrat-SemiBold";
            font-size: 14px;
            font-weight: 700;
        }

    .site-footer .lead-form-card {
        position: relative;
        overflow: hidden;
        padding: 30px;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 24px;
        background: radial-gradient(circle at 100% 0, rgba(112, 231, 239, .18), transparent 32%), linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(234, 251, 255, .90));
        box-shadow: 0 28px 78px rgba(0, 18, 38, .28);
        color: #123f4b;
        transition: transform .3s ease, box-shadow .3s ease;
    }

        .site-footer .lead-form-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 34px 92px rgba(0, 18, 38, .34);
        }

        .site-footer .lead-form-card::before {
            content: "";
            position: absolute;
            right: -70px;
            top: -78px;
            width: 190px;
            height: 190px;
            border: 1px solid rgba(32, 168, 200, .18);
            border-radius: 50%;
            pointer-events: none;
        }

    .site-footer .lead-form-kicker {
        display: inline-flex;
        margin-bottom: 12px;
        color: #00BCD4;
        font-family: "Montserrat-Bold";
        font-size: 15px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .site-footer .lead-form-title {
        margin: 0;
        color: #123f4b;
        font-family: "Montserrat-Bold";
        font-size: 18px;
        font-weight: 800;
        line-height: 1.18;
    }

    .site-footer .lead-form-desc {
        margin: 12px 0 18px;
        color: #5a7680;
        font-family: "Montserrat-Medium";
        font-size: 16px;
        font-weight: 500;
        line-height: 1.62;
    }

    .site-footer .lead-form-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .site-footer .lead-form-group {
        min-width: 0;
    }

    .site-footer .lead-form-group-full {
        grid-column: 1 / -1;
    }

    .site-footer .lead-form-group label {
        display: block;
        margin-bottom: 7px;
        color: #214c57;
        font-family: "Montserrat-SemiBold";
        font-size: 15px;
        font-weight: 700;
        line-height: 1.35;
    }

        .site-footer .lead-form-group label span {
            color: #ff9f2e;
        }

    .site-footer .lead-form-control {
        display: block;
        width: 100%;
        min-height: 48px;
        padding: 12px 14px;
        border: 1px solid rgba(32, 168, 200, .22);
        border-radius: 14px;
        outline: none;
        color: #123f4b;
        background: rgba(255, 255, 255, .88);
        font-family: "Montserrat-Medium";
        font-size: 16px;
        font-weight: 500;
        transition: border-color .24s ease, box-shadow .24s ease, background .24s ease;
    }

    .site-footer .lead-date-control {
        position: relative;
    }

        .site-footer .lead-date-control i {
            position: absolute;
            top: 50%;
            right: 14px;
            color: #20a8c8;
            font-size: 15px;
            pointer-events: none;
            transform: translateY(-50%);
        }

        .site-footer .lead-date-control .lead-form-control {
            padding-right: 44px;
        }

    .site-footer .lead-form-control:focus {
        border-color: #20a8c8;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(32, 168, 200, .13);
    }

    .site-footer .lead-form-control.input-validation-error {
        border-color: #ff8460;
        background: #fff8f5;
        box-shadow: 0 0 0 4px rgba(255, 132, 96, .12);
    }

    .site-footer textarea.lead-form-control {
        resize: vertical;
        min-height: 92px;
    }

    .site-footer .lead-form-hint {
        display: block;
        margin-top: 6px;
        color: #6c8790;
        font-family: "Montserrat-Medium";
        font-size: 14px;
        font-weight: 500;
        line-height: 1.4;
    }

    .site-footer .lead-field-error {
        display: block;
        margin-top: 7px;
        color: #d45638;
        font-family: "Montserrat-SemiBold";
        font-size: 12px;
        font-weight: 700;
        line-height: 1.35;
    }

    .site-footer .lead-submit-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 54px;
        margin-top: 18px;
        border: 0;
        border-radius: 999px;
        color: #ffffff;
        cursor: pointer;
        background: linear-gradient(135deg, #0d6f91, #20a8c8 52%, #ffb23f 130%);
        box-shadow: 0 18px 40px rgba(32, 168, 200, .28);
        font-family: "Montserrat-Bold";
        font-size: 15px;
        font-weight: 800;
        transition: transform .26s ease, box-shadow .26s ease, filter .26s ease;
    }

        .site-footer .lead-submit-btn:hover {
            transform: translateY(-3px);
            filter: saturate(1.1);
            box-shadow: 0 22px 52px rgba(32, 168, 200, .38);
        }

    .site-footer .lead-form-message {
        margin: 0 0 16px;
        padding: 12px 14px;
        border-radius: 14px;
        font-family: "Montserrat-SemiBold";
        font-size: 13px;
        font-weight: 700;
        line-height: 1.5;
    }

        .site-footer .lead-form-message.success {
            color: #0c5c42;
            background: rgba(40, 199, 135, .14);
            border: 1px solid rgba(40, 199, 135, .28);
        }

        .site-footer .lead-form-message.error {
            color: #9b2e20;
            background: rgba(255, 132, 96, .14);
            border: 1px solid rgba(255, 132, 96, .30);
        }

    .site-footer .lead-honeypot {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
        opacity: 0;
        pointer-events: none;
    }

    .site-footer .footer-lead-modal {
        position: fixed;
        inset: 0;
        z-index: 9999;
        display: grid;
        place-items: center;
        padding: 24px;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .28s ease, visibility .28s ease;
    }

        .site-footer .footer-lead-modal.is-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

    .site-footer .footer-lead-overlay {
        position: absolute;
        inset: 0;
        border: 0;
        cursor: pointer;
        background: rgba(2, 17, 34, .66);
        backdrop-filter: blur(8px);
    }

    .site-footer .footer-lead-dialog {
        position: relative;
        z-index: 1;
        width: min(760px, 100%);
        max-height: min(88vh, 760px);
        overflow: auto;
        border-radius: 28px;
        transform: translateY(24px) scale(.96);
        transition: transform .32s cubic-bezier(.2, .8, .2, 1);
        scrollbar-width: thin;
    }

    .site-footer .footer-lead-modal.is-open .footer-lead-dialog {
        transform: translateY(0) scale(1);
    }

    .site-footer .footer-lead-dialog .lead-form-card {
        margin: 0;
        border-radius: 28px;
    }

    .site-footer .footer-lead-close {
        position: absolute;
        top: 16px;
        right: 16px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border: 0;
        border-radius: 50%;
        color: #123f4b;
        cursor: pointer;
        background: rgba(255, 255, 255, .82);
        box-shadow: 0 14px 30px rgba(0, 18, 38, .16);
        transition: transform .24s ease, background .24s ease, color .24s ease;
    }

        .site-footer .footer-lead-close:hover {
            color: #ffffff;
            background: #20a8c8;
            transform: rotate(90deg);
        }

body.footer-lead-lock {
    overflow: hidden;
}

.site-footer .footer-panel {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 24px 24px 14px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 20px 54px rgba(0, 20, 45, 0.12);
    transition: transform .28s ease, border-color .28s ease, background .28s ease;
}

    .site-footer .footer-panel:hover {
        transform: translateY(-4px);
        border-color: rgba(112, 231, 239, 0.32);
        background: rgba(255, 255, 255, 0.10);
    }

.site-footer .footer-contact {
    background: radial-gradient(circle at 100% 0, rgba(112, 231, 239, 0.14), transparent 34%), rgba(255, 255, 255, 0.075);
}

.site-footer .footer-nav-title {
    position: relative;
    margin: 0 0 23px;
    padding: 0 0 14px;
    color: #ffffff;
    font-family: "Montserrat-Bold";
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

    .site-footer .footer-nav-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 48px;
        height: 3px;
        border-radius: 99px;
        background: linear-gradient(90deg, #38d6e7, #ffffff);
        box-shadow: 0 0 18px rgba(56, 214, 231, 0.45);
    }

.site-footer .des-footer-ll {
    margin: 0;
}

    .site-footer .des-footer-ll p,
    .site-footer .footer-contact section p {
        position: relative;
        margin: 0 0 15px;
        padding-left: 27px;
        color: rgba(238, 250, 255, 0.82);
        font-family: "Montserrat-Medium";
        font-size: 15px;
        font-weight: 500;
        line-height: 1.58;
    }

        .site-footer .des-footer-ll p::before {
            content: "\f3c5";
            position: absolute;
            top: 0px;
            left: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            color: #041f36;
            background: linear-gradient(135deg, #ffffff, #70e7ef);
            font-family: "Font Awesome 5 Free", FontAwesome;
            font-size: 11px;
            font-weight: 900;
            box-shadow: 0 10px 24px rgba(4, 23, 45, 0.22);
        }

        .site-footer .des-footer-ll p:nth-child(2)::before {
            content: "\f0e0";
        }

        .site-footer .des-footer-ll p:nth-child(3)::before {
            content: "\f0ac";
        }

        .site-footer .des-footer-ll p:nth-child(4)::before {
            content: "\f095";
        }

.site-footer .w-hotline-footer {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 12px 16px 12px 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    transition: transform .28s ease, background .28s ease, border-color .28s ease;
}

    .site-footer .w-hotline-footer:hover {
        transform: translateY(-2px);
        border-color: rgba(112, 231, 239, 0.54);
        background: rgba(255, 255, 255, 0.15);
    }

.site-footer .svg-footer-hotline {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #ffffff;
}

    .site-footer .svg-footer-hotline svg {
        width: 22px;
        height: auto;
    }

        .site-footer .svg-footer-hotline svg path {
            fill: #087ca6;
        }

.site-footer .c-footer-hotline {
    margin: 0;
}

    .site-footer .c-footer-hotline span {
        display: block;
        margin-bottom: 2px;
        color: rgba(238, 250, 255, 0.70);
        font-family: "Montserrat-Medium";
        font-size: 12px;
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .site-footer .c-footer-hotline a {
        display: block;
        color: #ffffff;
        font-family: "Montserrat-SemiBold";
        font-size: 22px;
        font-weight: 700;
        line-height: 1.12;
        transition: color .25s ease;
    }

        .site-footer .c-footer-hotline a:hover {
            color: #70e7ef;
        }

.site-footer .footer-links .list,
.site-footer .footer-panel .list {
    display: grid;
    gap: 8px;
    margin: 0;
}

    .site-footer .footer-links .list a,
    .site-footer .footer-panel .list a {
        position: relative;
        display: inline-flex;
        align-items: center;
        width: fit-content;
        max-width: 100%;
        min-height: 32px;
        padding-left: 13px;
        color: rgba(238, 250, 255, 0.78);
        font-family: "Montserrat-Medium";
        font-size: 15px;
        font-weight: 500;
        line-height: 1.45;
        transition: color .25s ease, transform .25s ease;
    }

        .site-footer .footer-links .list a.footer-landing-link,
        .site-footer .footer-panel .list a.footer-landing-link {
            border-radius: 12px;
        }

        .site-footer .footer-links .list a::before,
        .site-footer .footer-panel .list a::before {
            content: "";
            position: absolute;
            left: 0;
            width: 7px;
            height: 7px;
            border-radius: 2px;
            background: #70e7ef;
            transform: rotate(45deg);
            transition: background .25s ease, box-shadow .25s ease;
        }

        .site-footer .footer-links .list a::after,
        .site-footer .footer-panel .list a::after {
            content: "";
            position: absolute;
            left: 20px;
            right: 100%;
            bottom: -1px;
            height: 1px;
            background: #70e7ef;
            transition: right .25s ease;
        }

        .site-footer .footer-links .list a:hover,
        .site-footer .footer-panel .list a:hover {
            color: #ffffff;
            transform: translateX(8px);
        }

        .site-footer .footer-links .list a.footer-landing-link:hover,
        .site-footer .footer-panel .list a.footer-landing-link:hover {
            text-shadow: 0 0 18px rgba(112, 231, 239, 0.34);
        }

        .site-footer .footer-links .list a:hover::before,
        .site-footer .footer-panel .list a:hover::before {
            background: #ffffff;
            box-shadow: 0 0 16px rgba(112, 231, 239, 0.55);
        }

        .site-footer .footer-links .list a:hover::after,
        .site-footer .footer-panel .list a:hover::after {
            right: 0;
        }

.site-footer .footer-bottom {
    position: relative;
    z-index: 1;
}

    .site-footer .footer-bottom .grid.wide {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }

.site-footer .footer-bottom-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 82px;
}

    .site-footer .footer-bottom-container .left,
    .site-footer .footer-social-wrap {
        width: auto;
        padding: 0;
    }

    .site-footer .footer-bottom-container .text {
        display: flex;
        flex-direction: column;
        gap: 4px;
        color: rgba(238, 250, 255, 0.74);
        font-family: "Montserrat-Medium";
        font-size: 14px;
        font-weight: 500;
        line-height: 1.45;
        text-align: left;
    }

        .site-footer .footer-bottom-container .text span {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
        }

        .site-footer .footer-bottom-container .text a {
            display: inline-block;
            margin-left: 5px;
            color: #ffffff;
            transition: color .25s ease;
        }

            .site-footer .footer-bottom-container .text a:hover {
                color: #70e7ef;
            }

.site-footer .footer-social,
.site-footer .social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

    .site-footer .footer-social a,
    .site-footer .social a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin: 0;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 50%;
        color: #ffffff;
        background: rgba(255, 255, 255, 0.08);
        font-size: 17px;
        transition: transform .28s ease, background .28s ease, border-color .28s ease, color .28s ease, box-shadow .28s ease;
    }

        .site-footer .footer-social a svg,
        .site-footer .social a svg {
            width: 22px;
            height: auto;
        }

            .site-footer .footer-social a svg path,
            .site-footer .social a svg path {
                fill: currentColor !important;
                transition: fill .28s ease;
            }

        .site-footer .footer-social a:hover,
        .site-footer .social a:hover {
            color: #043050;
            border-color: #ffffff;
            background: #ffffff;
            box-shadow: 0 14px 34px rgba(0, 18, 38, 0.28);
            transform: translateY(-4px) rotate(-4deg);
        }

.site-footer .none {
    display: none !important;
}

@media (max-width: 1199px) {
    .site-footer .footer-shell {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .site-footer .footer-info {
        grid-template-columns: minmax(240px, .42fr) minmax(0, 1fr);
    }

    .site-footer .footer-brand {
        display: grid;
        grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
        gap: 26px;
        align-items: center;
    }

    .site-footer .footer-logo-wrap {
        margin: 0;
        width: 28%;
    }

    .site-footer .footer-brand-desc {
        max-width: 620px;
    }

    .site-footer .lead-form-card {
        max-width: 820px;
        margin: 0 auto;
    }

    .site-footer .footer-lead-dialog .lead-form-card {
        max-width: none;
    }
}

@media (max-width: 1023px) {
    .site-footer .footer-main {
        padding-top: 60px;
    }

    .site-footer .footer-shell {
        padding-bottom: 42px;
    }

    .site-footer .footer-info {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-columns,
    .site-footer .t-menu-footer-c {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 28px;
    }

    .site-footer .footer-contact {
        grid-column: span 2;
    }

    .site-footer .footer-top-container .item,
    .site-footer .footer-top-container .item.center {
        width: 100%;
        padding: 15px;
    }

    .site-footer .footer-brand {
        padding: 24px;
    }

    .site-footer .footer-panel {
        width: 100%;
        padding: 22px;
    }

    .site-footer .footer-bottom-container {
        min-height: 78px;
    }
}

@media (max-width: 739px) {
    .site-footer .footer-main {
        padding-top: 46px;
    }

    .site-footer .footer-shell {
        gap: 30px;
        padding-bottom: 32px;
    }

    .site-footer .footer-info {
        gap: 18px;
    }

    .site-footer .footer-brand {
        display: block;
        padding: 22px;
        border-radius: 16px;
        text-align: left;
        gap: 15px;
    }

    .site-footer .footer-logo-wrap {
        margin-bottom: 0;
    }

    .site-footer .footer-logo {
        width: min(220px, 82%);
    }

    .site-footer .footer-brand-desc {
        font-size: 15px;
        line-height: 1.4;
        flex: 1 1 0;
        max-width: 100%;
        text-align: left;
    }

    .site-footer .footer-columns,
    .site-footer .t-menu-footer-c {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .site-footer .footer-panel {
        padding: 20px;
        border-radius: 16px;
    }

    .site-footer .lead-form-card {
        padding: 22px;
        border-radius: 18px;
    }

    .site-footer .footer-cta-card {
        padding: 24px 22px;
        border-radius: 18px;
    }

    .site-footer .footer-open-lead {
        min-height: 52px;
        font-size: 14px;
    }

    .site-footer .footer-lead-modal {
        align-items: end;
        padding: 12px;
    }

    .site-footer .footer-lead-dialog {
        width: 100%;
        max-height: 90vh;
        border-radius: 22px;
        transform: translateY(38px) scale(1);
    }

        .site-footer .footer-lead-dialog .lead-form-card {
            padding: 24px 18px 20px;
            border-radius: 22px;
        }

    .site-footer .footer-lead-close {
        top: 10px;
        right: 10px;
        width: 38px;
        height: 38px;
    }

    .site-footer .lead-form-title {
        font-size: 19px;
        line-height: 1.4;
    }

    .site-footer .lead-form-desc {
        font-size: 14px;
        text-align: justify;
    }

    .site-footer .lead-form-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .site-footer .footer-contact {
        grid-column: auto;
    }

    .site-footer .footer-nav-title {
        margin-bottom: 17px;
        font-size: 15px;
    }

    .site-footer .des-footer-ll p,
    .site-footer .footer-contact section p {
        margin-bottom: 13px;
        padding-left: 34px;
        font-size: 14px;
        line-height: 1.55;
    }

        .site-footer .des-footer-ll p::before {
            width: 22px;
            height: 22px;
            font-size: 10px;
        }

    .site-footer .w-hotline-footer {
        width: 100%;
        border-radius: 18px;
    }

    .site-footer .c-footer-hotline a {
        font-size: 20px;
    }

    .site-footer .footer-links .list,
    .site-footer .footer-panel .list {
        gap: 6px;
    }

        .site-footer .footer-links .list a,
        .site-footer .footer-panel .list a {
            min-height: 34px;
            font-size: 14px;
        }

    .site-footer .footer-bottom-container {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 16px;
        min-height: 0;
        padding: 22px 0;
        text-align: center;
    }

    .site-footer .footer-social,
    .site-footer .social {
        justify-content: center;
        flex-wrap: wrap;
    }

    .site-footer .footer-social-wrap {
        width: 100%;
    }

    .site-footer .footer-social a,
    .site-footer .social a {
        width: 40px;
        height: 40px;
    }

    .site-footer .footer-bottom-container .text {
        font-size: 14px;
        line-height: 1.7;
        text-align: center;
        justify-content: center;
    }

        .site-footer .footer-bottom-container .text span {
            display: block;
        }

        .site-footer .footer-bottom-container .text a {
            margin-left: 0;
        }
}

@media (max-width: 420px) {
    .site-footer .footer-brand {
        padding: 18px;
        display: flex;
        align-items: center;
    }

    .site-footer .footer-logo {
        width: 100%;
    }

    .site-footer .w-hotline-footer {
        align-items: flex-start;
        padding: 12px;
    }
}