        /* =========================================
           1. BASE VARIABLES & THEME SYSTEM
           ========================================= */
           *{
            max-width: 100%;
           }
        :root {
            --brand-green: #000;
            --brand-gold: #d97706;
            --text-muted: #64748b;
            --bg-dark: #0f172a;
        }

        /* Brooklyn Theme Variables */
        .theme-brooklyn {
            --theme-accent: #365ccc;
            --theme-bg-light: rgba(54, 92, 204, 0.05);
            --theme-overlay: linear-gradient(135deg, rgba(15, 23, 42, 0.85), rgba(15, 23, 42, 0.6));
            --theme-price-border: rgba(255, 255, 255, 0.15);
            --theme-price-shadow: rgba(0, 0, 0, 0.2);
            --theme-config-text: #5988c8;
            --theme-btn-solid-hover: #e2e8f0;
            --theme-btn-solid-color: var(--bg-dark);
            --theme-icon-bg: rgba(54, 92, 204, 0.12);
            --theme-hover-shadow: rgba(54, 92, 204, 0.1);
            --theme-hover-border: rgba(54, 92, 204, 0.3);
        }

        /* Regal Theme Variables */
        .theme-regal {
            --theme-accent: #d97706;
            --theme-bg-light: rgba(217, 119, 6, 0.04);
            --theme-overlay: linear-gradient(135deg, rgba(69, 10, 10, 0.85), rgba(69, 10, 10, 0.6));
            --theme-price-border: rgba(217, 119, 6, 0.3);
            --theme-price-shadow: rgba(69, 10, 10, 0.4);
            --theme-config-text: var(--brand-gold);
            --theme-btn-solid-hover: #b45309;
            --theme-btn-solid-color: #ffffff;
            --theme-icon-bg: rgba(217, 119, 6, 0.12);
            --theme-hover-shadow: rgba(217, 119, 6, 0.12);
            --theme-hover-border: rgba(217, 119, 6, 0.3);
        }

        /* Global Typography & Resets */
        body {
            font-family: 'Inter', sans-serif;
            color: #333;
            background-color: #f8fafc;
        }

        h1, h2, h3, h4, h5, .font-serif {
            font-family: 'Playfair Display', serif;
        }
        h3 strong {
            font-family: 'Inter', sans-serif;
        }

        /* =========================================
           2. COMMON UTILITIES
           ========================================= */
        .bg-grey { background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%); }
        .bg-theme-light { background-color: var(--theme-bg-light); }
        .text-theme-accent { color: var(--theme-accent) !important; }

        .brand-logo { max-height: 30px; object-fit: contain; }

        .section-heading-lg {
            color: var(--bg-dark);
            line-height: 1.2;
            font-weight: 400;
            font-size: clamp(30px, 4vw, 56px);
        }
        .section-heading-lg strong {
            font-weight: 700;
            color: var(--brand-green);
        }
        
        .section-heading-lg-p {
            font-size: 16px;
            line-height: 1.7;
            color: var(--text-muted);
            max-width: 100%;
        }
        @media (min-width: 992px) {
            .section-heading-lg-p {
                font-size: 18px;
                max-width: 90%;
            }
        }

        /* Custom Hero Highlight Badge */
        .hero-highlight-badge {
            display: inline-flex;
            align-items: center;
            background: linear-gradient(135deg, #1e293b, #0f172a);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
            padding: 10px 22px;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0.5px;
            box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.4);
        }
        @media (min-width: 992px) {
            .hero-highlight-badge {
                font-size: 16px;
                padding: 12px 28px;
            }
        }

        .hover-lift {
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease-in-out;
        }
        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 15px -3px rgba(30, 41, 59, 0.3), 0 4px 6px -2px rgba(30, 41, 59, 0.1);
        }

        /* Buttons */
        .btn-darks {
            background-color: #1e293b !important;
            color: #fff !important;
            border: 2px solid #1e293b;
        }
        .btn-outline-theme {
            border: 1.5px solid var(--theme-accent);
            color: var(--theme-accent);
            background: transparent;
        }
        .btn-outline-theme:hover {
            background-color: var(--theme-accent);
            color: #fff;
        }

        /* Hero Outline Button */
        .btn-hero-outline {
            background-color: transparent !important;
            color: var(--bg-dark) !important;
            border: 2px solid var(--bg-dark);
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease-in-out;
        }
        .btn-hero-outline:hover {
            background-color: transparent !important;
            color: var(--bg-dark) !important;
            border: 2px solid var(--bg-dark);
        }

        /* Project Explore Buttons */
        .btn-project-explore {
            padding: 12px 30px;
            font-weight: 600;
            border-radius: 50px;
            text-decoration: none;
            display: inline-block;
            background-color: #ffffff;
            color: var(--bg-dark);
            border: none;
        }
        .btn-project-explore:hover {
            color: var(--bg-dark); 
        }
        @media (min-width: 992px) {
            .btn-project-explore { padding: 14px 40px; }
        }

        /* =========================================
           3. HERO & SPLIT SCREEN PROJECTS
           ========================================= */
        .hero-top { padding-top: 2rem;padding-bottom: 3rem; }
        @media (min-width: 576px) { .hero-top { padding-top: 3rem;padding-bottom: 3rem; } }
        @media (min-width: 992px) { .hero-top { padding-top: 4rem;padding-bottom: 4rem; } }
        
        .projects-wrapper {
            border-radius: 30px;
            overflow: hidden;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
            background: #fff;
            margin-bottom: 4rem;
        }


        .project-panel {
            position: relative;
            overflow: hidden;
            min-height: 480px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 2rem;
            color: #fff;
        }
        @media (min-width: 992px) {
            .project-panel { min-height: 650px; padding: 3rem; }
        }
        
        .project-bg {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background-size: cover;
            background-position: center;
            transition: transform 0.8s ease-in-out;
            z-index: 1;
        }
        .project-panel:hover .project-bg { transform: scale(1.08); }
        
        .theme-brooklyn .project-bg { background-image: url('./images/brooklyn/brooklyn-hero.jpg'); }
        .theme-regal .project-bg { background-image: url('./images/regal/hero-single.jpg?v=1'); }
        
        .overlay {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: var(--theme-overlay);
            z-index: 2;
        }
        .project-content {
            position: relative;
            z-index: 3;
            width: 100%;
            max-width: 450px;
        }
        .project-content h2 {
            font-weight: 700;
            font-size: clamp(28px, 3vw, 46px);
            margin-bottom: 0.5rem;
        }
        .location-tag {
            font-size: 14px; font-weight: 300; letter-spacing: 1px;
            margin-bottom: 1.5rem; display: inline-block;
        }
        @media (min-width: 992px) { .location-tag { font-size: 16px; margin-bottom: 2rem; } }
        
        .price-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(16px);
            padding: 1.5rem 1.5rem 1.5rem; 
            border-radius: 20px; 
            margin-bottom: 2rem;
            margin-top: 1.5rem; 
            transition: transform 0.3s ease;
            border: 1px solid var(--theme-price-border);
            box-shadow: 0 8px 32px var(--theme-price-shadow);
            position: relative;
        }
        @media (min-width: 992px) { .price-card { padding: 2rem 2rem 2rem; margin-bottom: 2.5rem; } }
        
        .price-card:hover { transform: translateY(-5px); }

        .config-highlight {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translate(-50%, -50%);
            background: var(--theme-accent);
            border-radius: 50px;
            padding: 6px 18px;
            box-shadow: 0 8px 20px rgba(0,0,0,0.3);
            border: 2px solid rgba(255,255,255,0.25);
            white-space: nowrap;
        }
        .config-highlight .config-text {
            color: #fff !important;
            margin: 0;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }
        @media (min-width: 992px) {
            .config-highlight { padding: 8px 24px; }
            .config-highlight .config-text { font-size: 13px; letter-spacing: 2px; }
        }

        .price-card h3 { font-weight: 300; font-size: 20px; margin: 0; }
        .price-card h3 strong { font-weight: 700; font-size: 28px; }
        @media (min-width: 992px) {
            .price-card h3 { font-size: 22px; }
            .price-card h3 strong { font-size: 32px; }
        }

        /* =========================================
           3.5 PROJECT COMPARISON TABLE
           ========================================= */
        .comparison-table { min-width: 700px; }
        .comparison-table th { padding: 1.5rem; }
        .comparison-table td { padding: 1.25rem 1.5rem; font-size: 15px; color: var(--bg-dark); }
        .comparison-table td:first-child { 
            color: var(--text-muted); 
            font-weight: 600; 
            text-transform: uppercase; 
            font-size: 13px; 
            letter-spacing: 1px; 
        }
        .comparison-table th h4 { font-size: 1.25rem; margin: 0; }
        @media (min-width: 992px) {
            .comparison-table th h4 { font-size: 1.5rem; }
            .comparison-table td { font-size: 16px; }
        }
        .comparison-table tr:hover td { background-color: #f8fafc; }
        .comparison-table tr { transition: background-color 0.2s ease; }

        /* =========================================
           4. GLOBAL FORMS & ABOUT SECTIONS
           ========================================= */
        .form-section {
            background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%);
            position: relative;
        }
        .premium-form-card {
            background: #ffffff;
            border-radius: 24px;
            box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(15, 23, 42, 0.02);
            padding: 2rem; position: relative; overflow: hidden; z-index: 1;
        }
        @media (min-width: 992px) { .premium-form-card { padding: 3.5rem; } }
        
        .premium-form-card::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px;
            background: linear-gradient(90deg, var(--brand-green), #365ccc); z-index: 2;
        }
        .form-header-badge {
            display: inline-block; padding: 6px 16px; background: rgba(15, 118, 110, 0.1);
            color: var(--brand-green); border-radius: 50px; font-size: 12px;
            font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 1rem;
        }
        .premium-input .form-control, .premium-input .form-select {
            background-color: #f8fafc; border: 1.5px solid transparent; border-radius: 12px;
            height: calc(3.5rem + 2px); font-weight: 500; color: #1e293b; transition: all 0.3s ease; box-shadow: none;
        }
        @media (min-width: 992px) {
            .premium-input .form-control, .premium-input .form-select { height: calc(3.8rem + 2px); }
        }
        .premium-input label { color: #64748b; font-weight: 400; padding-left: 1.25rem; }
        .premium-input .form-control:focus, .premium-input .form-select:focus {
            background-color: #ffffff; border-color: var(--brand-green);
            box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.1);
        }
        .premium-input .form-select { cursor: pointer; }
        .btn-submit-premium {
            background-color: var(--bg-dark); color: #ffffff; border: none; padding: 1rem;
            font-size: 1.05rem; font-weight: 600; letter-spacing: 0.5px; transition: all 0.3s ease;
        }
        @media (min-width: 992px) { .btn-submit-premium { padding: 1.15rem; font-size: 1.1rem; } }
        .btn-submit-premium:hover {
            background-color: var(--brand-green); transform: translateY(-3px);
            box-shadow: 0 15px 25px -5px rgba(15, 118, 110, 0.4); color: #ffffff;
        }
        .btn-submit-premium i { transition: transform 0.3s ease; }
        .btn-submit-premium:hover i { transform: translateX(5px); }

        .about-godrej-section { background-color: #ffffff; position: relative; overflow: hidden; }
        .about-text { font-size: 1rem; line-height: 1.7; color: var(--text-muted); margin-bottom: 1.2rem; }
        @media (min-width: 992px) { .about-text { font-size: 1.1rem; line-height: 1.8; margin-bottom: 1.5rem; } }
        
        .trust-icons-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
        @media (min-width: 992px) { .trust-icons-grid { gap: 1.5rem; } }
        .trust-card:nth-child(5) { grid-column: span 2; }
        .trust-card {
            background: #f8fafc; border: 1px solid rgba(15, 118, 110, 0.1); border-radius: 16px;
            padding: 1rem; display: flex; align-items: center; transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
        }
        @media (min-width: 992px) { .trust-card { padding: 1.5rem; } }
        .trust-card:hover {
            transform: translateY(-5px); box-shadow: 0 15px 30px -10px rgba(15, 23, 42, 0.1);
            background-color: #ffffff; border-color: rgba(15, 118, 110, 0.3);
        }
        .trust-icon {
            width: 44px; height: 44px; border-radius: 12px; background: rgba(15, 118, 110, 0.1);
            color: var(--brand-green); display: flex; align-items: center; justify-content: center;
            font-size: 1.1rem; margin-right: 1rem; flex-shrink: 0; transition: transform 0.3s ease;
        }
        @media (min-width: 992px) {
            .trust-icon { width: 54px; height: 54px; font-size: 1.35rem; margin-right: 1.25rem; border-radius: 14px; }
        }
        .trust-card:hover .trust-icon { transform: scale(1.1); background: var(--brand-green); color: #ffffff; }
        .trust-info h4 { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1rem; color: var(--bg-dark); margin: 0 0 0.3rem 0; }
        .trust-info span { font-size: 0.8rem; color: var(--text-muted); font-weight: 500; display: block; line-height: 1.4; }
        @media (min-width: 992px) {
            .trust-info h4 { font-size: 1.15rem; }
            .trust-info span { font-size: 0.85rem; }
        }

        /* =========================================
           5. DYNAMIC THEMED COMPONENTS (Shared)
           ========================================= */
        .project-section-wrapper { background-color: #ffffff; color: var(--bg-dark); }
        .lifestyle-section { background-color: #ffffff; position: relative; overflow: hidden; }
        
        .lifestyle-content {
            flex: 0 0 45%;
            background: linear-gradient(145deg, rgba(255,255,255,1) 0%, rgba(248,250,252,0.95) 100%);
            backdrop-filter: blur(20px); border-radius: 28px;
            box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
            position: relative; z-index: 2; border: 1px solid rgba(255, 255, 255, 0.6);
            border-top: 5px solid var(--theme-accent);
            transition: all 0.4s ease;
        }
        .lifestyle-card:hover .lifestyle-content {
            transform: translateY(-10px);
            box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.15);
        }

        .premium-feature-list { list-style: none; padding: 0; margin: 1.5rem 0 2rem 0; display: grid; gap: 1rem; }
        @media (min-width: 992px) { .premium-feature-list { margin: 2rem 0 2.5rem 0; gap: 1.2rem; } }
        .premium-feature-list li { display: flex; align-items: center; font-size: 14px; color: #475569; font-weight: 500; }
        @media (min-width: 992px) { .premium-feature-list li { font-size: 16px; } }
        
        .feature-icon-box {
            width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center;
            justify-content: center; margin-right: 1rem; font-size: 0.75rem; flex-shrink: 0;
            transition: all 0.3s ease;
            background: var(--theme-icon-bg); color: var(--theme-accent);
        }
        @media (min-width: 992px) {
            .feature-icon-box { width: 32px; height: 32px; margin-right: 1.25rem; font-size: 0.85rem; }
        }
        .lifestyle-card:hover .feature-icon-box { transform: scale(1.1); background: var(--theme-accent); color: #fff; }
        
        .lifestyle-subtitle {
            font-size: 0.75rem; font-weight: 700; letter-spacing: 2px;
            text-transform: uppercase; margin-bottom: 1rem; display: flex; align-items: center;
        }
        @media (min-width: 992px) {
            .lifestyle-subtitle { font-size: 0.85rem; letter-spacing: 2.5px; margin-bottom: 1.5rem; }
        }
        .lifestyle-subtitle::before {
            content: ''; display: block; width: 20px; height: 2px; margin-right: 10px;
            background-color: var(--theme-accent);
        }
        @media (min-width: 992px) { .lifestyle-subtitle::before { width: 30px; margin-right: 15px; } }
        
        .lifestyle-title { font-size: 32px; color: var(--bg-dark); line-height: 1.2; margin-bottom: 1rem; }
        @media (min-width: 992px) { .lifestyle-title { font-size: 40px; } }

        .feature-list-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; list-style: none; padding: 0; }
        .feature-list-grid li { display: flex; align-items: flex-start; font-size: 0.95rem; color: var(--text-muted); }
        @media (min-width: 992px) { .feature-list-grid li { font-size: 1rem; } }
        .feature-list-grid i { color: var(--theme-accent); margin-top: 4px; margin-right: 12px; }

        .usp-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 2rem; }
        @media (min-width: 992px) { .usp-strip { margin-top: 3rem; } }
        
        .usp-card {
            background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px;
            padding: 1.2rem; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        @media (min-width: 992px) { .usp-card { padding: 1.5rem; } }
        .usp-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px var(--theme-hover-shadow); border-color: var(--theme-hover-border); }
        .usp-icon { font-size: 1.8rem; color: var(--theme-accent); margin-bottom: 0.8rem; }
        @media (min-width: 992px) { .usp-icon { font-size: 2rem; margin-bottom: 1rem; } }
        .usp-card h5 { font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; }
        @media (min-width: 992px) { .usp-card h5 { font-size: 1.05rem; } }
        .usp-card p { font-size: 0.85rem; color: var(--text-muted); margin: 0; line-height: 1.4; }

        .config-card {
            background: #fff; border-radius: 20px; padding: 2rem; height: 100%;
            border: 1px solid #e2e8f0; box-shadow: 0 10px 30px rgba(0,0,0,0.03); display: flex; flex-direction: column;
        }
        @media (min-width: 992px) { .config-card { padding: 2.5rem; } }
        .config-card h4 { font-weight: 700; color: var(--bg-dark); font-size: 1.25rem; }
        .config-card .area { font-size: 0.9rem; color: var(--theme-accent); font-weight: 600; margin-bottom: 0.8rem; }
        .config-card .price { font-size: 1.35rem; font-weight: 700; margin-bottom: 0.8rem; }
        @media (min-width: 992px) {
            .config-card h4 { font-size: 1.5rem; }
            .config-card .area { font-size: 0.95rem; margin-bottom: 1rem; }
            .config-card .price { font-size: 1.5rem; margin-bottom: 1rem; }
        }
        .config-card .desc { color: var(--text-muted); font-size: 0.95rem; flex-grow: 1; margin-bottom: 1.5rem; }

        .amenity-box {
            display: flex; align-items: center; padding: 1rem; background: #f8fafc;
            border-radius: 12px; font-weight: 500; color: var(--bg-dark); border: 1px solid transparent; transition: all 0.2s ease;
            font-size: 0.9rem;
        }
        @media (min-width: 992px) { .amenity-box { font-size: 1rem; } }
        .amenity-box:hover { background: #fff; border-color: var(--theme-accent); box-shadow: 0 4px 12px var(--theme-hover-shadow); }
        .amenity-box i { color: var(--theme-accent); font-size: 1.15rem; margin-right: 12px; width: 24px; text-align: center; }
        @media (min-width: 992px) { .amenity-box i { font-size: 1.25rem; margin-right: 15px; } }

        .nav-pills-custom .nav-link { 
            color: var(--text-muted); font-weight: 600; border-radius: 50px; 
            padding: 8px 18px; margin: 4px; font-size: 14px; 
        }
        @media (min-width: 992px) {
            .nav-pills-custom .nav-link { padding: 10px 25px; margin: 0 5px; font-size: 16px; }
        }
        .nav-pills-custom .nav-link.active { background-color: var(--theme-accent); color: #fff; }
        .floor-plan-wrapper { position: relative; border-radius: 20px; overflow: hidden; background: #f8fafc; border: 1px solid #e2e8f0; }
        .floor-plan-wrapper img.blurred { filter: blur(12px) grayscale(20%); opacity: 0.7; transition: all 0.4s ease; }
        .unlock-overlay {
            position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
            background: rgba(255,255,255,0.4); backdrop-filter: blur(2px); z-index: 10;
        }

        .gallery-item { position: relative; border-radius: 16px; overflow: hidden; }
        .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
        .gallery-item:hover img { transform: scale(1.08); }
        .gallery-caption {
            position: absolute; bottom: 0; left: 0; right: 0; padding: 1.5rem 1rem 1rem;
            background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, transparent 100%); color: #fff; font-weight: 600;
            font-size: 0.9rem;
        }
        @media (min-width: 992px) { .gallery-caption { font-size: 1rem; } }

        .map-container { position: relative; border-radius: 24px; overflow: hidden; height: 300px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
        @media (min-width: 992px) { .map-container { height: 500px; } }
        .map-container iframe { width: 100%; height: 100%; border: 0; }

        /* Regal Unique Highlight Component */
        .payment-plan-card {
            background: linear-gradient(145deg, #ffffff 0%, #fdf8f3 100%); border: 1px solid rgba(217, 119, 6, 0.2);
            border-radius: 24px; padding: 2rem; box-shadow: 0 20px 40px -10px rgba(217, 119, 6, 0.1); position: relative; overflow: hidden;
        }
        @media (min-width: 992px) { .payment-plan-card { padding: 3rem; } }
        .payment-plan-card::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
            background: linear-gradient(90deg, #d97706, #f59e0b);
        }
        .payment-badge {
            background: rgba(217, 119, 6, 0.1); color: #d97706; padding: 6px 14px;
            border-radius: 50px; font-weight: 700; font-size: 0.75rem; letter-spacing: 1px; display: inline-block; margin-bottom: 1rem;
        }
        @media (min-width: 992px) {
            .payment-badge { padding: 8px 16px; font-size: 0.85rem; margin-bottom: 1.5rem; }
        }

        /* =========================================
           9. STICKY MOBILE CTA BAR
           ========================================= */
        .mobile-cta-bar {
            display: none; /* Hidden on desktop */
        }

        /* Swiper Gallery Styles */
        .gallery-swiper { 
            width: 100%; 
            padding-bottom: 50px; /* Space for dots */
            padding-top: 10px;
        }
        .gallery-swiper .swiper-slide { height: 280px; }
        
        .gallery-item { 
            height: 100%; 
            position: relative; 
            border-radius: 16px; 
            overflow: hidden; 
            box-shadow: 0 10px 20px rgba(0,0,0,0.08);
        }
        
        /* Custom Swiper Controls */
        .swiper-button-next, .swiper-button-prev {
            color: var(--bg-dark);
            background: #fff;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            box-shadow: 0 4px 15px rgba(0,0,0,0.15);
            top: 45%;
        }
        .theme-brooklyn .swiper-button-next, .theme-brooklyn .swiper-button-prev { color: var(--theme-accent); }
        .theme-regal .swiper-button-next, .theme-regal .swiper-button-prev { color: var(--theme-accent); }
        
        .swiper-button-next::after, .swiper-button-prev::after {
            font-size: 18px;
            font-weight: 700;
        }
        .swiper-pagination-bullet-active { background: var(--bg-dark); }
        .theme-brooklyn .swiper-pagination-bullet-active { background: var(--theme-accent); }
        .theme-regal .swiper-pagination-bullet-active { background: var(--theme-accent); }
        
        /* =========================================
           6. RESPONSIVE UTILITIES
           ========================================= */
        @media (max-width: 991px) {
            .usp-strip { grid-template-columns: repeat(2, 1fr); }
            .trust-icons-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .trust-icons-grid { grid-template-columns: 1fr; }
            .trust-card:nth-child(5) { grid-column: span 1; }
            .lifestyle-content { padding: 2rem !important; } /* override p-5 */
            
            body {
                /* Add padding to the bottom so page content isn't hidden behind the bar */
                padding-bottom: 65px !important; 
            }
            .mobile-cta-bar {
                display: flex;
                position: fixed;
                bottom: 0;
                left: 0;
                width: 100%;
                background: rgba(255, 255, 255, 0.95);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
                box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
                border-top: 1px solid rgba(0, 0, 0, 0.05);
                z-index: 1040; /* Sits below the modals but above page content */
            }
            .mobile-cta-btn {
                flex: 1;
                padding: 16px 0;
                font-family: 'Inter', sans-serif;
                font-size: 15px;
                font-weight: 700;
                text-decoration: none;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: background-color 0.2s ease;
            }
            .btn-call {
                color: var(--bg-dark);
                border-right: 1px solid #e2e8f0;
            }
            .btn-call:active {
                background-color: #f1f5f9;
            }
            .btn-whatsapp {
                color: #128C7E;
            }
            .btn-whatsapp:active {
                background-color: #f0fdf4;
            }
        }
        @media (max-width: 576px) {
            .usp-strip { grid-template-columns: 1fr; }
        }
        
        /* =========================================
           10. STICKY DESKTOP WHATSAPP
           ========================================= */
        .desktop-whatsapp-icon {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: #25D366;
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 32px;
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
            z-index: 1040;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            text-decoration: none;
        }

        .desktop-whatsapp-icon:hover {
            transform: scale(1.1) translateY(-3px);
            box-shadow: 0 8px 25px rgba(37, 211, 102, 0.6);
            color: white;
        }

        /* Hide on mobile devices (where the bottom CTA bar takes over) */
        @media (max-width: 768px) {
            .desktop-whatsapp-icon {
                display: none !important;
            }
        }

        /* =========================================
           11. FLOATING DESKTOP CONTACT BUTTONS
           ========================================= */
        .floating-contact-container {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 1040;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 15px;
        }

        @media (max-width: 768px) {
            .floating-contact-container {
                display: none !important; /* Kept hidden on mobile since you have the sticky bar */
            }
        }

        .floating-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            border-radius: 50px;
            padding: 12px 15px;
            color: white;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            width: 155px; /* Circle shape initially */
            height: 55px;
            overflow: hidden;
            white-space: nowrap;
        }

        .floating-call {
            background-color: var(--bg-dark);
        }

        .floating-whatsapp {
            background-color: #25D366;
        }

        .floating-btn:hover {
            width: 155px; /* Expands to show text */
            color: white;
            transform: translateY(-3px);
        }

        .floating-btn .btn-text {
            opacity: 1;
            font-weight: 600;
            margin-right: 12px;
            font-size: 15px;
            transition: opacity 0.3s ease;
        }

        .floating-btn:hover .btn-text {
            opacity: 1;
        }

        .floating-btn i {
            font-size: 24px;
            min-width: 25px;
            text-align: center;
        }
        /* =========================================
           12. PREMIUM FOOTER STYLES
           ========================================= */
        .premium-footer {
            background-color: var(--bg-dark);
            color: #f8fafc;
            padding-top: 4rem;
            padding-bottom: 2rem;
            position: relative;
            border-top: 4px solid var(--brand-gold);
            z-index: 10;
        }
        .footer-logo-wrap {
            background: #ffffff;
            display: inline-block;
            padding: 12px 24px;
            border-radius: 12px;
            margin-bottom: 1.5rem;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }
        .premium-footer h5 {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 1.5rem;
            color: #ffffff;
        }
        .footer-link-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-link-list li {
            margin-bottom: 0.85rem;
        }
        .footer-link-list a {
            color: var(--text-muted);
            text-decoration: none;
            transition: all 0.3s ease;
            font-size: 0.95rem;
            display: inline-flex;
            align-items: center;
        }
        .footer-link-list a:hover {
            color: #ffffff;
            transform: translateX(5px);
        }
        .footer-contact-info {
            color: var(--text-muted);
            font-size: 0.95rem;
        }
        .footer-contact-info i {
            width: 25px;
            color: #ffffff;
            font-size: 1.1rem;
        }
        .footer-socials a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.05);
            color: #ffffff;
            margin-right: 12px;
            text-decoration: none;
            transition: all 0.3s ease;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }
        .footer-socials a:hover {
            background-color: var(--theme-accent);
            border-color: var(--theme-accent);
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }
        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 1.5rem;
            margin-top: 3rem;
        }
        .footer-bottom p {
            margin: 0;
            font-size: 0.85rem;
            color: var(--text-muted);
        }
        
        /* Add bottom padding on mobile so footer doesn't hide behind sticky CTA */
        @media (max-width: 768px) {
            .premium-footer {
                padding-bottom: 90px;
            }
        }