html, body {
            max-width: 100vw;
            overflow-x: hidden;
        }
        body {
            background-color: #080c14;
            color: #f1f5f9; /* text-slate-100 */
            position: relative;
            width: 100%;
        }
        
        /* Subtle Global Dot Grid Pattern */
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
            background-size: 32px 32px;
            z-index: 0;
            pointer-events: none;
        }

        /* Subtle Global Vignette */
        body::after {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 9998;
            background: radial-gradient(circle, transparent 60%, rgba(3, 7, 18, 0.8) 150%);
        }
        
        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #080c14;
        }
        ::-webkit-scrollbar-thumb {
            background: #334155; /* slate-700 */
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #475569; /* slate-600 */
        }

        .glass-panel {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            backdrop-filter: blur(16px);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }
        .glass-panel:hover {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(34, 211, 238, 0.2);
            transform: translateY(-4px);
            box-shadow: 0 15px 40px -10px rgba(34, 211, 238, 0.15), inset 0 1px 1px rgba(255,255,255,0.1);
        }

        /* Animated Scanline Micro-animation */
        .glass-panel::after {
            content: '';
            position: absolute;
            top: 0; left: -100%; width: 50%; height: 2px;
            background: linear-gradient(90deg, transparent, rgba(34,211,238,0.5), transparent);
            animation: scanline 6s ease-in-out infinite;
        }
        @keyframes scanline {
            0% { left: -100%; }
            100% { left: 200%; }
        }

        /* Ambient Grain Overlay Global */
        .bg-grain {
            position: absolute;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
            pointer-events: none;
            mix-blend-mode: overlay;
            animation: breathe-grain 12s ease-in-out infinite alternate;
        }
        
        @keyframes breathe-grain {
            0% { opacity: 0.4; }
            100% { opacity: 0.8; }
        }

        /* Fixed Global Grain */
        .bg-grain-fixed {
            position: fixed;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.06'/%3E%3C/svg%3E");
            z-index: 9999;
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        /* Fallback gradient for video */
        .video-fallback {
            background: radial-gradient(circle at 30% 50%, rgba(34, 211, 238, 0.15), transparent 50%),
                        linear-gradient(180deg, #0b1220 0%, #080c14 100%);
        }

        /* Lenis smooth scrolling setup */
        html.lenis {
            height: auto;
        }
        .lenis.lenis-smooth {
            scroll-behavior: auto;
        }
        .lenis.lenis-smooth [data-lenis-prevent] {
            overscroll-behavior: contain;
        }
        .lenis.lenis-stopped {
            overflow: hidden;
        }
        .lenis.lenis-scrolling iframe {
            pointer-events: none;
        }
