:root {
            --primary: #c5a059;
            --dark: #030d1e;
        }

        /* 1. TYPOGRAPHY & BASE */
        body {
            margin: 0;
            font-family: 'Montserrat', 'Inter', sans-serif;
            color: var(--dark);
            background-color: #fff;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        .serif {
            font-family: 'Playfair Display', serif;
        }

        /* Hide Scrollbar for Lenis smooth scrolling */
        ::-webkit-scrollbar { 
            width: 0; 
            display: none; 
        }

        /* 2. NAVIGATION LINKS */
        .nav-link {
            font-size: 11px;
            letter-spacing: 0.4em;
            text-transform: uppercase;
            font-weight: 600;
        }

        /* 3. BUTTONS (Enquire Now and Discover More) */
        .enquire-btn, .hero-glass-btn {
            transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        /* Specific border for solid nav state */
        .nav-solid .enquire-btn {
            border: 1px solid rgba(0, 0, 0, 0.3);
        }

        .enquire-btn:hover, .hero-glass-btn:hover {
            background-color: white !important;
            color: black !important;
            border-color: white !important;
        }

        /* Explicit black hover for solid/contact nav button */
        .nav-solid .enquire-btn:hover {
            background-color: #030d1e !important;
            color: white !important;
            border-color: #030d1e !important;
        }

        /* Scrolled Button State logic */
        .nav-scrolled .enquire-btn {
            border-color: rgba(0, 0, 0, 0.2) !important;
            color: #030d1e !important;
        }

        .nav-scrolled .enquire-btn:hover {
            background-color: #030d1e !important;
            color: white !important;
            border-color: #030d1e !important;
        }

        /* 4. NAVBAR SCROLL & LOGO LOGIC */
        #navbar {
            transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            border-bottom: none;
        }

        #logo-img {
            height: 60px;
            transition: all 0.6s ease;
            /* Force logo to be WHITE on the transparent header */
            filter: brightness(0) invert(1);
        }

        /* Scrolled and Forced Solid backgrounds */
        .nav-scrolled {
            background: rgba(255, 255, 255, 0.98) !important;
            backdrop-filter: blur(20px);
            padding-top: 1.5rem !important;
            padding-bottom: 1.5rem !important;
            box-shadow: 0 4px 20px rgba(0,0,0,0.05);
        }

        /* The only place border-bottom should appear */
        .nav-solid {
            border-bottom: 1px solid rgba(78, 62, 62, 0.05) !important;
            background: rgba(255, 255, 255, 0.98) !important;
            backdrop-filter: blur(20px);
        }

        /* LOGO SWAP: Remove filter to show ORIGINAL logo when scrolled or solid */
        .nav-scrolled #logo-img {
            filter: none !important;
            /* height: 45px; */
        }
        .nav-solid #logo-img{
            filter: none !important;
        }

        .nav-scrolled .nav-link, .nav-scrolled #mobile-menu-btn,
        .nav-solid .nav-link, .nav-solid #mobile-menu-btn {
            color: #030d1e !important;
        }

        /* 5. MOBILE MENU & ICON MORPH */
        #mobile-menu-btn {
            position: relative;
            width: 32px;
            height: 18px;
            display: none;
            flex-direction: column;
            align-items: flex-end;
            justify-content: space-between;
            background: none;
            border: none;
            cursor: pointer;
            z-index: 200;
        }

        @media (max-width: 1023px) {
            #mobile-menu-btn { display: flex; }
        }

        .menu-bar {
            height: 1.5px;
            background-color: currentColor;
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .bar-1 { width: 100%; }
        .bar-2 { width: 70%; }
        .bar-3 { width: 45%; }

        .is-active .bar-1 { transform: translateY(8px) rotate(45deg); width: 100%; }
        .is-active .bar-2 { opacity: 0; transform: translateX(10px); }
        .is-active .bar-3 { transform: translateY(-8.5px) rotate(-45deg); width: 100%; }
        .is-active { color: white !important; }

        #mobile-menu {
            position: fixed;
            inset: 0;
            z-index: 140;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 0 3rem;
            background: #030d1e;
            visibility: hidden;
            opacity: 0;
            transition: all 0.5s ease;
        }

        #mobile-menu.active {
            visibility: visible;
            opacity: 1;
        }

        .mobile-link {
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.6s ease;
        }

        #mobile-menu.active .mobile-link {
            opacity: 1;
            transform: translateY(0);
        }

        /* 6. ANIMATIONS & EFFECTS */
        @keyframes kenburns {
            0% { transform: scale(1); }
            100% { transform: scale(1.1); }
        }

        .animate-kenburns {
            animation: kenburns 20s ease-out forwards;
        }

        .hero-reveal {
            opacity: 0;
            transform: translateY(40px);
        }

        html.lenis {
          height: auto;
        }

        .lenis.lenis-smooth {
          scroll-behavior: auto !important;
        }

        .lenis.lenis-smooth [data-lenis-prevent] {
          overscroll-behavior: contain;
        }

        .scroll-reveal, .group img {
          backface-visibility: hidden;
          -webkit-backface-visibility: hidden;
        }

        main { overflow-x: hidden; }
    
    .project-slider .project-slider { 
        width: 100%; 
        height: 100%; 
        position: relative;
        min-width: 0; /* Prevents flex items from growing beyond container */
    }

    .project-slider .swiper-slide {
        width: 100% !important;
        overflow: hidden;
    }

    .project-slider .swiper-pagination-bullet { background: #030d1e; opacity: 0.3; }
    .project-slider .swiper-pagination-bullet-active { background: #c5a059; opacity: 1; }
    
    .project-slider .swiper-button-next, .project-slider .swiper-button-prev { 
        color: #fff !important; 
        background: rgba(0,0,0,0.4) !important; 
        width: 38px !important; 
        height: 38px !important; 
        border-radius: 50% !important;
        z-index: 50 !important;
        display: flex !important;
    }

    .project-slider .swiper-button-next:after,.project-slider .swiper-button-prev:after { font-size: 13px !important; font-weight: bold; }

/* Minimalist Dot Styling */
    .testimonial-pagination .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        background: #030d1e;
        opacity: 0.1;
        margin: 0 8px !important;
        border-radius: 0; /* Square dots for a more architectural look */
        transition: all 0.4s ease;
    }
    .testimonial-pagination .swiper-pagination-bullet-active {
        background: #c5a059;
        opacity: 1;
        transform: scale(1.5);
    }
    
    /* Ensure cards in the same row have equal height */
    .testimonial-slider .swiper-slide {
        display: flex;
        height: auto;
    }

    /* Instant display logic */
    @media (min-width: 1024px) {
        .swiper-button-next, .swiper-button-prev { opacity: 0 !important; }
        .group:hover .swiper-button-next, 
        .group:hover .swiper-button-prev { opacity: 1 !important; transition: opacity 0.1s linear; }
    }

    /* Mobile visibility and size */
    @media (max-width: 1023px) {
        .project-slider .swiper-button-next,.project-slider  .swiper-button-prev { 
            opacity: 1 !important; 
            width: 32px !important; 
            height: 32px !important; 
        }
        .project-slider .swiper-button-next:after,.project-slider  .swiper-button-prev:after { font-size: 11px !important; }
    }

    @media (max-width: 560px) {
        .testimonial-pagination{
            margin: auto !important;
        }
        .testimonial-arrows{
            display: none !important;
        }
    }