:root { --primary: #38bdf8; --dark: #09090b; }
        body { background-color: var(--dark); color: #fff; overflow-x: hidden; }

        .glass {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .glass-card {
            background: rgba(24, 24, 27, 0.6);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(56, 189, 248, 0.1);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .glass-card:hover {
            border-color: var(--primary);
            box-shadow: 0 0 30px rgba(56, 189, 248, 0.15);
            transform: translateY(-5px);
        }

        #hero-canvas {
            position: absolute; top: 0; left: 0;
            width: 100%; height: 100%;
            z-index: 0; pointer-events: none;
        }

        .custom-cursor {
            width: 20px; height: 20px;
            border: 2px solid var(--primary);
            border-radius: 50%;
            position: fixed; pointer-events: none;
            z-index: 9999;
            transition: transform 0.1s ease, width 0.3s ease, height 0.3s ease, background 0.3s ease;
            transform: translate(-50%, -50%);
        }

        .custom-cursor.active {
            width: 50px; height: 50px;
            background: rgba(56, 189, 248, 0.1);
            border-width: 1px;
        }

        @media (max-width: 1024px) { .custom-cursor { display: none; } }

        .text-glow { text-shadow: 0 0 20px rgba(56, 189, 248, 0.3); }

        .btn-primary {
            background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
            box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3);
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            box-shadow: 0 6px 25px rgba(56, 189, 248, 0.5);
            transform: scale(1.02);
        }

        .nav-link { position: relative; color: #ffffff !important; font-weight: 700 !important; }

        .nav-link::after {
            content: ''; position: absolute; bottom: -4px; left: 0;
            width: 0; height: 2px;
            background: var(--primary); transition: width 0.3s ease;
        }

        .nav-link:hover::after { width: 100%; }

        .section-badge {
            display: inline-flex; align-items: center; gap: 0.5rem;
            padding: 0.5rem 1rem; border-radius: 9999px;
            background: rgba(56, 189, 248, 0.1);
            border: 1px solid rgba(56, 189, 248, 0.2);
            color: var(--primary); font-size: 0.875rem;
            font-weight: 700; text-transform: uppercase;
            letter-spacing: 0.05em; margin-bottom: 1.5rem;
        }

        .policy-section { border-top: 1px solid rgba(56, 189, 248, 0.1); padding-top: 2rem; }

        /* FAQ */
        .faq-item {
            background: rgba(24,24,27,0.6);
            border: 1px solid rgba(56,189,248,0.1);
            border-radius: 16px; overflow: hidden;
            transition: all 0.3s ease;
        }
        .faq-item h3 {
            padding: 1.25rem 1.5rem; font-weight: 700;
            cursor: pointer; display: flex;
            justify-content: space-between; align-items: center;
        }
        .faq-item h3::after { content: '+'; font-size: 1.5rem; color: var(--primary); }
        .faq-item.open h3::after { content: '−'; }
        .faq-item p {
            display: none; padding: 0 1.5rem 1.25rem;
            color: #9ca3af; line-height: 1.7;
        }
        .faq-item.open p { display: block; }

        .client-logo-card {
            background-color: #ffffff !important;
            border-radius: 16px !important;
            display: flex !important; align-items: center !important;
            justify-content: center !important; overflow: hidden !important;
            padding: 12px !important;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
            border: 1px solid rgba(0,0,0,0.05) !important;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
            width: 180px !important; height: 100px !important;
            flex-shrink: 0 !important; margin: 0 12px !important;
        }
        .client-logo-card:hover {
            transform: translateY(-8px) scale(1.02) !important;
            box-shadow: 0 20px 30px rgba(0,0,0,0.1) !important;
            border-color: #38bdf8 !important;
        }
        .client-logo-card img {
            max-width: 85% !important; max-height: 85% !important;
            width: auto !important; height: auto !important;
            object-fit: contain !important; display: block !important;
            opacity: 1; transition: transform 0.4s ease !important;
        }
        .client-logo-card:hover img { transform: scale(1.05) !important; }

        .marquee-section { overflow: hidden; padding: 80px 0; background: rgba(24,24,27,0.3); }
        .marquee-track {
            display: flex; gap: 30px; width: max-content;
            animation: scroll-left 40s linear infinite;
        }
        .marquee-track:hover { animation-play-state: paused; }
        @keyframes scroll-left {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

html { background-color: #04111e !important; }
        body { background-color: #04111e !important; }
        #bg-video {
            position: fixed;
            top: 0; left: 0;
            width: 100vw; height: 100vh;
            object-fit: cover;
            z-index: 0;
            pointer-events: none;
        }
        nav, main, footer, .custom-cursor {
            position: relative;
            z-index: 1;
        }
        .min-h-screen { background: rgba(4,12,28,0.45) !important; }
        .bg-dark-lighter { background-color: rgba(5,10,22,0.82) !important; }
        section { background: rgba(4,10,20,0.75) !important; }
        section.min-h-screen { background: rgba(4,12,28,0.45) !important; }
        .glass-card { background: rgba(6,14,30,0.88) !important; border-color: rgba(60,120,255,0.18) !important; }
        .glass-card:hover { border-color: rgba(80,160,255,0.55) !important; box-shadow: 0 0 35px rgba(40,100,255,0.20) !important; }
        /* Grey text → white on dark video background */
        .text-gray-300, .text-gray-400, .text-gray-500, .text-gray-600,
        .text-slate-300, .text-slate-400, .text-slate-500, .text-slate-600,
        .text-zinc-300,  .text-zinc-400,  .text-zinc-500,  .text-zinc-600,
        .text-neutral-300, .text-neutral-400, .text-neutral-500 {
            color: #ffffff !important;
        }
        }