     /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: transparent;
        }

        ::-webkit-scrollbar-thumb {
            background: #d1d5db;
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #9ca3af;
        }

        .dark ::-webkit-scrollbar-thumb {
            background: #4b5563;
        }

        .dark ::-webkit-scrollbar-thumb:hover {
            background: #6b7280;
        }

        /* Mobile Menu Animation */
        #mobile-menu {
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .menu-open {
            overflow: hidden;
        }

        /* General Hover Effects */
        .hover-scale {
            transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .group:hover .hover-scale {
            transform: scale(1.03);
        }

        /* Arabic Specific Overrides */
        html[lang="ar"] body {
            font-family: 'Almarai', sans-serif;
        }

        /* Increase line height for Arabic headings */
        html[lang="ar"] h1,
        html[lang="ar"] h2,
        html[lang="ar"] h3,
        html[lang="ar"] h4 {
            line-height: 1.2 !important;
            zoom: 0.95;
        }

        html[lang="ar"] p {
            line-height: 1.8;
            zoom: 1.05;
        }

        /* RTL Directional Fixes */
        html[dir="rtl"] .ph-arrow-right {
            transform: rotate(180deg);
        }

        /* Professional Abstract Loader */
        #loader {
            transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
        }

        .loader-container {
            position: relative;
            width: 80px;
            height: 80px;
            transform: rotate(45deg);
        }

        .loader-cube {
            position: absolute;
            width: 40px;
            height: 40px;
            background: rgba(0, 0, 0, 0.8);
            border: 1px solid rgba(0, 0, 0, 0.6);
            animation: cube-fold 2.4s infinite linear;
        }

        /* Dark Mode Overrides for Loader */
        .dark .loader-cube {
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.6);
        }

        .loader-cube:nth-child(1) {
            top: 0;
            left: 0;
            transform-origin: 100% 100%;
        }

        .loader-cube:nth-child(2) {
            top: 0;
            right: 0;
            transform-origin: 0 100%;
            animation-delay: 0.3s;
        }

        .loader-cube:nth-child(3) {
            bottom: 0;
            right: 0;
            transform-origin: 0 0;
            animation-delay: 0.6s;
        }

        .loader-cube:nth-child(4) {
            bottom: 0;
            left: 0;
            transform-origin: 100% 0;
            animation-delay: 0.9s;
        }

        @keyframes cube-fold {

            0%,
            10% {
                transform: perspective(140px) rotateX(-180deg);
                opacity: 0;
            }

            25%,
            75% {
                transform: perspective(140px) rotateX(0deg);
                opacity: 1;
            }

            90%,
            100% {
                transform: perspective(140px) rotateY(180deg);
                opacity: 0;
            }
        }

        .loader-text {
            margin-top: 40px;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-weight: 300;
            letter-spacing: 0.2em;
            color: rgba(0, 0, 0, 0.7);
            font-size: 0.875rem;
            text-transform: uppercase;
            animation: pulse-text 2s infinite ease-in-out;
        }

        .dark .loader-text {
            color: rgba(255, 255, 255, 0.7);
        }

        @keyframes pulse-text {

            0%,
            100% {
                opacity: 0.4;
            }

            50% {
                opacity: 1;
            }
        }

        /* Scroll Animation Styles */
        .reveal-on-scroll {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
            will-change: opacity, transform;
        }

        .reveal-active {
            opacity: 1;
            transform: translateY(0);
        }

        .reveal-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Partner Logo Filters */
        .partner-logo {
            filter: grayscale(100%) brightness(0);
            transition: filter 0.3s ease;
        }

        .dark .partner-logo {
            filter: grayscale(100%) brightness(0) invert(1);
        }

        .partner-logo:hover {
            filter: none !important;
        }

        /* Specific fix for Technal JPG background if needed, though mix-blend-mode handles it in structure */
        .dark .partner-logo.mix-blend-screen {
            filter: grayscale(100%) invert(1);
            /* Don't brightness(0) it or it loses detail before invert */
        }

        /* Stagger delays for children if needed */
        .delay-100 {
            transition-delay: 0.1s;
        }

        .delay-200 {
            transition-delay: 0.2s;
        }

        .delay-300 {
            transition-delay: 0.3s;
        }