:root {
    --luxury-gold: #c5a059;
    --luxury-black: #050505;
    --font-heading: 'Cormorant Garamond', serif;
    --font-body: 'Outfit', sans-serif;
}

body {
    font-family: var(--font-body);
    background-color: var(--luxury-black);
}

h1, h2, h3, h4, h5, .font-luxury {
    font-family: var(--font-heading);
}

/* Film Grain Overlay */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    pointer-events: none;
    z-index: 9998;
    background-image: url('data:image/svg+xml;charset=utf8,%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)"/%3E%3C/svg%3E');
    opacity: 0.04;
}

/* Smooth 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;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Marquee Animation */
.marquee-container {
    overflow: hidden;
    user-select: none;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

.marquee-content {
    animation: marquee 30s linear infinite;
}

/* Custom Cursors */
#cursor {
    mix-blend-difference: difference;
}

.magnetic-btn {
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Text Split Animation (Preparation) */
.split-line {
    overflow: hidden;
}

/* Selection */
::selection {
    background: white;
    color: black;
}

/* Responsive Grid Adjustments */
@media (max-width: 768px) {
    #lookbook-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* Scroll Indicators */
.scroll-indicator {
    width: 1px;
    height: 80px;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.5), transparent);
    position: relative;
    overflow: hidden;
}

.scroll-indicator::after {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    animation: scroll-anim 2s infinite;
}

@keyframes scroll-anim {
    0% { top: -100%; }
    100% { top: 100%; }
}

/* Reveal Animations */
.reveal-img-wrap {
    overflow: hidden;
    position: relative;
}

.reveal-img-wrap img {
    transform: scale(1.2);
    transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.reveal-img-wrap.active img {
    transform: scale(1);
}
