        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;
            }
            /* Enable snap ONLY on touch devices to prevent desktop drag lag */
            .snap-mobile-only {
                scroll-snap-type: x mandatory;
            }
        }

        /* Remove mobile tap highlight */
        * {
            -webkit-tap-highlight-color: transparent;
        }

        /* Text Stroke utility */
        .text-stroke {
            -webkit-text-stroke: 1px rgba(255,255,255,0.2);
            color: transparent;
        }

        /* Hide scrollbar */
        ::-webkit-scrollbar {
            width: 0px;
            background: transparent;
        }
        
        /* Firefox Hide Scrollbar */
        .no-scrollbar {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        
        /* Drag Cursor State */
        .cursor-grab {
            cursor: grab;
        }
        .cursor-grabbing {
            cursor: grabbing !important;
        }

        /* Reveal Animation Classes */
        .reveal-text {
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        }