.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        .structural-grid {
            background-image: linear-gradient(#8E97A422 1px, transparent 1px), linear-gradient(90deg, #8E97A422 1px, transparent 1px);
            background-size: 40px 40px;
        }
        .bento-card {
            border: 1px solid #8E97A4;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .bento-card:hover {
            border-color: #ba0013;
            transform: translateY(-4px);
            box-shadow: 8px 8px 0px 0px rgba(186, 0, 19, 0.1);
        }
        .btn-structural {
            position: relative;
            overflow: hidden;
            transition: all 0.2s ease;
        }
        .btn-structural:active {
            transform: scale(0.98);
        }
        
        /* Carousel Styles */
        .carousel-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            z-index: 0;
        }
        .carousel-slide.active {
            opacity: 1;
            z-index: 10;
        }
        .carousel-overlay {
            background: linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%);
        }

        .partner-marquee {
            scrollbar-width: none;
            -ms-overflow-style: none;
            cursor: grab;
            user-select: none;
            overflow: hidden;
        }
        .partner-marquee::-webkit-scrollbar {
            display: none;
        }
        .partner-marquee.is-dragging {
            cursor: grabbing;
        }
        @keyframes partner-marquee {
            0% { transform: translate3d(0, 0, 0); }
            100% { transform: translate3d(-50%, 0, 0); }
        }
        .partner-marquee-track {
            display: flex;
            width: max-content;
            animation: partner-marquee 60s linear infinite;
            will-change: transform;
        }
        .partner-marquee:hover .partner-marquee-track,
        .partner-marquee.is-paused .partner-marquee-track {
            animation-play-state: paused;
        }

        #services-slider::-webkit-scrollbar {
            display: none;
        }
        #services-slider {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .testimonial-section {
            --testimonial-ink: #1D1B20;
            --testimonial-red: #ba0013;
            --testimonial-line: #8E97A4;
            background:
                linear-gradient(135deg, rgba(186, 0, 19, 0.08), transparent 34%),
                linear-gradient(90deg, rgba(29, 27, 32, 0.06) 1px, transparent 1px),
                linear-gradient(0deg, rgba(29, 27, 32, 0.04) 1px, transparent 1px),
                #f8f9fb;
            background-size: auto, 56px 56px, 56px 56px, auto;
            padding-left: env(safe-area-inset-left);
            padding-right: env(safe-area-inset-right);
        }
        .testimonial-shell {
            position: relative;
        }
        .testimonial-shell::before {
            content: '';
            position: absolute;
            inset: -1.5rem auto auto 0;
            width: clamp(5rem, 12vw, 10rem);
            height: 4px;
            background: var(--testimonial-red);
        }
        .testimonial-heading {
            display: flex;
            flex-direction: column;
            gap: clamp(1.25rem, 4vw, 1.75rem);
            margin-bottom: clamp(1.5rem, 5vw, 3.5rem);
        }
        .testimonial-section-copy {
            max-width: 58ch;
            color: #4c5664;
            font-size: clamp(1rem, 1.6vw, 1.125rem);
            line-height: 1.7;
            text-wrap: pretty;
        }
        .testimonial-rail-wrap {
            position: relative;
        }
        .testimonial-marquee {
            margin-top: 0.25rem;
        }
        .testimonial-card {
            background-color: #ffffff;
            flex: 0 0 auto;
            contain: layout paint;
            min-height: clamp(15.5rem, 58vw, 19rem);
            overflow: hidden;
            transition: border-color 220ms cubic-bezier(0.22, 1, 0.36, 1), transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms cubic-bezier(0.22, 1, 0.36, 1);
            width: clamp(16.5rem, 78vw, 24rem);
        }
        .testimonial-card::after {
            content: '';
            position: absolute;
            inset: auto 1.25rem 0 1.25rem;
            height: 3px;
            background: var(--testimonial-red);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
        }
        .testimonial-card:hover,
        .testimonial-card:focus-within {
            background-color: #ffffff;
            border-color: var(--testimonial-red);
            transform: translateY(-4px);
        }
        .testimonial-card:hover::after,
        .testimonial-card:focus-within::after {
            transform: scaleX(1);
        }
        .testimonial-card-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .testimonial-quote-mark {
            color: var(--testimonial-red);
            font-size: clamp(2.5rem, 5vw, 3.75rem);
            line-height: 0.8;
        }
        .testimonial-rating {
            display: flex;
            color: var(--testimonial-red);
            gap: 0.05rem;
            margin-top: 0.1rem;
            white-space: nowrap;
        }
        .testimonial-rating .material-symbols-outlined {
            font-size: clamp(0.875rem, 3.5vw, 1rem);
            font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20;
        }
        .testimonial-quote {
            display: -webkit-box;
            max-width: 65ch;
            overflow: hidden;
            text-wrap: pretty;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 6;
        }
        .testimonial-person {
            border-top: 1px solid rgba(142, 151, 164, 0.42);
            margin-top: clamp(1.25rem, 5vw, 2rem);
            padding-top: 1rem;
        }
        .testimonial-avatar {
            align-items: center;
            border-radius: 999px;
            display: flex;
            flex: 0 0 auto;
            height: 3rem;
            justify-content: center;
            width: 3rem;
        }
        .testimonial-avatar-initials {
            background: var(--testimonial-ink);
            color: #ffffff;
            font-size: 0.875rem;
            font-weight: 800;
        }

        @media (min-width: 768px) {
            .testimonial-heading {
                align-items: end;
                flex-direction: row;
                justify-content: space-between;
            }
            .testimonial-card {
                min-height: clamp(17rem, 24vw, 21rem);
                width: min(44vw, 27rem);
            }
            .testimonial-quote {
                -webkit-line-clamp: 7;
            }
        }

        @media (max-width: 479px) {
            .testimonial-section {
                background-size: auto, 40px 40px, 40px 40px, auto;
            }
            .testimonial-shell::before {
                inset-block-start: -1rem;
                width: 5rem;
            }
            .testimonial-section-copy {
                font-size: 0.95rem;
                line-height: 1.62;
            }
            .testimonial-card {
                min-height: 15rem;
                padding: 1.125rem;
            }
            .testimonial-quote-mark {
                font-size: 2.25rem;
            }
            .testimonial-quote {
                font-size: 0.98rem;
                line-height: 1.62;
                -webkit-line-clamp: 5;
            }
            .testimonial-avatar {
                height: 2.75rem;
                width: 2.75rem;
            }
        }

        @media (max-width: 767px) and (orientation: landscape) {
            .testimonial-heading {
                gap: 1rem;
                margin-bottom: 1.25rem;
            }
            .testimonial-card {
                min-height: 14rem;
                width: min(78vw, 28rem);
            }
            .testimonial-quote {
                -webkit-line-clamp: 4;
            }
        }

        @media (min-width: 1180px) {
            .testimonial-card {
                width: 25rem;
            }
        }

        @media (min-width: 1536px) {
            .testimonial-card {
                width: 26.5rem;
            }
        }

        @media (hover: none) {
            .testimonial-card:hover {
                background-color: var(--testimonial-card-bg, #ffffff);
                border-color: var(--testimonial-line);
                transform: none;
            }
            .testimonial-card:hover::after {
                transform: scaleX(0);
            }
            .testimonial-card:active::after {
                transform: scaleX(1);
            }
            .testimonial-card:active {
                border-color: var(--testimonial-red);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .testimonial-card,
            .testimonial-card::after {
                transition: none;
            }
        }

        /* Mobile Menu Styles */
        .mobile-menu-overlay {
            transform: translateX(100%);
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .mobile-menu-overlay.open {
            transform: translateX(0);
        }
        .menu-backdrop {
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s ease;
        }
        .menu-backdrop.active {
            opacity: 1;
            pointer-events: auto;
        }
    
        @keyframes spin-slow {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .animate-spin-slow {
            animation: spin-slow 12s linear infinite;
        }

        /* Service Life Calculator Modal */
        .service-life-modal {
            width: 100vw;
            height: 100dvh;
            max-width: none;
            max-height: none;
            margin: 0;
            padding: 0;
            border: 0;
            background: transparent;
            overflow: hidden;
        }

        .service-life-modal::backdrop {
            background: rgb(5 9 15 / 88%);
        }

        .service-life-modal[open]::backdrop {
            animation: service-life-modal-backdrop-enter 180ms ease-out both;
        }

        .service-life-modal__shell {
            position: relative;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: clamp(0.5rem, 1.5vw, 1rem);
            display: grid;
            place-items: center;
        }

        .service-life-modal__backdrop {
            position: absolute;
            inset: 0;
            border: 0;
            padding: 0;
            appearance: none;
            background: transparent;
            cursor: zoom-out;
        }

        .service-life-modal__panel {
            position: relative;
            z-index: 1;
            width: min(1180px, calc(100vw - 1rem));
            height: min(92dvh, 920px);
            overflow: hidden;
            display: grid;
            grid-template-rows: auto minmax(0, 1fr);
            background: #f8fafc;
            border-radius: 1rem;
            box-shadow: 0 30px 80px rgb(5 9 15 / 34%);
        }

        .service-life-modal[open] .service-life-modal__panel {
            animation: service-life-modal-enter 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
        }

        .service-life-modal__header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
            padding: clamp(1rem, 1.6vw, 1.35rem) clamp(1rem, 1.8vw, 1.5rem);
            border-bottom: 1px solid rgb(142 151 164 / 22%);
        }

        .service-life-modal__icon {
            width: 2.75rem;
            height: 2.75rem;
            flex: 0 0 auto;
            border-radius: 0.875rem;
            background: #ba0013;
            color: #ffffff;
            display: grid;
            place-items: center;
        }

        .service-life-modal__icon .material-symbols-outlined,
        .service-life-modal__close .material-symbols-outlined {
            font-size: 1.25rem;
        }

        .service-life-modal__close {
            position: relative;
            width: 2.75rem;
            height: 2.75rem;
            flex: 0 0 auto;
            border: 0;
            border-radius: 0.875rem;
            background: rgb(142 151 164 / 12%);
            color: #1d1b20;
            display: grid;
            place-items: center;
            transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
        }

        .service-life-modal__close::before {
            content: '';
            position: absolute;
            inset: -0.625rem;
        }

        .service-life-modal__close:hover,
        .service-life-modal__close:focus-visible {
            background: rgb(186 0 19 / 12%);
            color: #ba0013;
            outline: none;
        }

        .service-life-modal__close:active {
            transform: scale(0.96);
        }

        .service-life-modal__content {
            min-height: 0;
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
            overflow: auto;
        }

        .service-life-modal__reference {
            min-width: 0;
            padding: clamp(1.25rem, 2vw, 1.75rem);
            background: #0b0f14;
            color: #ffffff;
        }

        .service-life-modal__calculator {
            min-width: 0;
            padding: clamp(1.25rem, 2vw, 1.75rem);
            background: #f8fafc;
        }

        .service-life-modal__table {
            width: 100%;
            border-collapse: collapse;
            color: inherit;
        }

        .service-life-modal__table th {
            padding: 0.8rem 0;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgb(255 255 255 / 68%);
        }

        .service-life-modal__table td {
            padding: 0.95rem 0;
            border-top: 1px solid rgb(255 255 255 / 10%);
            font-size: 0.98rem;
            color: rgb(255 255 255 / 92%);
        }

        .service-life-modal__formula {
            border-radius: 0.875rem;
            padding: 1rem 1.1rem 1.1rem;
            background: rgb(186 0 19 / 10%);
            color: rgb(255 255 255 / 92%);
        }

        .service-life-modal__results {
            margin-top: 1.25rem;
            border-radius: 1rem;
            background: #ffffff;
            border: 1px solid rgb(142 151 164 / 22%);
            padding: 0 1rem;
        }

        .service-life-modal__results > .flex {
            border-top: 1px solid rgb(142 151 164 / 16%);
        }

        .service-life-modal__results > .flex:first-child {
            border-top: 0;
        }

        @keyframes service-life-modal-enter {
            from {
                opacity: 0;
                transform: translateY(10px) scale(0.985);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        @keyframes service-life-modal-backdrop-enter {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .service-life-modal[open]::backdrop,
            .service-life-modal[open] .service-life-modal__panel {
                animation: none;
            }

            .service-life-modal__close,
            .service-life-modal__backdrop {
                transition: none;
            }
        }

        @media (max-width: 767px) {
            .service-life-modal__shell {
                padding: 0.5rem;
            }

            .service-life-modal__panel {
                width: 100vw;
                height: calc(100dvh - 1rem);
                border-radius: 0.875rem;
            }

            .service-life-modal__header {
                padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem;
                align-items: flex-start;
            }

            .service-life-modal__content {
                grid-template-columns: minmax(0, 1fr);
            }

            .service-life-modal__calculator {
                order: 1;
                border-top: 0;
            }

            .service-life-modal__reference {
                order: 2;
            }
        }
