        :root {
            --travel-ivory: #FAF9F6;
            --travel-navy: #0F172A;
            --travel-gold: #C5A059;
            --travel-clay: #B45309;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background-color: var(--travel-ivory);
            color: var(--travel-navy);
            scroll-behavior: smooth;
        }

        h1, h2, h3, .font-serif { font-family: 'Playfair Display', serif; }
        .font-luxury { font-family: 'Cormorant Garamond', serif; }

        /* Smooth Reveal System */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 1s cubic-bezier(0.2, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* Navigation Style */
        nav { transition: all 0.5s ease; border-bottom: 1px solid transparent; }
        nav.scrolled { background: rgba(250, 249, 246, 0.95); backdrop-filter: blur(10px); padding: 12px 0; border-color: rgba(15, 23, 42, 0.05); }

        /* Custom UI Elements */
        .glass-card { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); }
        .btn-gold { background: var(--travel-gold); color: white; padding: 14px 32px; border-radius: 2px; font-weight: 600; letter-spacing: 1px; transition: all 0.3s ease; }
        .btn-gold:hover { background: var(--travel-navy); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

        /* Animations */
        @keyframes panImg { from { transform: scale(1); } to { transform: scale(1.1); } }
        .animate-pan { animation: panImg 20s infinite alternate linear; }

        .no-scrollbar::-webkit-scrollbar { display: none; }
        .page-content { display: none; opacity: 0; }
        .page-content.active { display: block; animation: fadeIn 0.8s forwards; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Responsive Font Sizing */
        @media (max-width: 768px) {
            .hero-title { font-size: 3.5rem !important; line-height: 1; }
        }
