        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;
        }

        body {
            background-color: #050505;
            color: #F4F4F4;
            cursor: none; /* Custom cursor */
            overflow-x: hidden;
        }

        /* Grain Overlay */
        .noise-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 9998;
            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.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
        }

        /* Custom Cursor */
        #cursor {
            width: 12px;
            height: 12px;
            background-color: #CCFF00;
            border-radius: 50%;
            position: fixed;
            top: 0;
            left: 0;
            z-index: 9999;
            pointer-events: none;
            transform: translate(-50%, -50%);
            transition: width 0.3s, height 0.3s, background-color 0.3s;
            mix-blend-mode: difference;
        }
        
        #cursor.hovered {
            width: 60px;
            height: 60px;
            background-color: white;
            opacity: 0.1;
        }

        /* Mobile Optimizations */
        @media (hover: none) and (pointer: coarse) {
            #cursor {
                display: none !important;
            }
            body {
                cursor: auto;
            }
        }

        /* Reveal Animation Classes */
        .reveal-text {
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        }
        
        /* Fade in for hero */
        .hero-anim {
            opacity: 0;
            transform: translateY(30px);
        }