.modules-page {
            --module-orange: #ff6600;
            margin: 0;
            background: #f6f7f9;
            color: #141a22;
            font-family: var(--font-sans);
            overflow-x: hidden;
        }

        .modules-hero {
            position: relative;
            min-height: clamp(520px, 64vh, 680px);
            padding: 136px 24px 112px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            background: #050507 url("../../images/modules/modules-hero-option-2.webp") center center / cover no-repeat;
        }

        .modules-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 50% 44%, rgba(255, 102, 0, 0.13), transparent 32%),
                linear-gradient(180deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.2));
            z-index: 1;
        }

        .modules-hero-inner {
            position: relative;
            z-index: 2;
            width: min(1120px, 100%);
            text-align: center;
        }

        .modules-hero-title {
            margin: 0;
            color: #fff;
            font-size: clamp(40px, 4.2vw, 66px);
            font-weight: 760;
            line-height: 1.12;
            letter-spacing: 0;
            text-shadow: 0 18px 48px rgba(0, 0, 0, 0.5);
        }

        .modules-hero-sub {
            max-width: 760px;
            margin: 22px auto 0;
            color: rgba(255, 255, 255, 0.78);
            font-size: clamp(16px, 1.35vw, 20px);
            line-height: 1.7;
            letter-spacing: 0;
        }

        .modules-section {
            padding: clamp(76px, 9vw, 124px) 24px;
            background: #f6f7f9;
        }

        .modules-inner {
            width: min(1200px, 100%);
            margin: 0 auto;
        }

        .modules-head {
            max-width: 860px;
            margin: 0 auto clamp(38px, 5vw, 58px);
            text-align: center;
        }

        .modules-kicker {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            margin: 0 0 14px;
            color: var(--module-orange);
            font-size: 12px;
            font-weight: 760;
            line-height: 1;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .modules-kicker::before,
        .modules-kicker::after {
            content: "";
            width: 34px;
            height: 1px;
            background: rgba(255, 102, 0, 0.68);
        }

        .modules-title {
            margin: 0;
            color: #141a22;
            font-size: clamp(32px, 3vw, 46px);
            font-weight: 680;
            line-height: 1.18;
            letter-spacing: 0;
        }

        .modules-desc {
            max-width: 720px;
            margin: 18px auto 0;
            color: rgba(20, 26, 34, 0.62);
            font-size: 15px;
            line-height: 1.85;
            letter-spacing: 0;
        }

        .module-overview-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 22px;
        }

        .module-overview-card {
            position: relative;
            min-height: 292px;
            overflow: hidden;
            border-radius: 8px;
            background: #fff;
            border: 1px solid rgba(18, 27, 40, 0.08);
            box-shadow: 0 22px 52px rgba(18, 27, 40, 0.12);
            isolation: isolate;
            transform: translateZ(0);
        }

        .module-overview-card--wide {
            grid-column: span 2;
            min-height: 300px;
        }

        .module-overview-card--square {
            min-height: 372px;
        }

        .module-overview-card::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background: #111820;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .module-overview-shade {
            position: absolute;
            inset: 0;
            z-index: 1;
            background: linear-gradient(135deg, rgba(255, 102, 0, 0.08), rgba(17, 24, 32, 0));
            pointer-events: none;
            transition: opacity 0.3s ease;
        }

        .module-overview-icon {
            width: 86px;
            height: 86px;
            margin-bottom: auto;
            color: var(--module-orange);
            opacity: 0.9;
        }

        .module-overview-icon svg {
            width: 100%;
            height: 100%;
            display: block;
            stroke: currentColor;
        }

        .module-overview-front,
        .module-overview-hover {
            position: absolute;
            inset: 0;
            z-index: 2;
            padding: 30px;
            display: flex;
            flex-direction: column;
        }

        .module-overview-front {
            justify-content: space-between;
            transition: opacity 0.28s ease, transform 0.28s ease;
        }

        .module-overview-front span,
        .module-overview-hover span {
            color: rgba(20, 26, 34, 0.46);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .module-overview-front h3,
        .module-overview-hover h3 {
            margin: 12px 0 0;
            color: #141a22;
            font-size: clamp(24px, 2vw, 32px);
            font-weight: 720;
            line-height: 1.22;
            letter-spacing: 0;
        }

        .module-overview-front p {
            max-width: 520px;
            margin: 12px 0 0;
            color: rgba(20, 26, 34, 0.62);
            font-size: 14px;
            line-height: 1.65;
            letter-spacing: 0;
        }

        .module-overview-hover {
            justify-content: center;
            opacity: 0;
            transform: translateY(18px);
            transition: opacity 0.28s ease, transform 0.28s ease;
        }

        .module-overview-hover .module-hover-intro {
            margin-top: 0;
            color: rgba(255, 255, 255, 0.9);
            font-size: 14px;
            line-height: 1.7;
        }

        .module-overview-hover p {
            margin: 13px 0 0;
            color: rgba(255, 255, 255, 0.82);
            font-size: 13px;
            line-height: 1.66;
            letter-spacing: 0;
        }

        .module-overview-hover strong {
            display: block;
            margin-bottom: 4px;
            color: #fff;
            font-size: 14px;
            line-height: 1.35;
        }

        .module-overview-card:hover::after {
            opacity: 1;
        }

        .module-overview-card:hover .module-overview-shade {
            opacity: 0;
        }

        .module-overview-card:hover .module-overview-front {
            opacity: 0;
            transform: translateY(-12px);
        }

        .module-overview-card:hover .module-overview-hover {
            opacity: 1;
            transform: translateY(0);
        }

        .modules-page #site-cta {
            position: relative;
            z-index: 2;
        }

        .modules-page .product-section {
            padding: 52px 0;
            background: #f7f7f8;
            overflow: hidden;
        }

        .modules-page .product-section.product-section-alt {
            background: #f7f7f8;
        }

        .modules-page .product-section-inner {
            position: relative;
            z-index: 2;
            max-width: 1200px;
            margin: 0 auto;
        }

        .modules-page .series-header {
            display: flex;
            align-items: center;
            gap: 18px;
            margin-bottom: 24px;
        }

        .modules-page .series-header .series-carousel-controls {
            margin-left: auto;
        }

        .modules-page #product-glovebox .series-title,
        .modules-page #product-vacuum .series-title,
        .modules-page #product-automation .series-title {
            color: #111 !important;
            background: none !important;
            -webkit-text-fill-color: initial !important;
            font-size: clamp(28px, 2vw, 32px) !important;
            line-height: 1.2 !important;
            font-weight: 500 !important;
            letter-spacing: 0 !important;
            margin: 0 !important;
        }

        .modules-page .series-carousel-viewport {
            width: 100vw;
            margin-left: calc(50% - 50vw);
            overflow: hidden;
            margin-top: 8px;
        }

        .modules-page .device-carousel-track {
            display: flex !important;
            gap: 20px !important;
            padding-left: var(--track-left-pad, 0px);
            padding-right: 0;
            transition: transform 720ms cubic-bezier(.22,.68,0,1);
            will-change: transform;
            transform: translate3d(0, 0, 0);
        }

        .modules-page #product-glovebox .device-carousel-track > .series-product-card,
        .modules-page #product-vacuum .device-carousel-track > .series-product-card {
            flex: 0 0 clamp(380px, 24vw, 420px);
            min-width: clamp(380px, 24vw, 420px);
        }

        .modules-page #product-automation .device-carousel-track > .series-product-card {
            flex: 0 0 clamp(500px, 34vw, 560px);
            min-width: clamp(500px, 34vw, 560px);
        }

        .modules-page .series-products[data-animate="scale-cards"] .series-product-card,
        .modules-page .series-product-card {
            opacity: 1 !important;
            transform: none !important;
            display: block;
            overflow: hidden;
            border-radius: 8px !important;
            background: #f3f4f5;
            box-shadow: none;
            transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .modules-page .series-product-card:hover {
            transform: translateY(-2px) !important;
        }

        .modules-page #product-glovebox .series-product-img,
        .modules-page #product-vacuum .series-product-img {
            aspect-ratio: 5 / 3;
            height: auto;
            background: #f3f4f5;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border-radius: 8px 8px 0 0;
            border-bottom: 1px solid #d7d8dc;
        }

        .modules-page #product-automation .series-product-img {
            aspect-ratio: 2 / 1;
            height: auto;
            overflow: hidden;
            background: #e6e6e8;
            border-radius: 8px 8px 0 0;
            border-bottom: 1px solid #d7d8dc;
        }

        .modules-page .series-product-img {
            position: relative;
        }

        .modules-page .series-product-img .img-default,
        .modules-page .series-product-img .img-hover {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            max-width: none;
            max-height: none;
            object-fit: cover;
            display: block !important;
            transition: opacity .52s cubic-bezier(.22,1,.36,1);
            backface-visibility: hidden;
            transform: translateZ(0);
        }

        .modules-page .series-product-img .img-default {
            opacity: 1;
        }

        .modules-page .series-product-img .img-hover {
            opacity: 0;
        }

        .modules-page .series-product-card:hover .series-product-img .img-default {
            opacity: 0;
        }

        .modules-page .series-product-card:hover .series-product-img .img-hover {
            opacity: 1;
        }

        .modules-page .series-product-name {
            display: block !important;
            padding: 18px 18px 6px;
            color: #111;
            font-size: 18px;
            line-height: 1.25;
            font-weight: 500;
            letter-spacing: 0;
            text-align: left;
        }

        .modules-page .series-product-desc {
            display: block;
            margin: 0;
            padding: 0 18px 18px;
            color: #8a8f98;
            font-size: 14px;
            line-height: 1.5;
            letter-spacing: 0;
            text-align: left;
        }

        .modules-page .series-carousel-controls {
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .modules-page .series-carousel-btn {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            border: 1px solid rgba(0,0,0,.14);
            background: transparent;
            color: #7f7f86;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all .25s ease;
        }

        .modules-page .series-carousel-btn:hover {
            border-color: #ff6600;
            color: #ff6600;
        }

        .modules-page .series-carousel-btn.is-disabled {
            opacity: .35;
            pointer-events: none;
        }

        @media (max-width: 1100px) {
            .module-overview-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 720px) {
            .modules-hero {
                min-height: 500px;
                padding: 116px 18px 86px;
            }

            .modules-section {
                padding: 66px 16px;
            }

            .module-overview-grid {
                grid-template-columns: 1fr;
                gap: 16px;
                margin-inline: 4px;
            }

            .module-overview-card,
            .module-overview-card--wide {
                grid-column: auto;
                min-height: 360px;
            }

            .module-overview-front,
            .module-overview-hover {
                padding: 24px;
            }

            .module-overview-hover p {
                font-size: 12px;
                line-height: 1.58;
            }
        }


#section-footer .footer-layout-shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}
#section-footer .footer-main,
#section-footer .footer-bottom,
#section-footer .footer-copyright {
    position: relative;
    z-index: 1;
}
#section-footer .footer-divider {
    margin-top: clamp(24px, 3vh, 36px);
    margin-bottom: clamp(16px, 2vh, 24px);
}
#section-footer .footer-bottom {
    margin-bottom: clamp(12px, 2vh, 24px);
}

#section-footer .footer-layout-shell {
    justify-content: flex-start;
    padding-top: clamp(350px, 28vh, 350px);
    padding-bottom: clamp(28px, 4vh, 44px);
}
#section-footer.fullscreen-section {
    min-height: auto !important;
    height: auto !important;
    position: relative;
    z-index: 1;
}
#section-footer .footer-main {
    width: min(1280px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 2fr;
    gap: clamp(40px, 6vw, 96px);
    align-items: start;
}
#section-footer .footer-logo-wrap {
    display: flex;
    align-items: center;
}
#section-footer .footer-logo {
    height: clamp(34px, 3.2vw, 42px);
    width: auto;
    display: block;
}
#section-footer .footer-brand .section-lead {
    margin: 18px 0 0;
    text-align: left;
    color: rgba(255,255,255,0.58);
    line-height: 1.8;
    max-width: 420px;
}
#section-footer .footer-contact-form {
    margin-top: 18px;
    max-width: 420px;
    display: grid;
    gap: 10px;
}
#section-footer .footer-contact-form input,
#section-footer .footer-contact-form textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(0,0,0,0.32);
    color: #fff;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
}
#section-footer .footer-contact-form textarea { resize: vertical; min-height: 64px; }
#section-footer .footer-contact-form button {
    width: 124px;
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: #ff6a00;
    cursor: pointer;
}
#section-footer .footer-nav .footer-columns {
    display: grid;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: clamp(20px, 2.5vw, 48px);
    justify-content: start;
}
@media (max-width: 1024px) {
    #section-footer .footer-layout-shell {
        padding-top: clamp(160px, 18vh, 210px);
    }
    #section-footer .footer-main {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    #section-footer .footer-contact-form {
        max-width: 100%;
    }
    #section-footer .footer-nav .footer-columns {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}
@media (max-width: 768px) {
    .modules-page .modules-section {
        padding-left: 24px;
        padding-right: 24px;
    }

    #section-footer .footer-layout-shell {
        padding-top: 72px;
    }
}
