        :root {
            --white: #FFFFFF;
            --black: #000000;
            --zinc-900: #18181b;
            --zinc-100: #f4f4f5;
            --zinc-400: #a1a1aa;
        }

        body {
            background-color: var(--white);
            color: var(--black);
            font-family: 'Inter', sans-serif;
            scroll-behavior: smooth;
            -webkit-font-smoothing: antialiased;
        }

        .serif { font-family: 'Cormorant Garamond', serif; }
        .serif-display { font-family: 'Playfair Display', serif; }

        /* Typography & Spacing */
        .drop-cap::first-letter {
            float: left;
            font-family: 'Playfair Display', serif;
            font-size: 6.5rem;
            line-height: 0.6;
            padding: 0.8rem 1.2rem 0 0;
            color: var(--black);
        }

        .small-caps {
            font-size: 10px;
            letter-spacing: 0.4em;
            text-transform: uppercase;
            font-weight: 600;
        }

        /* Animations */
        .reveal { 
            opacity: 0; 
            transform: translateY(40px); 
            transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); 
        }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* Navigation */
        .nav-link {
            position: relative;
            font-size: 11px;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            cursor: pointer;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -6px; left: 0;
            width: 0; height: 1px;
            background: var(--black);
            transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .nav-link:hover::after { width: 100%; }

        /* Buttons */
        .btn-luxe {
            border: 1px solid var(--black);
            padding: 1.25rem 3rem;
            font-size: 11px;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            transition: all 0.5s ease;
            background: transparent;
            position: relative;
            overflow: hidden;
        }
        .btn-luxe:hover {
            color: var(--white);
            background: var(--black);
        }

        /* Modals & UI Elements */
        .modal-bg {
            background: rgba(255, 255, 255, 0.99);
            opacity: 0;
            visibility: hidden;
            transition: all 0.6s ease;
            backdrop-filter: blur(10px);
        }
        .modal-bg.active { opacity: 1; visibility: visible; }

        .parallax-wrap { overflow: hidden; position: relative; }
        .parallax-img { transition: transform 0.8s ease-out; scale: 1.15; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 3px; }
        ::-webkit-scrollbar-track { background: var(--white); }
        ::-webkit-scrollbar-thumb { background: var(--black); }

        .image-aspect { aspect-ratio: 4/5; }
        .no-scrollbar::-webkit-scrollbar { display: none; }
.marquee-track {
    display: flex;
    gap: 4rem;
    width: max-content;
    animation: marquee 35s linear infinite;
}

.marquee-track span {
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: 0.45em;
}

@keyframes marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
