        :root {
            --ivory: #F9F8F6;
            --charcoal: #1A1A1A;
            --beige: #E6DFD7;
            --taupe: #B8A99A;
            --gold: #C5A059;
        }

        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        ivory: '#F9F8F6',
                        charcoal: '#1A1A1A',
                        beige: '#E6DFD7',
                        taupe: '#B8A99A',
                    },
                    fontFamily: {
                        serif: ['"Playfair Display"', 'serif'],
                        sans: ['"Inter"', 'sans-serif'],
                    }
                }
            }
        }

        body {
            background-color: var(--ivory);
            color: var(--charcoal);
            font-family: 'Inter', sans-serif;
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        /* Editorial Animations */
        .fade-in { animation: fadeIn 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .img-zoom { transition: transform 2s cubic-bezier(0.25, 1, 0.5, 1); }
        .img-zoom:hover { transform: scale(1.08); }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-track { background: var(--ivory); }
        ::-webkit-scrollbar-thumb { background: var(--taupe); }

        /* Navigation Styles */
        nav { transition: all 0.5s ease; }
        .nav-scrolled { background: rgba(249, 248, 246, 0.98); backdrop-filter: blur(10px); padding-top: 0.75rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(0,0,0,0.05); }

        /* Page Transitions */
        .hidden-page { display: none; }
        .visible-page { display: block; animation: fadeIn 0.8s ease-out; }

        /* Luxury Button */
        .btn-luxury {
            position: relative;
            padding: 14px 36px;
            border: 1px solid var(--charcoal);
            overflow: hidden;
            transition: color 0.4s ease;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            font-size: 0.7rem;
            display: inline-block;
        }
        .btn-luxury::before {
            content: '';
            position: absolute;
            top: 0; left: -100%; width: 100%; height: 100%;
            background: var(--charcoal);
            transition: all 0.4s ease;
            z-index: -1;
        }
        .btn-luxury:hover { color: white; }
        .btn-luxury:hover::before { left: 0; }

        /* Sidebar & Modals */
        .sidebar { transform: translateX(100%); transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1); }
        .sidebar.open { transform: translateX(0); }

        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .parallax-section { background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; }
        
        /* Mobile Menu */
        #mobile-menu { transform: translateY(-100%); transition: transform 0.5s ease; }
        #mobile-menu.open { transform: translateY(0); }
    