        :root {
            --golden-alert: #FFC50F;
            --light-glow: #9a7b0c;
            --interior-beige: #564009;
            --bronze-shadow: #706D54;
            --deep-black: #a3ff65;
        }

        body {
            background-color: var(--deep-black);
            color: var(--interior-beige);
            font-family: 'Cinzel Decorative', serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Cinematic Background & Film Grain */
        .film-grain::after {
            content: "";
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: url('https://upload.wikimedia.org/wikipedia/commons/7/76/1k_grain.png');
            opacity: 0.04;
            pointer-events: none;
            z-index: 999;
        }

        /* Typography */
        h1, h2, h3, .nav-item {
            letter-spacing: 0.15em;
            text-transform: uppercase;
        }

        /* Light Leak Animations */
        .light-leak {
            position: fixed;
            width: 60vw;
            height: 60vw;
            background: radial-gradient(circle, rgba(255, 197, 15, 0.08) 0%, transparent 70%);
            filter: blur(80px);
            pointer-events: none;
            z-index: 1;
            mix-blend-mode: screen;
        }

        /* Glassmorphism Panels */
        .entry-panel {
            background: rgba(245, 238, 220, 0.03);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .entry-panel:hover {
            border-color: var(--golden-alert);
            background: rgba(255, 197, 15, 0.05);
        }

        /* Door Scroll Animation */
        .door-container {
            perspective: 2000px;
        }
        .door-leaf {
            transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
            transform-origin: left;
        }

        /* Navigation */
        .floating-nav {
            background: #a3ff65;
            border-bottom: 1px solid rgba(245, 225, 51, 0.705);
            transition: transform 0.5s ease;
        }

        /* Custom Buttons */
        .btn-luxury {
            position: relative;
            padding: 1rem 2.5rem;
            border: 1px solid var(--bronze-shadow);
            overflow: hidden;
            transition: all 0.4s ease;
            font-size: 0.7rem;
            letter-spacing: 0.3em;
        }
        .btn-luxury::before {
            content: '';
            position: absolute;
            top: 50%; left: 50%;
            width: 0; height: 0;
            background: var(--golden-alert);
            opacity: 0;
            transform: translate(-50%, -50%);
            transition: all 0.6s ease;
            z-index: -1;
        }
        .btn-luxury:hover {
            color: black;
            border-color: var(--golden-alert);
        }
        .btn-luxury:hover::before {
            width: 300px;
            height: 300px;
            opacity: 1;
        }

        /* Reveal Animations */
        .reveal-text {
            opacity: 0;
            transform: translateY(30px);
            filter: blur(10px);
            transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-text.active {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

        /* Mobile Menu */
        #mobile-menu {
            transform: translateY(-100%);
            transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
        }
        #mobile-menu.active {
            transform: translateY(0);
        }

        /* Identity Scan Effect */
        .scan-line {
            position: absolute;
            width: 100%;
            height: 2px;
            background: var(--golden-alert);
            box-shadow: 0 0 15px var(--golden-alert);
            top: 0;
            animation: scan 3s infinite linear;
        }
        @keyframes scan {
            0% { top: 0; }
            100% { top: 100%; }
        }
