        :root {
            --ivory: #FDFCF8;
            --charcoal: #1A1A1A;
            --espresso: #2D2424;
            --copper: #B88E76;
            --taupe: #8E847E;
            --warm-gray: #F4F2EE;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--ivory);
            color: var(--charcoal);
            overflow-x: hidden;
        }

        .heading-serif { font-family: 'Playfair Display', serif; }
        .heading-classic { font-family: 'Libre Baskerville', serif; }
        .script-text { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; }

        .glass-nav {
            background: rgba(253, 252, 248, 0.95);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(45, 36, 36, 0.05);
        }

        .btn-luxe {
            background-color: var(--charcoal);
            color: var(--ivory);
            transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }
        .btn-luxe:hover {
            background-color: var(--copper);
            letter-spacing: 0.4em;
        }

        .reveal { opacity: 0; transform: translateY(30px); transition: all 1s ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .img-zoom-container { overflow: hidden; border-radius: 2px; }
        .img-zoom-container img { transition: transform 2s cubic-bezier(0.16, 1, 0.3, 1); }
        .img-zoom-container:hover img { transform: scale(1.1); }

        .page { display: none; }
        .page.active { display: block; animation: pageFade 0.8s ease; }

        @keyframes pageFade { from { opacity: 0; } to { opacity: 1; } }

        /* Custom Booking Steps */
        .step-inactive { opacity: 0.3; pointer-events: none; }
    