*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
        body { font-family: 'Inter', sans-serif; background: #050505; color: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
        .font-display { font-family: 'Cormorant Garamond', serif; }
        
        /* Lenis smooth scroll */
        html.lenis, html.lenis body {
            height: auto;
        }
        
        .lenis.lenis-smooth {
            scroll-behavior: auto !important;
        }
        
        .lenis.lenis-smooth [data-lenis-prevent] {
            overscroll-behavior: contain;
        }
        
        .lenis.lenis-stopped {
            overflow: hidden;
        }
        
        .lenis.lenis-smooth iframe {
            pointer-events: none;
        }
        
        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: #050505; }
        ::-webkit-scrollbar-thumb { background: #c49a2e; border-radius: 4px; }

        /* Creative Top Header */
        .top-header {
            background: linear-gradient(135deg, rgba(196, 154, 46, 0.1) 0%, rgba(10, 10, 10, 0.8) 100%);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(196, 154, 46, 0.15);
        }

        /* Glassmorphism */
        .glass {
            background: rgba(255, 255, 255, 0.02);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.06);
        }
        .glass-dark {
            background: rgba(5, 5, 5, 0.85);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            transition: background 0.4s ease, border-color 0.4s ease;
        }

        /* Hero Text Shadows for Visibility */
        .hero-text-shadow {
            text-shadow: 0 4px 30px rgba(0,0,0,0.8), 0 2px 10px rgba(0,0,0,0.6);
        }
        .hero-glow {
            text-shadow: 0 0 40px rgba(196, 154, 46, 0.3), 0 4px 20px rgba(0,0,0,0.8);
        }

        /* Gyroscope Container */
        .gyro-container {
            transform-style: preserve-3d;
            perspective: 1000px;
            will-change: transform;
        }
        .gyro-element {
            transition: transform 0.1s linear;
            will-change: transform;
        }

        /* Animations */
        .gold-shimmer {
            background: linear-gradient(90deg, #c49a2e 0%, #e4c870 25%, #f9edc7 50%, #e4c870 75%, #c49a2e 100%);
            background-size: 200% auto;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: shimmer 3s linear infinite;
        }
        @keyframes shimmer { to { background-position: 200% center; } }

        .magnetic-btn {
            position: relative; overflow: hidden;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .magnetic-btn::before {
            content: ''; position: absolute; inset: 0;
            background: linear-gradient(135deg, #c49a2e, #a67c1a);
            transform: scaleX(0); transform-origin: right;
            transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
            z-index: -1;
        }
        .magnetic-btn:hover::before { transform: scaleX(1); transform-origin: left; }
        .magnetic-btn:hover { color: #0a0a0a; border-color: #c49a2e; }

        .section-divider {
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(196,154,46,0.2), transparent);
        }

        /* Loader */
        .loader { position: fixed; inset: 0; background: #050505; z-index: 9999; display: flex; align-items: center; justify-content: center; flex-direction: column; }
        .loader-line { width: 0; height: 1px; background: #c49a2e; margin-top: 24px; }
        
        /* Nav */
        .nav-link { position: relative; }
        .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: #c49a2e; transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .nav-link:hover::after, .nav-link.active::after { width: 100%; }

        /* Cards */
        .amenity-card { transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
        .amenity-card:hover { transform: translateY(-8px); border-color: rgba(196, 154, 46, 0.3); background: rgba(196, 154, 46, 0.05); }
        .amenity-card:hover .amenity-icon { color: #c49a2e; transform: scale(1.1); }
        .amenity-icon { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }

        .floor-card { transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
        .floor-card:hover { transform: translateY(-12px); }
        .floor-card:hover img { transform: scale(1.05); }
        .floor-card img { transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }

        .gallery-item { overflow: hidden; position: relative; border-radius: 4px; }
        .gallery-item img { transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
        .gallery-item:hover img { transform: scale(1.08); }
        .gallery-item::after {
            content: ''; position: absolute; inset: 0;
            background: linear-gradient(to top, rgba(5,5,5,0.8) 0%, transparent 60%);
            opacity: 0.6; transition: opacity 0.4s ease;
        }
        .gallery-item:hover::after { opacity: 0.8; }

        /* Badges */
        .package-badge {
            background: linear-gradient(135deg, #c49a2e, #a67c1a);
            box-shadow: 0 4px 30px rgba(196, 154, 46, 0.2);
        }

        /* Mobile Menu */
        .mobile-menu { transform: translateX(100%); transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
        .mobile-menu.open { transform: translateX(0); }
        .hamburger span { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
        .hamburger.active span:nth-child(2) { opacity: 0; }
        .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

        /* Form */
        .form-input {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .form-input:focus { border-color: #c49a2e; background: rgba(255, 255, 255, 0.06); outline: none; box-shadow: 0 0 20px rgba(196, 154, 46, 0.1); }

        /* Image Loading */
        img { opacity: 0; transition: opacity 0.8s ease; }
        img.loaded { opacity: 1; }

        /* Pin Pulse */
        .pin-pulse { animation: pinPulse 2s infinite; }
        @keyframes pinPulse { 0% { box-shadow: 0 0 0 0 rgba(196,154,46,0.4); } 70% { box-shadow: 0 0 0 20px rgba(196,154,46,0); } 100% { box-shadow: 0 0 0 0 rgba(196,154,46,0); } }

        /* Utility */
        .text-balance { text-wrap: balance; }
        
        /* Responsive Typography */
        @media (max-width: 640px) {
            .hero-title { font-size: 2.5rem !important; line-height: 1.1 !important; }
            .hero-byline { font-size: 1.25rem !important; }
        }
        
        /* Hide scrollbar for mobile menu */
        .no-scroll {
            overflow: hidden !important;
            height: 100vh;
            touch-action: none;
        }
        
        .top-header {
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
        }
        
        /* Animated Scroll Mouse Icon */
        .mouse-icon {
            width: 22px;
            height: 36px;
            border: 1.5px solid rgba(255, 255, 255, 0.35);
            border-radius: 12px;
            position: relative;
            display: flex;
            justify-content: center;
            padding-top: 8px;
        }
        
        .mouse-wheel {
            width: 3px;
            height: 6px;
            background: rgba(196, 154, 46, 0.8);
            border-radius: 2px;
            animation: mouseScroll 2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite;
        }
        
        @keyframes mouseScroll {
            0% {
                opacity: 1;
                transform: translateY(0) scaleY(1);
            }
            50% {
                opacity: 1;
                transform: translateY(6px) scaleY(1.2);
            }
            100% {
                opacity: 0;
                transform: translateY(14px) scaleY(0.5);
            }
        }
        
        /* Remove old bounce animation since we use mouse now */
        .scroll-indicator {
            animation: fadeInUp 0.8s ease forwards;
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translate(-50%, 10px);
            }
            to {
                opacity: 1;
                transform: translate(-50%, 0);
            }
        }
        
        .diamond-badge {
            animation: floatDiamond 4s ease-in-out infinite;
        }

        @keyframes floatDiamond {
            0%,100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-5px);
            }
        }
        
        .gold-badge {
            animation: floatGold 4s ease-in-out infinite;
        }

        @keyframes floatGold {
            0%,100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-5px);
            }
        }
        
        /* ==========================================
           LUXURY CUSTOM CURSOR
           ========================================== */
        .custom-cursor {
            position: fixed;
            top: 0;
            left: 0;
            width: 20px;
            height: 20px;
            border: 1px solid rgba(196, 154, 46, 0.6);
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999;
            transform: translate(-50%, -50%);
            transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                        height 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                        background 0.3s ease,
                        border-color 0.3s ease,
                        mix-blend-mode 0.3s ease;
            mix-blend-mode: difference;
        }
        
        .custom-cursor.hover {
            width: 60px;
            height: 60px;
            background: rgba(196, 154, 46, 0.08);
            border-color: rgba(196, 154, 46, 0.4);
        }
        
        .custom-cursor.click {
            width: 15px;
            height: 15px;
            background: rgba(196, 154, 46, 0.3);
        }
        
        /* Cursor dot (center) */
        .cursor-dot {
            position: fixed;
            top: 0;
            left: 0;
            width: 4px;
            height: 4px;
            background: #c49a2e;
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999;
            transform: translate(-50%, -50%);
        }
        
        /* Cursor trail */
        .cursor-trail {
            position: fixed;
            top: 0;
            left: 0;
            width: 8px;
            height: 8px;
            background: rgba(196, 154, 46, 0.15);
            border-radius: 50%;
            pointer-events: none;
            z-index: 99998;
            transform: translate(-50%, -50%);
            transition: transform 0.15s ease-out;
        }
        
        /* Fast scroll state */
        .custom-cursor.scroll {
            width: 12px;
            height: 12px;
            background: rgba(196, 154, 46, 0.2);
            border-color: rgba(196, 154, 46, 0.3);
            mix-blend-mode: normal;
        }
        
        /* Hide default cursor on desktop */
        @media (pointer: fine) {
            body, a, button, [role="button"], input, textarea, select, label {
                /*cursor: none !important;*/
            }
        }
        
        /* Show default cursor on touch devices */
        @media (pointer: coarse) {
            .custom-cursor,
            .cursor-dot,
            .cursor-trail {
                display: none !important;
            }
        }
        
        @media (max-width: 991px) {
            .custom-cursor,
            .cursor-dot,
            .cursor-trail {
                display: none !important;
            }
        }