        :root { scroll-behavior: smooth; }
        body { 
            font-family: 'Raleway', sans-serif; 
            background-color: #FFFFFF; 
            color: #000000;
            overflow-x: hidden;
        }

        /* --- Custom Animations --- */
        .reveal { opacity: 0; transform: translateY(40px); transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .slide-in-left { opacity: 0; transform: translateX(-100px); transition: all 1s ease-out; }
        .slide-in-left.active { opacity: 1; transform: translateX(0); }

        /* --- Hero Split Logic --- */
        .hero-video-bg {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            object-fit: cover;
            filter: saturate(0.5) brightness(0.8);
            animation: slowZoom 20s infinite alternate;
        }
        @keyframes slowZoom {
            from { transform: scale(1); }
            to { transform: scale(1.1); }
        }

.hero-overlay-blue {
    background: rgba(143, 164, 250, 0.25); /* much lighter */
    
    border: 1px solid rgba(255, 255, 255, 0.3); /* glass edge */
}
        /* --- Signature Elements --- */
        .side-book-card {
            position: fixed;
            left: 0; top: 50%;
            transform: translateY(-50%);
            z-index: 999;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            transition: all 0.4s ease;
        }
        .side-book-card:hover {
            padding-left: 20px;
            background-color: #4E71FF;
            box-shadow: 10px 0 30px rgba(78, 113, 255, 0.3);
        }

        .fixed-bg-story {
            background-image: url('https://images.unsplash.com/photo-1444723121867-7a241cacace9?auto=format&fit=crop&q=80&w=2000');
            background-attachment: fixed;
            background-position: center;
            background-size: cover;
        }

        .overlapping-card {
            box-shadow: 0 30px 60px -12px rgba(50, 50, 93, 0.25), 0 18px 36px -18px rgba(0, 0, 0, 0.3);
        }

        /* --- Navigation & Interaction --- */
        .page-view { display: none; }
        .page-view.active { display: block; }
        
        .nav-link { position: relative;
                           top: -4rem;
                             }
        .nav-link::after {
            content: ''; position: absolute; width: 0; height: 1px;
            top: -4px; left: 0; background: #4E71FF;
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: white; }
        ::-webkit-scrollbar-thumb { background: #4E71FF; }
        .hero-overlay-blue h1,
.hero-overlay-blue p {
    text-shadow: 0 6px 30px rgba(0,0,0,0.7);
}

        /* Modal for Booking */
        #bookingModal {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.9);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
