        :root {
            --olive: #41431B;
            --soft-grey: #BFC6C4;
            --white: #FFFFFF;
        }

        body {
            font-family: 'Manrope', sans-serif;
            background-color: var(--white);
            color: var(--olive);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Marquee */
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .animate-marquee {
            display: flex;
            width: 200%;
            animation: marquee 25s linear infinite;
        }

        /* Animations */
        .fade-up {
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.8s ease-out;
        }
        .fade-up.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .overlap-container {
  position: relative;
}


        /* Page Transitions */
        .page-content {
            display: none;
            animation: fadeIn 0.5s ease-in-out;
        }
        .page-content.active { display: block; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #f9f9f9; }
        ::-webkit-scrollbar-thumb { background: var(--olive); border-radius: 10px; }

        /* Carousel */
        .carousel-track {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            -ms-overflow-style: none;
            gap: 2rem;
        }
        .carousel-track::-webkit-scrollbar { display: none; }
        .testimonial-card { flex: 0 0 350px; scroll-snap-align: start; }

        /* Overlap Section */
        .overlap-container { position: relative; height: 700px; }
        .overlap-main { width: 100%; height: 100%; object-fit: cover; }
        .overlap-float {
            position: absolute;
            left: 50%;
            top:80%;
            transform: translate(-50%, -50%);
            width: 500px;
            height: 600px;
            object-fit: cover;
            box-shadow: 0 30px 60px rgba(0,0,0,0.12);
        }

        /* Hero Animation */
        @keyframes zoomSlow {
            0% { transform: scale(1); }
            100% { transform: scale(1.1); }
        }
        .hero-zoom { animation: zoomSlow 20s infinite alternate; }

        /* Side Panels */
        .side-panel {
            position: fixed;
            top: 0;
            right: 0;
            width: 100%;
            max-width: 450px;
            height: 100%;
            background: white;
            z-index: 100;
            transform: translateX(100%);
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: -10px 0 30px rgba(0,0,0,0.05);
        }
        .side-panel.open { transform: translateX(0); }
        .overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.3);
            backdrop-filter: blur(4px);
            z-index: 90;
            display: none;
        }
        .overlay.open { display: block; }
