body {
    background-color: #050505;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* Lenis setup for buttery scroll */
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

::-webkit-scrollbar { display: none; }

/* Typography */
.kicker { letter-spacing: 0.3em; }
.display-text { line-height: 0.85; letter-spacing: -0.05em; }

/* Hero Image/Video */
.hero-stage { height: 130vh; }
.hero-text-container { position: relative; z-index: 10; pointer-events: none; }

.image-window {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9; /* Ultra-wide cinematic crop */
    overflow: hidden;
    background: #111;
}

@media (max-width: 768px) {
    .image-window { aspect-ratio: 4 / 5; } /* Taller for mobile */
}

/* Reels specific */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.scroll-snap-x { scroll-snap-type: x mandatory; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.scroll-snap-center { scroll-snap-align: center; }

/* Visual Noise Grain */
.grain {
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.04;
    z-index: 9999;
    background-image: url('https://grainy-gradients.vercel.app/noise.svg');
}