        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            /* 60% - Dominant Light Colors */
            --primary-bg: #FAFAFA;
            --secondary-bg: #F5F5F5;
            --light-cream: #FFF8F5;

            /* 30% - Secondary Coral/Salmon */
            --coral-light: #FFAB91;
            --coral-medium: #FF8A80;
            --coral-warm: #FFCC80;

            /* 10% - Accent Sunset Colors */
            --sunset-orange: #FF6B35;
            --sunset-pink: #E91E63;
            --sunset-purple: #8E24AA;

            /* Supporting Colors */
            --forest-green: #2E7D32;
            --text-dark: #2C2C2C;
            --text-medium: #555555;
            --text-light: #777777;

            /* Glass Effects - Now Light */
            --glass: rgba(255, 255, 255, 0.8);
            --glass-border: rgba(255, 171, 145, 0.3);
            --glass-shadow: rgba(255, 107, 53, 0.1);
        }

        body {
            font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--primary-bg);
            color: var(--text-dark);
            overflow-x: hidden;
            cursor: auto;
        }

        /* Custom Cursor - Hidden */
        .cursor {
            display: none;
        }

        /* Hero Section */
        .hero {
            min-height: max(100vh, 700px);
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background: linear-gradient(135deg, var(--light-cream), var(--coral-warm), var(--coral-light));
            overflow: hidden;
            padding: clamp(2rem, 5vh, 4rem) clamp(1rem, 3vw, 3rem);
            box-sizing: border-box;
        }

        /* Viewport height safety for very short screens */
        @media (max-height: 600px) {
            .hero {
                min-height: 600px;
                padding: 1.5rem 1rem;
            }


            .nav-cards {
                gap: 1rem;
                margin-top: 1.5rem;
            }

            .nav-card {
                padding: 1rem 1.5rem;
                font-size: 0.9rem;
            }
        }

        /* Landscape mobile orientation safety */
        @media (max-height: 500px) and (orientation: landscape) {
            .hero {
                min-height: 500px;
                padding: 1rem;
            }

            .hero img {
                max-width: min(300px, 40vw);
                margin-bottom: 0.5rem;
            }


            .nav-cards {
                gap: 0.8rem;
                margin-top: 1rem;
                flex-direction: row;
            }
        }

        /* Sunset Background */
        .aurora-bg {
            position: absolute;
            width: 200%;
            height: 200%;
            top: -50%;
            left: -50%;
            background: linear-gradient(45deg, var(--sunset-orange), var(--sunset-pink), var(--sunset-purple));
            filter: blur(100px);
            opacity: 0.2;
            animation: aurora 15s ease-in-out infinite;
        }

        @keyframes aurora {
            0% { transform: translate(-20%, -10%) rotate(0deg) scale(1); }
            16% { transform: translate(10%, -20%) rotate(60deg) scale(1.3); }
            33% { transform: translate(25%, 5%) rotate(120deg) scale(0.9); }
            50% { transform: translate(-5%, 20%) rotate(180deg) scale(1.4); }
            66% { transform: translate(-25%, -5%) rotate(240deg) scale(0.7); }
            83% { transform: translate(15%, -15%) rotate(300deg) scale(1.1); }
            100% { transform: translate(-20%, -10%) rotate(360deg) scale(1); }
        }

        /* Title Animation */
        .hero-title {
            font-size: clamp(3rem, 12vw, 10rem);
            font-weight: 100;
            letter-spacing: clamp(0.1em, 2vw, 0.5em);
            text-transform: uppercase;
            background: linear-gradient(90deg, var(--sunset-purple), var(--sunset-orange), var(--sunset-pink));
            background-size: 200% auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: shimmer 3s linear infinite;
            z-index: 2;
            text-align: center;
            line-height: 1.1;
            word-spacing: clamp(0.1em, 1vw, 0.3em);
        }

        @keyframes shimmer {
            0% { background-position: 0% 50%; }
            100% { background-position: 200% 50%; }
        }




        @media (max-width: 600px) {
            /* Ensure "Infinite Memories" stays together on iPhone */
            .no-break {
                white-space: nowrap;
                display: inline-block;
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translate3d(0, 20px, 0);
                -webkit-transform: translate3d(0, 20px, 0);
            }
            to {
                opacity: 0.6;
                transform: translate3d(0, 0, 0);
                -webkit-transform: translate3d(0, 0, 0);
            }
        }

        /* Glass Card Navigation */
        .nav-cards {
            position: absolute;
            bottom: 50px;
            display: flex;
            gap: 2rem;
            z-index: 3;
            -webkit-transform: translate3d(0,0,0);
            transform: translate3d(0,0,0);
        }

        .nav-card {
            padding: 1rem 2.5rem;
            background: var(--glass);
            backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            border-radius: 20px;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: var(--text-dark);
            box-shadow: 0 8px 32px var(--glass-shadow);
        }

        .nav-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 107, 53, 0.2), transparent);
            transition: left 0.6s;
        }

        .nav-card:hover::before {
            left: 100%;
        }

        .nav-card:hover {
            transform: translateY(-10px) scale(1.05);
            background: rgba(255, 171, 145, 0.9);
            box-shadow: 0 20px 40px var(--glass-shadow);
            border-color: var(--sunset-orange);
        }

        /* Immersive Gallery */
        .gallery {
            padding: 10rem 0;
            position: relative;
            background: linear-gradient(180deg, var(--secondary-bg), var(--coral-light));
            z-index: 1;
        }

        .gallery-header {
            text-align: center;
            margin-bottom: 5rem;
        }

        .section-label {
            font-size: 0.9rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--text-medium);
            margin-bottom: 1rem;
            opacity: 0.8;
            font-weight: 500;
        }

        .section-title {
            font-size: clamp(2rem, 5vw, 4rem);
            font-weight: 200;
            letter-spacing: 0.1em;
            margin-bottom: 1rem;
        }

        /* Dynamic Scrolling Destinations */
        .destinations-scroller {
            position: relative;
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 1rem;
            overflow: hidden;
        }

        .destinations-track {
            display: flex;
            gap: 2rem;
            padding: 2rem 0;
            justify-content: flex-start;
            will-change: transform;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            touch-action: pan-y pinch-zoom;
            cursor: grab;
            /* Performance optimizations for smooth momentum */
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
            -webkit-overflow-scrolling: touch;
            /* Transition handled by SimpleCarousel */
        }

        @media (max-width: 768px) {
            .destinations-scroller {
                padding: 0 0.5rem;
            }

            .destinations-track {
                gap: 1rem;
                padding: 1rem 0;
                justify-content: flex-start;
            }
        }

        .scroller-controls {
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            display: flex;
            justify-content: space-between;
            pointer-events: none;
            z-index: 10;
            padding: 0 1rem;
        }

        .scroll-btn {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: var(--glass);
            backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
            pointer-events: all;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            /* GPU optimization */
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        /* Mobile optimization for scroll buttons */
        @media (max-width: 768px) {
            .scroll-btn {
                /* Remove backdrop-filter on mobile for performance */
                backdrop-filter: none;
                background: rgba(255, 255, 255, 0.2);
                border: 1px solid rgba(255, 255, 255, 0.3);
                transition: all 0.2s ease;
            }

            .scroll-btn:hover {
                background: rgba(0, 245, 255, 0.3);
                border-color: var(--aurora-1);
                transform: scale(1.05); /* Reduced from 1.1 */
            }
        }

        .scroll-btn:hover {
            background: rgba(0, 245, 255, 0.2);
            border-color: var(--aurora-1);
            transform: scale(1.1);
        }

        @media (max-width: 768px) {
            .scroller-controls {
                padding: 0 0.5rem;
            }

            .scroll-btn {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }
        }

        .destination-card {
            min-width: 400px;
            height: 500px;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.6s cubic-bezier(0.23, 1, 0.320, 1);
            border-radius: 20px;
            flex-shrink: 0;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            pointer-events: auto;
            /* Performance optimizations */
            will-change: transform;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
        }

        @media (max-width: 768px) {
            .destination-card {
                min-width: 280px;
                height: 400px;
                /* Enhanced mobile performance */
                transition: transform 0.3s ease-out;
                will-change: auto; /* Remove will-change when not animating to save memory */
            }

            .destination-number {
                font-size: 3rem;
                top: 1rem;
                right: 1rem;
                /* Ensure numbers render immediately */
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
            }

            .destination-content {
                padding: 2rem 1.5rem;
                transform: translateY(0) !important;
            }

            .destination-name {
                font-size: 1.5rem;
            }

            .destination-description {
                font-size: 0.8rem;
            }
        }

        .destination-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(255, 107, 53, 0.2), rgba(233, 30, 99, 0.2));
            opacity: 0;
            transition: opacity 0.4s;
            z-index: 2;
        }

        .destination-card:hover::before {
            opacity: 1;
        }

        .destination-card:hover {
            transform: scale(1.05);
            z-index: 10;
            box-shadow: 0 30px 80px rgba(255, 107, 53, 0.3);
        }

        .destination-bg {
            position: absolute;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            transition: transform 0.8s ease;
        }

        .destination-card:hover .destination-bg {
            transform: scale(1.1);
        }

        .destination-content {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 3rem 2rem;
            background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.4));
            transform: translateY(0);
            transition: transform 0.4s ease;
            backdrop-filter: blur(8px);
            /* GPU optimization */
            will-change: transform;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        .destination-card:hover .destination-content {
            transform: translateY(-10px);
            background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.6));
        }

        /* Mobile performance optimizations - Remove GPU-intensive effects */
        @media (max-width: 768px) {
            .destination-content {
                /* Replace backdrop-filter with solid background for performance */
                backdrop-filter: none;
                background: linear-gradient(to top, rgba(0,0,0,0.95), rgba(0,0,0,0.7));
                /* Simplify animations */
                transition: transform 0.2s ease;
            }

            .destination-card:hover .destination-content {
                /* Reduce hover effects on mobile for performance */
                transform: translateY(-5px);
                background: linear-gradient(to top, rgba(0,0,0,0.98), rgba(0,0,0,0.8));
            }

            .destination-card {
                /* Optimize mobile cards */
                transition: transform 0.3s ease;
                will-change: auto; /* Remove will-change when not animating */
            }

            .destination-card:hover {
                /* Reduce mobile hover effects */
                transform: scale(1.02);
                box-shadow: 0 15px 40px rgba(255, 107, 53, 0.2);
            }

            .destination-card:hover .destination-bg {
                /* Disable expensive scaling on mobile */
                transform: none;
            }
        }

        .destination-number {
            font-size: 4rem;
            font-weight: 100;
            color: #ffffff;
            opacity: 0.9;
            position: absolute;
            top: 2rem;
            right: 2rem;
            text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.6);
            z-index: 3;
        }

        .destination-name {
            font-size: 2rem;
            font-weight: 300;
            margin-bottom: 0.5rem;
            letter-spacing: 0.05em;
            color: #ffffff;
            text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8), 0 1px 4px rgba(0, 0, 0, 0.9);
        }

        .destination-state {
            color: #FFCC80;
            font-size: 0.9rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            margin-bottom: 1rem;
            text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
            font-weight: 500;
        }

        .destination-description {
            font-size: 0.85rem;
            line-height: 1.4;
            color: #f5f5f5;
            opacity: 0.95;
            margin-bottom: 1rem;
            text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9), 0 1px 2px rgba(0, 0, 0, 1);
        }

        .visit-date {
            font-size: 1.1rem;
            color: rgba(255, 255, 255, 0.95);
            margin: 1rem 0;
            font-weight: 500;
        }

        .destination-details {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .travel-time {
            font-size: 0.75rem;
            padding: 0.25rem 0.5rem;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            opacity: 0.95;
            color: #ffffff;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
            backdrop-filter: blur(4px);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* Mobile optimization for travel-time */
        @media (max-width: 768px) {
            .travel-time {
                /* Remove backdrop-filter on mobile for performance */
                backdrop-filter: none;
                background: rgba(255, 255, 255, 0.35);
                border: 1px solid rgba(255, 255, 255, 0.2);
            }
        }

        /* Interactive Map */
        .map-section {
            padding: 8rem 2rem;
            background: linear-gradient(135deg, var(--coral-light), var(--coral-medium));
            position: relative;
        }

        .map-container {
            max-width: 1400px;
            margin: 0 auto;
            position: relative;
        }

        .glass-map {
            width: 100%;
            height: 700px;
            background: var(--glass);
            backdrop-filter: blur(30px);
            border: 1px solid var(--glass-border);
            border-radius: 30px;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Animated Path */
        .journey-path {
            position: absolute;
            width: 80%;
            height: 60%;
        }

        .path-line {
            stroke: var(--aurora-1);
            stroke-width: 2;
            fill: none;
            stroke-dasharray: 1000;
            stroke-dashoffset: 1000;
            animation: drawPath 5s ease forwards;
            filter: drop-shadow(0 0 10px var(--aurora-1));
        }

        @keyframes drawPath {
            to { stroke-dashoffset: 0; }
        }

        /* Stats Section */
        .stats-section {
            padding: 6rem 2rem;
            background: var(--secondary-bg);
        }

        .stats-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1px;
            background: var(--glass-border);
            border-radius: 20px;
            overflow: hidden;
        }

        .stat-box {
            padding: 4rem;
            background: var(--primary-bg);
            text-align: center;
            position: relative;
            transition: all 0.4s ease;
            border-radius: 10px;
            box-shadow: 0 8px 32px var(--glass-shadow);
        }

        .stat-box::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at center, var(--sunset-pink), transparent);
            opacity: 0;
            transition: opacity 0.4s;
            border-radius: 10px;
        }

        .stat-box:hover::after {
            opacity: 0.1;
        }

        .stat-value {
            font-size: 4rem;
            font-weight: 100;
            background: linear-gradient(135deg, var(--sunset-orange), var(--sunset-pink));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .stat-desc {
            margin-top: 1rem;
            font-size: 1rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            opacity: 0.9;
            color: var(--text-dark);
            font-weight: 600;
            text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
        }

        /* Experience Section */
        .experience {
            padding: 8rem 2rem 6rem 2rem;
            background: linear-gradient(180deg, var(--primary-bg), var(--coral-warm));
            text-align: center;
        }

        .experience-cards {
            max-width: 1200px;
            margin: 4rem auto 0;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }

        .exp-card {
            padding: 3rem 2rem;
            background: var(--glass);
            backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            border-radius: 20px;
            position: relative;
            transition: all 0.4s ease;
            overflow: hidden;
        }

        .exp-card::before {
            content: '';
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background: linear-gradient(45deg, var(--sunset-orange), var(--sunset-pink), var(--sunset-purple));
            border-radius: 20px;
            opacity: 0;
            z-index: -1;
            transition: opacity 0.4s;
        }

        .exp-card:hover::before {
            opacity: 1;
        }

        .exp-card:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.9);
        }

        .exp-icon {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

        .exp-title {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 1rem;
        }

        .exp-desc {
            opacity: 0.6;
            line-height: 1.6;
        }

        /* CTA Section */
        .final-cta {
            min-height: 100vh;
            padding: 4rem 2rem;
            margin-top: 2rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            position: relative;
            background: linear-gradient(135deg, var(--coral-light), var(--coral-medium), var(--sunset-pink));
            overflow: hidden;
            z-index: 10;
        }

        .cta-content {
            text-align: center;
            z-index: 15;
            position: relative;
        }

        .cta-title {
            font-size: clamp(3rem, 7vw, 6rem);
            font-weight: 100;
            margin-bottom: 2rem;
            letter-spacing: 0.1em;
        }

        .cta-button {
            display: inline-block;
            padding: 2rem 4rem;
            font-size: 1.1rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            color: #fff;
            background: linear-gradient(135deg, var(--sunset-orange), var(--sunset-pink));
            border-radius: 50px;
            position: relative;
            overflow: hidden;
            transition: all 0.4s ease;
            box-shadow: 0 12px 40px rgba(255, 107, 53, 0.3);
        }

        .cta-button::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .cta-button:hover::before {
            width: 400px;
            height: 400px;
        }

        .cta-button:hover {
            transform: scale(1.05);
            box-shadow: 0 20px 60px rgba(255, 107, 53, 0.4);
        }

        /* Particles */
        .particles {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            pointer-events: none;
        }

        .particle {
            position: absolute;
            width: 2px;
            height: 2px;
            background: var(--sunset-orange);
            border-radius: 50%;
            opacity: 0.6;
            animation: floatUp 10s linear infinite;
        }

        @keyframes floatUp {
            0% {
                transform: translateY(100vh) translateX(0);
                opacity: 0;
            }
            10% {
                opacity: 0.5;
            }
            90% {
                opacity: 0.5;
            }
            100% {
                transform: translateY(-100vh) translateX(100px);
                opacity: 0;
            }
        }

        /* Large Tablet/iPad Pro Responsive Design (1024px to 1366px) */
        @media (min-width: 1024px) and (max-width: 1366px) {
            .hero {
                min-height: 100vh;
                padding: 4rem 3rem 5rem 3rem;
                display: flex;
                flex-direction: column;
                justify-content: center;
                position: relative;
            }

            .hero img {
                max-width: 500px;
                margin-bottom: 1.2rem;
            }


            .nav-cards {
                position: relative;
                bottom: auto;
                margin-top: 2.5rem;
                margin-bottom: 4rem;
                z-index: 10;
                gap: 2rem;
                -webkit-transform: translate3d(0,0,0);
                transform: translate3d(0,0,0);
            }

            .nav-card {
                padding: 1.6rem 2.5rem;
                font-size: 1.1rem;
                position: relative;
                z-index: 10;
            }

            .glass-map {
                height: 650px;
            }

            /* Large iPad experience cards - center bottom row when wrapping */
            .experience-cards {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 2.5rem;
                max-width: 1200px;
                margin: 4rem auto 0;
            }

            .exp-card {
                flex: 1 1 calc(33.333% - 2.5rem);
                min-width: 280px;
                max-width: 350px;
            }
        }

        /* Comprehensive Screen Size Coverage - Fills all gaps */

        /* Extra Small Mobile (320px-480px) */
        @media (max-width: 480px) {
            .hero {
                min-height: max(100vh, 600px);
                padding: clamp(1.5rem, 4vw, 3rem) 1rem;
            }

            /* Extra small screens - ensure no overlap */
            .experience {
                padding: 3rem 1rem 2rem 1rem;
            }

            .final-cta {
                min-height: 80vh;
                padding: 2rem 1rem;
                margin-top: 2rem;
            }

            .cta-title {
                font-size: clamp(1.5rem, 10vw, 3rem);
                margin-bottom: 1.5rem;
            }
        }

        /* Small Mobile to Small Tablet (481px-600px) */
        @media (min-width: 481px) and (max-width: 600px) {
            .hero {
                min-height: max(100vh, 650px);
                padding: clamp(2rem, 5vw, 3.5rem) 1.5rem;
            }

            .hero img {
                max-width: clamp(300px, 50vw, 400px);
                margin-bottom: 1rem;
            }


            .nav-cards {
                gap: 1.5rem;
                margin-top: 2rem;
                margin-bottom: 2rem;
            }
        }

        /* Medium Screens (601px-767px) */
        @media (min-width: 601px) and (max-width: 767px) {
            .hero {
                min-height: max(100vh, 700px);
                padding: clamp(2.5rem, 5vw, 4rem) 2rem;
            }

            .hero img {
                max-width: clamp(350px, 55vw, 450px);
                margin-bottom: 1.2rem;
            }


            .nav-cards {
                gap: 1.8rem;
                margin-top: 2.5rem;
                margin-bottom: 2.5rem;
            }
        }

        /* Standard Mobile (original breakpoint enhanced) */
        @media (max-width: 768px) {
            .hero img {
                max-width: 280px;
                margin-bottom: 1rem;
            }

            .hero-title {
                font-size: clamp(3rem, 8vw, 4rem);
                margin-bottom: 1.5rem;
            }


            .nav-cards {
                gap: 1rem;
                margin-top: 2rem;
            }

            .nav-card {
                padding: 1.2rem 1.8rem;
                font-size: 0.95rem;
            }
        }

        /* Desktop Bridge (1367px-1600px) */
        @media (min-width: 1367px) and (max-width: 1600px) {
            .hero {
                min-height: max(100vh, 900px);
                padding: clamp(4rem, 6vw, 6rem) 3rem;
            }

            .hero img {
                max-width: clamp(700px, 70vw, 900px);
            }


            .nav-cards {
                gap: clamp(2.5rem, 4vw, 3.5rem);
                margin-top: clamp(3rem, 5vw, 4.5rem);
                margin-bottom: 4rem;
            }

            .nav-card {
                padding: clamp(1.8rem, 3vw, 2.5rem) clamp(2.5rem, 4vw, 3.5rem);
                font-size: clamp(1.1rem, 2vw, 1.4rem);
            }
        }

        /* MacBook Air & Laptop Screens - Fix overlap on wide but short screens */
        @media (min-width: 1400px) and (max-width: 1500px) and (max-height: 1000px) {
            .hero {
                min-height: 100vh;
                padding: clamp(2rem, 4vh, 3rem) 3rem;
                justify-content: space-between;
                align-items: center;
            }

            .hero img {
                max-width: clamp(500px, 55vw, 650px);
                margin-bottom: 0.8rem;
                flex-shrink: 0;
            }


            .nav-cards {
                gap: 2rem;
                margin-top: 1.5rem;
                margin-bottom: 1rem;
                flex-shrink: 0;
            }

            .nav-card {
                padding: 1.3rem 2rem;
                font-size: 1rem;
            }
        }

        /* Specific MacBook Air 13" (1440x900) Override */
        @media (width: 1440px) and (height: 900px) {
            .hero {
                padding: 1.5rem 3rem;
                min-height: 100vh;
            }

            .hero img {
                max-width: 580px;
                margin-bottom: 0.5rem;
            }


            .nav-cards {
                margin-top: 1.2rem;
                gap: 1.8rem;
            }

            .nav-card {
                padding: 1.2rem 1.8rem;
                font-size: 0.95rem;
            }
        }

        /* Ultra-Wide Screens (1601px+) */
        @media (min-width: 1601px) {
            .hero {
                min-height: max(100vh, 1000px);
                padding: clamp(5rem, 8vh, 8rem) 4rem;
            }

            .hero img {
                max-width: clamp(800px, 75vw, 1100px);
            }

            .hero-title {
                font-size: clamp(6rem, 8vw, 10rem);
            }


            .nav-cards {
                gap: clamp(3rem, 5vw, 4rem);
                margin-top: clamp(4rem, 6vw, 5rem);
                margin-bottom: 4rem;
            }

            .nav-card {
                padding: clamp(2rem, 3.5vw, 2.8rem) clamp(3rem, 5vw, 4rem);
                font-size: clamp(1.3rem, 2.2vw, 1.6rem);
            }
        }

        /* Critical Height-Based Queries - Prevents Overlap on Short Screens */

        /* Very Short Screens (max-height: 750px) - Handles 1400x700 and similar */
        @media (max-height: 750px) {
            .hero {
                min-height: 100vh;
                padding: clamp(0.5rem, 2vh, 1rem) clamp(1rem, 3vw, 2rem);
                justify-content: space-evenly;
                align-items: center;
            }

            .hero img {
                max-width: clamp(300px, 45vw, 450px);
                margin-bottom: 0;
                flex-basis: auto;
                flex-shrink: 0;
            }


            .nav-cards {
                gap: clamp(1rem, 3vw, 1.5rem);
                margin-top: 0;
                margin-bottom: 0;
                flex-basis: auto;
                flex-shrink: 0;
            }

            .nav-card {
                padding: clamp(0.8rem, 2vh, 1rem) clamp(1.2rem, 3vw, 1.5rem);
                font-size: clamp(0.8rem, 1.8vw, 0.95rem);
            }
        }

        /* Ultra-Short Screens (max-height: 650px) - Emergency compact mode */
        @media (max-height: 650px) {
            .hero {
                padding: 0.5rem 1rem;
                justify-content: space-around;
            }

            .hero img {
                max-width: clamp(250px, 40vw, 350px);
            }


            .nav-cards {
                gap: 0.8rem;
            }

            .nav-card {
                padding: 0.6rem 1rem;
                font-size: clamp(0.75rem, 1.6vw, 0.85rem);
            }
        }

        /* Wide but Short Screens (specific ranges) - Laptops with odd resolutions */
        @media (min-width: 1200px) and (max-height: 800px) {
            .hero {
                justify-content: space-between;
                align-items: center;
                padding: clamp(0.8rem, 3vh, 1.5rem) 2rem;
            }

            .hero img {
                flex: 0 0 auto;
                max-width: clamp(400px, 50vw, 550px);
                margin-bottom: 0;
            }


            .nav-cards {
                flex: 0 0 auto;
                gap: clamp(1.2rem, 3vw, 2rem);
                margin: 0;
            }

            .nav-card {
                padding: clamp(1rem, 2.5vh, 1.3rem) clamp(1.5rem, 3vw, 2rem);
                font-size: clamp(0.9rem, 1.8vw, 1.05rem);
            }
        }


        /* Medium Tablet Bridge (769px-900px) */
        @media (min-width: 769px) and (max-width: 900px) {
            .hero {
                min-height: max(100vh, 750px);
                padding: clamp(3rem, 5vw, 4rem) 2rem;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            .hero img {
                max-width: clamp(400px, 60vw, 500px);
                margin-bottom: 1.2rem;
            }


            .nav-cards {
                gap: 1.8rem;
                margin-top: 2.5rem;
                margin-bottom: 3rem;
                z-index: 10;
            }
        }

        /* Large Tablet Bridge (901px-1023px) */
        @media (min-width: 901px) and (max-width: 1023px) {
            .hero {
                min-height: max(100vh, 800px);
                padding: clamp(3.5rem, 5vw, 4.5rem) 2.5rem;
                display: flex;
                flex-direction: column;
                justify-content: center;
            }

            .hero img {
                max-width: clamp(450px, 65vw, 550px);
                margin-bottom: 1.3rem;
            }


            .nav-cards {
                gap: 2rem;
                margin-top: 2.8rem;
                margin-bottom: 3.5rem;
                z-index: 10;
            }
        }

        /* Standard Tablet/iPad Responsive Design (768px to 1024px) */
        @media (min-width: 768px) and (max-width: 1024px) {
            .hero {
                min-height: 100vh;
                padding: 3rem 2rem 4rem 2rem;
                box-sizing: border-box;
                display: flex;
                flex-direction: column;
                justify-content: center;
                position: relative;
            }

            .hero img {
                max-width: 450px;
                margin-bottom: 1rem;
            }


            .nav-cards {
                position: relative;
                bottom: auto;
                margin-top: 2rem;
                margin-bottom: 3rem;
                z-index: 10;
                gap: 1.5rem;
                -webkit-transform: translate3d(0,0,0);
                transform: translate3d(0,0,0);
            }

            .nav-card {
                padding: 1.4rem 2.2rem;
                font-size: 1rem;
                position: relative;
                z-index: 10;
            }

            /* Tablet gallery section */
            .gallery {
                padding: 8rem 2rem;
            }

            /* Tablet map controls */
            .glass-map {
                height: 600px;
            }

            .map-controls {
                bottom: 25px;
                gap: 12px;
            }

            .map-control-btn {
                padding: 14px 18px;
                font-size: 0.9rem;
            }

            /* iPad experience cards - center bottom row when wrapping */
            .experience-cards {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 2rem;
                max-width: 1200px;
                margin: 4rem auto 0;
            }

            .exp-card {
                flex: 1 1 calc(33.333% - 2rem);
                min-width: 250px;
                max-width: 300px;
            }
        }

        /* Mobile Responsive Design (max-width: 768px) */
        @media (max-width: 768px) {
            .destinations {
                grid-template-columns: 1fr;
            }
            .stats-grid {
                grid-template-columns: 1fr;
            }
            .nav-cards {
                flex-direction: column;
                gap: 1rem;
            }

            /* Mobile experience section - reduce padding */
            .experience {
                padding: 4rem 1rem 3rem 1rem;
            }

            /* Mobile final CTA section */
            .final-cta {
                min-height: 100vh;
                padding: 3rem 1rem;
                margin-top: 1rem;
            }

            .cta-title {
                font-size: clamp(2rem, 8vw, 4rem);
                margin-bottom: 2rem;
            }

            /* Mobile social buttons */
            .cta-button {
                padding: 1.5rem 2rem;
                font-size: 0.9rem;
                margin-bottom: 1rem;
            }

            .cta-button img {
                width: 20px !important;
                height: 20px !important;
                margin-right: 8px !important;
            }

            /* Mobile hero section adjustments - compact for viewport */
            .hero {
                min-height: 100vh;
                height: 100vh;
                padding: 2rem 1rem 1rem 1rem;
                box-sizing: border-box;
                justify-content: center;
            }

            /* Mobile logo sizing */
            .hero img {
                max-width: 280px !important;
                margin-bottom: 0.5rem !important;
            }

            /* Mobile nav cards positioning - closer to logo */
            .nav-cards {
                position: relative;
                bottom: auto;
                margin-top: 1rem;
                z-index: 5;
                gap: 1rem;
            }

            .nav-card {
                padding: 1rem 1.5rem;
                font-size: 0.9rem;
            }

            /* Mobile gallery section */
            .gallery {
                padding: 6rem 1rem;
                margin-top: 2rem;
            }

            /* Mobile experience cards */
            .experience-cards {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .exp-card {
                padding: 2rem 1.5rem;
            }

            /* Mobile map section */
            .map-section {
                padding: 4rem 1rem;
            }

            .glass-map {
                height: 500px;
                border-radius: 20px;
            }

            /* Hide desktop controls on mobile */
            .map-controls.desktop-controls {
                display: none !important;
            }

            /* Mobile controls positioned under map */
            .map-controls.mobile-controls {
                display: grid !important;
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto auto;
                gap: 12px;
                margin-top: 1.5rem;
                padding: 0 1rem;
                position: relative;
                transform: none;
                left: auto;
                bottom: auto;
                max-width: none;
            }

            .map-controls.mobile-controls .map-control-btn {
                padding: 16px 12px;
                font-size: 0.85rem;
                white-space: normal;
                min-height: 55px;
                text-align: center;
                line-height: 1.4;
                display: flex;
                align-items: center;
                justify-content: center;
                word-break: break-word;
                border-radius: 15px;
            }

            /* Mobile gallery header */
            .gallery-header {
                padding: 0 1rem;
            }

            .section-title {
                font-size: 2.5rem;
            }
        }

        /* Mapbox Styles - Critical positioning fixes */
        .mapboxgl-marker {
            /* Reset any default styles that could affect positioning */
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
        }

        #map {
            width: 100%;
            height: 100%;
            border-radius: 20px;
        }

        .journey-marker {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: box-shadow 0.3s ease, border-color 0.3s ease;
            margin: 0;
            padding: 0;
            border: 2px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            /* No position or transform properties to avoid Mapbox positioning conflicts */
        }

        .journey-marker.completed {
            background: linear-gradient(135deg, #FF6B35, #FFAB91) !important;
            box-shadow: 0 4px 20px rgba(255, 107, 53, 0.6) !important;
            border-color: rgba(255, 255, 255, 0.9) !important;
        }

        .journey-marker.current {
            background: linear-gradient(135deg, #FFD700, #FFA500) !important;
            box-shadow: 0 4px 30px rgba(255, 215, 0, 0.8) !important;
            animation: currentPulse 2s infinite;
            border-color: rgba(255, 255, 255, 1) !important;
        }

        @keyframes currentPulse {
            0%, 100% {
                box-shadow: 0 4px 30px rgba(255, 215, 0, 0.8);
            }
            50% {
                box-shadow: 0 8px 60px rgba(255, 215, 0, 1);
            }
        }

        .journey-marker.future {
            background: rgba(255, 255, 255, 0.1) !important;
            border: 2px solid rgba(255, 255, 255, 0.4) !important;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
        }

        .marker-number {
            font-size: 14px;
            font-weight: 700;
            color: #000;
            z-index: 2;
            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
        }

        .journey-marker.future .marker-number {
            color: #fff;
        }

        .marker-pulse {
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            opacity: 0;
            pointer-events: none;
        }

        .marker-pulse.current {
            background: #FFD700;
            animation: pulse-ring 2s infinite;
        }

        @keyframes pulse-ring {
            0% {
                transform: scale(1);
                opacity: 1;
            }
            100% {
                transform: scale(2.5);
                opacity: 0;
            }
        }

        .mapboxgl-popup {
            max-width: 320px !important;
        }

        .mapboxgl-popup-content {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            border-radius: 15px;
            padding: 0;
            color: var(--text-dark);
            box-shadow: 0 20px 40px var(--glass-shadow);
        }

        .mapboxgl-popup-close-button {
            color: var(--text-dark);
            font-size: 20px;
            padding: 5px 10px;
        }

        .mapboxgl-popup-close-button:hover {
            background: var(--coral-light);
        }

        .journey-popup {
            padding: 20px;
        }

        .journey-popup h3 {
            font-size: 1.3rem;
            font-weight: 300;
            margin-bottom: 10px;
            background: linear-gradient(135deg, var(--sunset-orange), var(--sunset-pink));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .journey-popup .address {
            font-size: 0.9rem;
            opacity: 0.6;
            margin-bottom: 15px;
        }

        .journey-popup .description {
            font-size: 1rem;
            line-height: 1.5;
            margin-bottom: 15px;
            opacity: 0.9;
        }

        .journey-stats {
            display: flex;
            gap: 15px;
            margin-bottom: 15px;
            padding: 10px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 10px;
        }

        .journey-stats span {
            font-size: 0.9rem;
        }

        .marker-footer {
            text-align: center;
            font-size: 0.85rem;
            color: var(--sunset-orange);
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }

        .map-controls {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 10;
            flex-wrap: wrap;
            justify-content: center;
        }

        .mobile-controls {
            display: none;
        }

        .map-control-btn {
            padding: 10px 20px;
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            border: 1px solid var(--glass-border);
            border-radius: 25px;
            color: var(--text-dark);
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            box-shadow: 0 4px 16px var(--glass-shadow);
        }

        .map-control-btn:hover {
            background: var(--coral-light);
            border-color: var(--sunset-orange);
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(255, 107, 53, 0.2);
        }

        /* Coming Soon Mystery Marker Animations */
        @keyframes mysteryGlow {
            0% {
                background-position: 0% 50%;
                filter: hue-rotate(0deg);
            }
            25% {
                background-position: 100% 50%;
                filter: hue-rotate(15deg);
            }
            50% {
                background-position: 100% 100%;
                filter: hue-rotate(30deg);
            }
            75% {
                background-position: 0% 100%;
                filter: hue-rotate(15deg);
            }
            100% {
                background-position: 0% 50%;
                filter: hue-rotate(0deg);
            }
        }

        @keyframes mysteryPulse {
            0% {
                transform: scale(1);
                opacity: 0.3;
            }
            50% {
                transform: scale(1.2);
                opacity: 0.6;
            }
            100% {
                transform: scale(1);
                opacity: 0.3;
            }
        }

        @keyframes mysteryShimmer {
            0% {
                transform: translateX(-100%);
            }
            50% {
                transform: translateX(100%);
            }
            100% {
                transform: translateX(300%);
            }
        }
        }