        :root {
            --primary: #9AB17A;
            --secondary: #C3CC9B;
            --highlight: #A98B76;
            --white: #FFFFFF;
            --dark: #2D3436;
        }

        body {
            font-family: 'Nunito', sans-serif;
            background-color: var(--white);
            color: var(--dark);
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        /* --- Header Logic --- */
        header {
            transition: transform 0.4s ease, background 0.4s ease;
        }
        header.hide { transform: translateY(-100%); }
        header.scrolled {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 30px rgba(0,0,0,0.05);
        }

        /* --- Navigation Underline --- */
        .nav-link { position: relative; padding-bottom: 4px; }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 0; height: 2px;
            background: var(--primary);
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        /* --- Hero Parallax --- */
        .parallax-bg {
            transform: scale(1.1);
            transition: transform 0.1s linear;
        }

        /* --- Animations --- */
        .reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.2, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .stagger-item { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
        .stagger-item.active { opacity: 1; transform: translateY(0); }

        /* --- Rotated Cards --- */
        .property-card {
            transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            transform: rotate(-2deg);
        }
        .property-card:nth-child(even) { transform: rotate(2deg); }
        .property-card:hover { transform: rotate(0deg) scale(1.02) translateY(-10px); z-index: 10; }

        /* --- Modal --- */
        .modal-overlay {
            position: fixed; inset: 0; background: rgba(45, 52, 54, 0.8);
            backdrop-filter: blur(8px); z-index: 2000;
            display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease;
        }
        .modal-overlay.active { display: flex; opacity: 1; }

        /* --- Custom Scrollbar --- */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 10px; }

        /* --- Carousel --- */
        .testimonial-track { display: flex; transition: transform 0.5s ease; cursor: grab; }
        .testimonial-track:active { cursor: grabbing; }
