 /* INSTITUTE OF WELLNESS & MODERN SCIENCE 
   Core Stylesheet - Luxury UI Framework 
   Enhanced Version 3.0
*/

        :root {
            /* Brand Palette - Deep Earth & Metallic Accents */
            --gold: #b8965d;
            --gold-hover: #9c7d4a;
            --charcoal: #0f0f0f;
            --stone: #2d2a26;
            --sage: #707a65;
            --off-white: #fcfaf8;
            --white-soft: rgba(255, 255, 255, 0.95);

            /* Luxury UI Elements */
            --glass-bg: rgba(255, 255, 255, 0.03);
            --glass-border: rgba(255, 255, 255, 0.08);
            --shadow-soft: 0 20px 50px rgba(0, 0, 0, 0.05);
            --shadow-heavy: 0 40px 90px rgba(0, 0, 0, 0.1);

            /* Motion Physics */
            --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
            --transition-smooth: all 0.6s var(--ease-out-expo);
            --transition-slow: all 1.2s var(--ease-out-expo);
        }

        /* --- Base Reset & Typography --- */
        html {
            scroll-behavior: smooth;
        }

        ::selection {
            background: var(--gold);
            color: white;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--off-white);
            color: var(--charcoal);
            line-height: 1.8;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        p {
            text-align: justify;
            text-justify: inter-word;
        }

        h1,
        h2,
        h3,
        .playfair {
            font-family: 'Playfair Display', serif;
            font-weight: 400;
            color: var(--stone);
            letter-spacing: -0.02em;
        }

        .ls-2 {
            letter-spacing: 0.25rem;
            text-transform: uppercase;
            font-weight: 700;
            font-size: 0.7rem;
        }

        /* --- Interactive Elements --- */
        #cursor {
            display: none;
        }

        /* --- Navigation Framework --- */
        .navbar {
            padding: 40px 0;
            background: transparent !important;
            transition: var(--transition-smooth);
        }

        .navbar.scrolled {
            padding: 18px 0;
            background: var(--white-soft) !important;
            backdrop-filter: blur(25px);
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
        }

        .nav-link {
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 3px;
            margin: 0 20px;
            position: relative;
            text-transform: uppercase;
            color: var(--stone) !important;
            transition: var(--transition-smooth);
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: var(--transition-smooth);
        }

        .nav-link:hover {
            color: var(--gold) !important;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* ================= NAV ================= */
        .navbar {
            padding: 40px 0;
            transition: .6s var(--ease);
            background: transparent !important
        }

        .navbar.scrolled {
            padding: 18px 0;
            background: var(--white-soft) !important;
            backdrop-filter: blur(25px);
            box-shadow: 0 10px 40px rgba(0, 0, 0, .04)
        }

        .nav-link {
            font-size: .7rem;
            letter-spacing: 3px;
            margin: 0 20px;
            font-weight: 700;
            text-transform: uppercase;
            position: relative;
            color: var(--stone) !important
        }

        .nav-link:after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: .6s var(--ease)
        }

        .nav-link:hover:after {
            width: 100%
        }


        /* ================= HERO ================= */
        .hero-slider {
            position: relative;
        }

        .hero-slider .swiper-slide {
            position: relative;
            height: 100vh;
            overflow: hidden;
        }

        .hero-slider img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            /* Enhance Image Clarity & Depth */
            filter: brightness(1.1) contrast(1.1) saturate(1.1);
        }

        /* Overlay for visual clarity of text */
        .hero-slider .swiper-slide::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom,
                    rgba(0, 0, 0, 0.1) 0%,
                    rgba(0, 0, 0, 0.1) 40%,
                    rgba(0, 0, 0, 0.3) 100%);
            pointer-events: none;
            z-index: 1;
        }

        .hero-caption {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            color: #fff;
            width: 80%;
            z-index: 2;
            /* Ensure text is above overlay */
            /* Text Clarity */
            text-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        /* --- PHILOSOPHY & ABOUT: EDITORIAL STYLE --- */
        .about-image-wrapper {
            position: relative;
            z-index: 2;
        }

        .about-img {
            width: 100%;
            height: 700px;
            object-fit: cover;
            object-position: center;
            box-shadow: var(--shadow-heavy);
            transition: var(--transition-slow);
            clip-path: inset(0 0 0 0);
            /* Prepares for reveal animation */
        }

        .about-image-wrapper::before {
            content: '';
            position: absolute;
            top: -30px;
            left: -30px;
            width: 150px;
            height: 150px;
            border-top: 1px solid var(--gold);
            border-left: 1px solid var(--gold);
            z-index: -1;
        }

        .stat-card {
            border-left: 5px solid var(--gold);
            min-width: 240px;
            background: white;
            padding: 2.5rem;
            position: absolute;
            bottom: 50px;
            right: -50px;
            z-index: 10;
            box-shadow: var(--shadow-heavy);
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-15px);
            }
        }

        /* --- FOUNDER VISUALS --- */
        .portrait-wrapper {
            position: relative;
            z-index: 1;
        }

        .gold-frame-backdrop {
            position: absolute;
            top: 0;
            right: 0;
            width: 100%;
            height: 100%;
            border: 1px solid rgba(184, 150, 93, 0.4);
            z-index: -1;
            transform: translate(40px, -40px);
            transition: var(--transition-slow);
        }

        .portrait-wrapper:hover .gold-frame-backdrop {
            transform: translate(20px, -20px);
        }

        .signature-box {
            min-width: 280px;
            background: var(--stone);
            color: white;
            padding: 35px;
            position: absolute;
            bottom: -20px;
            left: -50px;
            box-shadow: 25px 25px 60px rgba(0, 0, 0, 0.2);
        }

        /* --- SOUND HEALING BENEFITS: VIBRATIONAL DESIGN --- */
        .benefit-card {
            padding: 60px 45px;
            background: white;
            border: 1px solid rgba(0, 0, 0, 0.04);
            height: 100%;
            position: relative;
            overflow: hidden;
            transition: var(--transition-smooth);
        }

        .benefit-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 4px;
            height: 0;
            background: var(--gold);
            transition: var(--transition-smooth);
        }

        .benefit-card:hover {
            transform: translateY(-20px);
            box-shadow: var(--shadow-heavy);
        }

        .benefit-card:hover::after {
            height: 100%;
        }

        .benefit-icon {
            font-size: 32px;
            color: var(--gold);
            margin-bottom: 35px;
            display: inline-block;
            transition: var(--transition-smooth);
        }

        .benefit-card:hover .benefit-icon {
            animation: ripple 1.2s infinite;
            color: var(--stone);
        }

        @keyframes ripple {
            0% {
                transform: scale(1);
                filter: drop-shadow(0 0 0 rgba(184, 150, 93, 0));
            }

            50% {
                transform: scale(1.15);
                filter: drop-shadow(0 0 10px rgba(184, 150, 93, 0.5));
            }

            100% {
                transform: scale(1);
                filter: drop-shadow(0 0 0 rgba(184, 150, 93, 0));
            }
        }

        /* --- GALLERY & DISCIPLINES --- */
        .gallery-wrapper {
            position: relative;
            overflow: hidden;
            border-radius: 2px;
            cursor: none;
            /* Let the custom cursor handle the interaction */
        }

        .gallery-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            /* Removed saturation filter for better clarity */
            filter: contrast(1.05) brightness(1.02);
            transition: var(--transition-slow);
        }

        .gallery-wrapper:hover .gallery-img {
            transform: scale(1.05);
            /* Reduced rotation for cleaner feel */
            filter: contrast(1.1) brightness(1.1);
        }

        /* Custom Spacing */
        .mb-6 {
            margin-bottom: 4.5rem;
        }

        .py-6 {
            padding-top: 6rem;
            padding-bottom: 6rem;
        }

        .ls-4 {
            letter-spacing: 4px;
        }

        /* The Training Card */
        .training-card {
            background: #ffffff;
            padding: 3.5rem 2.5rem;
            height: 100%;
            position: relative;
            border: 1px solid rgba(0, 0, 0, 0.05);
            transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .training-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 0;
            background: #C5A059;
            /* Gold Reveal */
            transition: all 0.5s ease;
            z-index: 0;
        }

        .training-card:hover {
            transform: translateY(-10px);
            border-color: #C5A059;
        }

        /* Card Number Styling */
        .card-number {
            font-size: 3rem;
            font-family: 'Playfair Display', serif;
            color: rgba(197, 160, 89, 0.2);
            font-weight: 700;
            line-height: 1;
            margin-bottom: 1.5rem;
            z-index: 1;
            position: relative;
            transition: 0.5s;
        }

        .training-card:hover .card-number {
            color: #C5A059;
            transform: translateX(5px);
        }

        /* Container Spacing */
        .py-7 {
            padding-top: 7rem;
            padding-bottom: 7rem;
        }

        /* Icon Styling */
        .icon-sm {
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
        }

        /* Benefit Card Refinement */
        .benefit-card {
            background: #fff;
            padding: 2.5rem 2rem;
            border-radius: 15px;
            border: 1px solid rgba(197, 160, 89, 0.1);
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            position: relative;
            overflow: hidden;
            height: 100%;
        }

        .benefit-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
            border-color: #C5A059;
        }

        .benefit-icon-wrapper {
            width: 60px;
            height: 60px;
            background: rgba(197, 160, 89, 0.05);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            transition: 0.3s;
        }

        .benefit-card:hover .benefit-icon-wrapper {
            background: #C5A059;
        }

        .benefit-card:hover .benefit-icon-wrapper i {
            color: #fff !important;
        }

        /* The Animated "Under-line" in cards */
        .card-line {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 3px;
            background: #C5A059;
            transition: width 0.4s ease;
        }

        .benefit-card:hover .card-line {
            width: 100%;
        }

        /* Animations */
        @keyframes float {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-15px);
            }
        }

        .animate-float {
            animation: float 5s ease-in-out infinite;
        }

        .hover-zoom {
            transition: transform 0.8s ease;
        }

        .hover-zoom:hover {
            transform: scale(1.08);
        }

        /* Frequency Wave Animation */
        .wave-svg path {
            stroke-dasharray: 100;
            animation: wave-move 3s linear infinite;
        }

        @keyframes wave-move {
            from {
                stroke-dashoffset: 100;
            }

            to {
                stroke-dashoffset: 0;
            }
        }

        /* Content Z-index for hover */
        .card-content {
            position: relative;
            z-index: 1;
        }

        /* Custom List */
        .training-list li {
            position: relative;
            padding-left: 20px;
            margin-bottom: 10px;
            color: #666;
        }

        .training-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 10px;
            width: 10px;
            height: 1px;
            background: #C5A059;
        }

        /* Sleek Link */
        .protocol-link {
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 2px;
            color: #000;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            transition: 0.3s;
            margin-top: auto;
        }

        .protocol-link:hover {
            color: #C5A059;
            padding-left: 10px;
        }

        /* Highlighted Card (06) */
        .training-card.highlight {
            background: #fdfaf5;
            border: 1px dashed #C5A059;
        }

        /* Card Container */
        .product-card {
            background: #fff;
            border: 1px solid rgba(0, 0, 0, 0.05);
            transition: all 0.4s ease;
            height: 100%;
        }

        /* THE FRAME LOCK - This ensures every image box is identical */
        .product-img-frame {
            position: relative;
            width: 100%;
            aspect-ratio: 1 / 1;
            /* Makes every frame a perfect square */
            overflow: hidden;
            background-color: #f9f9f9;
        }

        .product-img-frame img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
            /* Crops the image to fill the frame without stretching */
            transition: transform 0.6s ease;
        }

        /* Hover Zoom */
        .product-card:hover .product-img-frame img {
            transform: scale(1.1);
        }

        /* Overlays & Badges */
        .product-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: 0.3s ease;
        }

        .product-card:hover .product-overlay {
            opacity: 1;
        }

        .badge-new {
            position: absolute;
            top: 10px;
            left: 10px;
            background: #C5A059;
            color: #fff;
            font-size: 10px;
            padding: 3px 10px;
            z-index: 2;
            letter-spacing: 1px;
        }

        /* --- CONTACT & FORMS --- */
        .glass-panel {
            background: rgba(15, 15, 15, 0.6);
            backdrop-filter: blur(40px);
            border: 1px solid rgba(184, 150, 93, 0.15);
            padding: 80px;
        }

        .glass-panel .form-control {
            color: #ffffff !important;
            border-bottom-color: rgba(255, 255, 255, 0.3);
        }

        .glass-panel .form-control::placeholder {
            color: rgba(255, 255, 255, 0.7);
            opacity: 1;
        }

        .form-control {
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            color: var(--charcoal) !important;
            border-radius: 0;
            padding: 20px 0;
            transition: var(--transition-smooth);
        }

        .form-control:focus {
            background: transparent;
            border-bottom-color: var(--gold);
            box-shadow: none;
            padding-left: 10px;
        }

        .testimonial-marquee-wrapper {
            width: 100%;
        }

        .testimonial-marquee {
            display: flex;
            width: max-content;
        }

        .testimonial-item {
            min-width: 350px;
            max-width: 400px;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .testimonial-item:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
        }

        .quote-icon i {
            color: #d4af37;
        }

        /* --- BUTTONS --- */
        .btn-gold {
            background: var(--gold);
            color: white;
            border: 1px solid var(--gold);
            padding: 22px 55px;
            font-size: 0.7rem;
            letter-spacing: 5px;
            font-weight: 800;
            transition: var(--transition-smooth);
            text-transform: uppercase;
            border-radius: 0;
            position: relative;
            overflow: hidden;
        }


        .btn-white-gold {
            background: rgba(255, 255, 255, 0.9);
            color: var(--gold);
            border: 1px solid var(--gold);
            padding: 10px 24px;
            font-size: 0.75rem;
            letter-spacing: 2px;
            font-weight: 700;
            transition: var(--transition-smooth);
            text-transform: uppercase;
        }

        .btn-white-gold:hover {
            background: var(--gold);
            color: white;
            border-color: var(--gold);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }

        .btn-gold:hover {
            background: var(--stone);
            color: var(--gold);
            transform: translateY(-5px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }

        /* Section Container */
        .testimonial-section {
            position: relative;
            min-height: 80vh;
            display: flex;
            align-items: center;
        }

        .testimonial-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-attachment: fixed;
            background-size: cover;
            background-position: center;
            z-index: 1;
        }

        .testimonial-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.8));
            z-index: 1;
        }

        /* Glass Card Styling */
        .glass-testimonial {
            flex: 0 0 450px;
            margin: 0 1.5rem;
            padding: 3rem;
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(15px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            min-height: 320px;
            transition: all 0.5s ease;
            z-index: 2;
        }

        .glass-testimonial:hover {
            background: rgba(255, 255, 255, 0.07);
            border-color: #C5A059;
            transform: translateY(-10px);
        }

        .quote-mark {
            font-family: 'Playfair Display', serif;
            font-size: 5rem;
            color: #C5A059;
            line-height: 0;
            margin-bottom: 2rem;
            opacity: 0.5;
        }

        .testimonial-text {
            color: rgba(255, 255, 255, 0.85);
            font-size: 1.1rem;
            line-height: 1.8;
            font-style: italic;
            font-weight: 300;
        }

        /* Marquee Animation */
        .marquee-viewport {
            width: 100%;
            display: flex;
        }

        .marquee-track {
            display: flex;
            width: max-content;
            animation: scrollMarquee 40s linear infinite;
        }

        .marquee-track:hover {
            animation-play-state: paused;
        }

        @keyframes scrollMarquee {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(-50%);
            }

            /* Assumes you duplicated the cards once */
        }

        /* Utility */
        .z-index-2 {
            z-index: 2;
        }

        .x-small {
            font-size: 0.7rem;
            letter-spacing: 1px;
        }

        /* --- CONCIERGE & FLOATING ACTIONS --- */
        .fixed-bottom-right {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
        }

        .concierge-trigger {
            display: flex;
            align-items: center;
            gap: 15px;
            text-decoration: none !important;
            margin-bottom: 15px;
            justify-content: flex-end;
        }

        .trigger-label {
            background: var(--stone);
            color: var(--gold);
            padding: 8px 18px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            opacity: 0;
            transform: translateX(20px);
            transition: var(--transition-smooth);
            border: 1px solid var(--gold);
            text-transform: uppercase;
        }

        .concierge-trigger:hover .trigger-label {
            opacity: 1;
            transform: translateX(0);
        }

        .trigger-icon {
            width: 60px;
            height: 60px;
            background: var(--gold);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: var(--transition-smooth);
        }

        .booking-bg {
            background: var(--stone);
            border: 1px solid var(--gold);
            color: var(--gold);
        }

        /* --- FLOATING QR CODE --- */
        .qr-floating-wrap {
            position: relative;
            transition: var(--transition-smooth);
        }

        .qr-preview-box {
            position: absolute;
            bottom: 75px;
            right: 0;
            width: 420px;
            background: white;
            padding: 15px;
            border: 1px solid var(--gold);
            box-shadow: var(--shadow-heavy);
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px) scale(0.9);
            transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
            border-radius: 4px;
            z-index: 10000;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
        }

        .qr-floating-wrap:hover .qr-preview-box {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1);
        }

        .qr-preview-box img {
            width: calc(50% - 10px);
            height: auto;
            border: 1px solid rgba(184, 150, 93, 0.1);
            margin-bottom: 5px;
        }

        .qr-preview-box p {
            width: 100%;
            color: var(--stone);
            font-weight: 700;
            letter-spacing: 1px;
            font-size: 0.65rem;
            text-transform: uppercase;
            margin-bottom: 0;
            text-align: center;
        }

        .qr-icon-bg {
            background: #fff !important;
            color: var(--gold) !important;
            border: 1px solid var(--gold);
        }



        /* --- COOKIE CONSENT BANNER --- */
        .cookie-banner {
            display: flex;
            position: fixed;
            bottom: -150px;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 500px;
            background: var(--stone);
            border: 1px solid var(--gold);
            padding: 24px;
            z-index: 10000;
            display: flex;
            flex-direction: column;
            gap: 15px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
            transition: bottom 0.8s var(--ease-out-expo);
            border-radius: 4px;
        }

        .cookie-banner.show {
            bottom: 30px;
        }

        .cookie-text {
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.85rem;
            line-height: 1.6;
            margin: 0;
        }

        .cookie-actions {
            display: flex;
            gap: 15px;
            justify-content: flex-end;
        }

        .btn-cookie-manage {
            background: transparent;
            color: var(--gold);
            border: 1px solid var(--gold);
            padding: 8px 16px;
            font-size: 0.7rem;
            letter-spacing: 2px;
            font-weight: 700;
            transition: var(--transition-smooth);
            text-transform: uppercase;
        }

        .btn-cookie-manage:hover {
            background: var(--gold);
            color: white;
        }

        .btn-cookie-accept {
            background: var(--gold);
            color: white;
            border: 1px solid var(--gold);
            padding: 8px 16px;
            font-size: 0.7rem;
            letter-spacing: 2px;
            font-weight: 700;
            transition: var(--transition-smooth);
            text-transform: uppercase;
        }

        .btn-cookie-accept:hover {
            background: white;
            color: var(--gold);
        }

        .btn-cookie-decline {
            background: transparent;
            color: rgba(255, 255, 255, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 8px 16px;
            font-size: 0.7rem;
            letter-spacing: 2px;
            font-weight: 700;
            transition: var(--transition-smooth);
            text-transform: uppercase;
        }

        .btn-cookie-decline:hover {
            color: white;
            border-color: white;
        }

        @media (max-width: 576px) {
            .cookie-banner {
                display: flex;
                width: 95%;
                padding: 20px;
            }

            .cookie-actions {
                flex-direction: column;
            }

            .btn-cookie-manage,
            .btn-cookie-accept,
            .btn-cookie-decline {
                width: 100%;
                text-align: center;
            }

            /* Mobile QR Preview Adjustments */
            .qr-preview-box {
                width: 280px;
                bottom: 70px;
                right: -10px;
                padding: 10px;
            }

            .qr-preview-box img {
                width: calc(50% - 5px);
                margin-bottom: 5px;
            }
        }

        /* --- RESPONSIVE OPTIMIZATIONS --- */
        @media (max-width: 991px) {

            .stat-card,
            .signature-box {
                position: relative;
                bottom: 0;
                left: 0;
                right: 0;
                transform: none;
                margin-top: 30px !important;
                width: 100%;
                min-width: auto;
            }

            .about-img {
                height: 400px;
            }

            .glass-panel {
                padding: 40px 20px;
            }

            .hero-caption h1 {
                font-size: 3rem;
            }

            .navbar-collapse {
                background: var(--white-soft);
                backdrop-filter: blur(25px);
                padding: 1rem;
                border-radius: 8px;
                margin-top: 10px;
                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            }
        }

        @media (max-width: 768px) {

            .py-6,
            .py-7 {
                padding-top: 4rem;
                padding-bottom: 4rem;
            }

            .mb-6 {
                margin-bottom: 3rem;
            }

            .display-4 {
                font-size: 2.2rem;
            }

            .display-5 {
                font-size: 1.8rem;
            }

            .hero-caption {
                position: relative;
                top: auto;
                left: auto;
                transform: none;
                width: 100%;
                padding: 3rem 1.5rem;
                display: flex;
                flex-direction: column;
                justify-content: center;
                text-shadow: none;
            }

            .hero-caption h1 {
                font-size: 2.2rem;
                line-height: 1.2;
            }

            .hero-slider .swiper-slide {
                height: auto;
                min-height: 70vh;
                background-color: var(--white-soft);
                display: flex;
                flex-direction: column;
            }

            .hero-slider .swiper-slide::after {
                display: none;
                /* Remove gradient overlay as text is now on solid background */
            }

            /* Professional split-layout banner for mobile */
            .hero-slider img {
                width: 100%;
                height: 45vh;
                object-fit: cover;
                object-position: center 15%;
            }

            .glass-testimonial {
                flex: 0 0 320px;
                margin: 0 10px;
                padding: 2rem 1.5rem;
            }

            .glass-testimonial .quote-mark {
                font-size: 2.5rem;
                margin-bottom: 0.5rem;
            }

            .testimonial-text {
                font-size: 0.9rem;
                line-height: 1.8;
            }

            /* Better mobile spacing for benefit cards */
            .benefit-card {
                margin-bottom: 1.5rem;
                padding: 2rem 1.5rem;
                border-radius: 12px;
            }

            .training-card {
                padding: 2.5rem 1.5rem;
                margin-bottom: 1rem;
            }

            h4.playfair {
                font-size: 1.25rem;
            }

            /* Fix overflow on mobile */
            .marquee-track {
                animation-duration: 40s;
                /* Smooth scroll on mobile */
            }
        }

        @media (max-width: 576px) {
            .about-img {
                height: 300px;
            }

            .glass-testimonial {
                flex: 0 0 85vw;
                /* Full width cards on small phones */
            }

            .hero-caption h1 {
                font-size: 1.8rem;
                margin-bottom: 0.5rem;
            }

            .hero-caption p {
                font-size: 0.85rem;
            }

            .concierge-trigger .trigger-label {
                display: none;
                /* Hide label on small screens to save space */
            }

            .btn-outline-gold,
            .btn-primary-gold {
                width: 100%;
                margin-bottom: 10px;
            }

            .fixed-bottom-right {
                bottom: 20px;
                right: 20px;
            }

            .shop-actions button {
                padding: 10px 20px;
            }
        }

        /* ================= BLOG SECTION ================= */
        .blog-card {
            background: #fff;
            border: 1px solid rgba(0, 0, 0, 0.05);
            overflow: hidden;
            height: 100%;
            display: flex;
            flex-direction: column;
            transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        .blog-card:hover {
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
            transform: translateY(-8px);
        }

        .blog-img-wrap {
            position: relative;
            overflow: hidden;
        }

        .blog-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        .blog-card:hover .blog-img-wrap img {
            transform: scale(1.06);
        }

        .blog-img-wrap .blog-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, transparent 60%);
            transition: opacity 0.4s ease;
        }

        .blog-card:hover .blog-overlay {
            opacity: 0.7;
        }

        .blog-category-tag {
            position: absolute;
            top: 16px;
            left: 16px;
            background: var(--gold);
            color: #fff;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 4px 12px;
            z-index: 2;
        }

        .blog-content {
            padding: 1.8rem 1.8rem 1.5rem;
            display: flex;
            flex-direction: column;
            flex-grow: 1;
        }

        .blog-date {
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 2px;
            color: var(--gold);
            text-transform: uppercase;
            margin-bottom: 0.6rem;
        }

        .blog-title {
            font-family: 'Playfair Display', serif;
            color: var(--stone);
            line-height: 1.35;
            margin-bottom: 0.75rem;
        }

        .blog-excerpt {
            color: #777;
            font-size: 0.875rem;
            line-height: 1.75;
            margin-bottom: 1.25rem;
            flex-grow: 1;
        }

        .blog-read-more {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.68rem;
            font-weight: 800;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--stone);
            text-decoration: none;
            border-bottom: 1px solid var(--gold);
            padding-bottom: 2px;
            transition: all 0.3s ease;
            margin-top: auto;
        }

        .blog-read-more:hover {
            color: var(--gold);
            gap: 14px;
        }

        /* Featured (tall) card image height */
        .blog-img-featured {
            height: 440px;
        }

        /* Side stack card image height */
        .blog-img-side {
            height: 200px;
        }

        /* Bottom row card image height */
        .blog-img-bottom {
            height: 240px;
        }

        @media (max-width: 991px) {
            .blog-img-featured {
                height: 300px;
            }

            .blog-img-side {
                height: 180px;
            }

            .blog-img-bottom {
                height: 220px;
            }
        }

        @media (max-width: 768px) {

            .blog-img-featured,
            .blog-img-side,
            .blog-img-bottom {
                height: 220px;
            }
        }

        /* ================= RESPONSIVE NAVBAR ================= */
        .sei-navbar {
            padding: 14px 0;
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
            background: transparent !important;
            z-index: 1050;
        }

        .sei-navbar.scrolled {
            padding: 10px 0;
            background: var(--white-soft) !important;
            backdrop-filter: blur(28px);
            -webkit-backdrop-filter: blur(28px);
            box-shadow: 0 8px 32px rgba(0,0,0,0.07);
        }

        /* Nav links desktop */
        .sei-navbar .nav-link {
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--stone) !important;
            padding: 6px 14px;
            position: relative;
            transition: color 0.35s ease;
        }

        .sei-navbar .nav-link::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 14px;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .sei-navbar .nav-link:hover {
            color: var(--gold) !important;
        }

        .sei-navbar .nav-link:hover::after,
        .sei-navbar .nav-link.active::after {
            width: calc(100% - 28px);
        }

        .sei-navbar .nav-link.active {
            color: var(--gold) !important;
        }

        /* ---- Hamburger Toggler ---- */
        .sei-toggler {
            width: 44px;
            height: 44px;
            border: 1.5px solid rgba(184,150,93,0.5);
            border-radius: 6px;
            background: transparent;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 5px;
            cursor: pointer;
            padding: 0;
            transition: border-color 0.3s ease, background 0.3s ease;
            position: relative;
            z-index: 1200;
        }

        .sei-toggler:hover {
            border-color: var(--gold);
            background: rgba(184,150,93,0.07);
        }

        .sei-toggler .bar {
            display: block;
            width: 22px;
            height: 2px;
            background: var(--stone);
            border-radius: 2px;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            transform-origin: center;
        }

        /* Animated X when open */
        .sei-toggler.is-open .bar:nth-child(1) {
            transform: translateY(7px) rotate(45deg);
        }
        .sei-toggler.is-open .bar:nth-child(2) {
            opacity: 0;
            transform: scaleX(0);
        }
        .sei-toggler.is-open .bar:nth-child(3) {
            transform: translateY(-7px) rotate(-45deg);
        }

        /* ---- Mobile Drawer ---- */
        .sei-mobile-menu {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100dvh;
            background: rgba(252,250,248,0.98);
            backdrop-filter: blur(30px);
            -webkit-backdrop-filter: blur(30px);
            z-index: 1100;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0;
            padding: 80px 30px 40px;
            transform: translateY(-100%);
            opacity: 0;
            visibility: hidden;
            transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                        opacity 0.4s ease,
                        visibility 0s linear 0.55s;
        }

        .sei-mobile-menu.is-open {
            transform: translateY(0);
            opacity: 1;
            visibility: visible;
            transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
                        opacity 0.4s ease,
                        visibility 0s linear 0s;
        }

        .sei-mobile-menu .mob-link {
            display: block;
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.8rem, 5vw, 2.6rem);
            font-weight: 400;
            color: var(--stone);
            text-decoration: none;
            letter-spacing: 0.05em;
            padding: 14px 0;
            border-bottom: 1px solid rgba(184,150,93,0.15);
            width: 100%;
            text-align: center;
            transition: color 0.3s ease, letter-spacing 0.3s ease;
            opacity: 0;
            transform: translateY(20px);
            transition: color 0.3s ease, letter-spacing 0.3s ease,
                        opacity 0.4s ease, transform 0.4s ease;
        }

        .sei-mobile-menu.is-open .mob-link {
            opacity: 1;
            transform: translateY(0);
        }

        /* Staggered entrance */
        .sei-mobile-menu.is-open .mob-link:nth-child(1) { transition-delay: 0.08s; }
        .sei-mobile-menu.is-open .mob-link:nth-child(2) { transition-delay: 0.14s; }
        .sei-mobile-menu.is-open .mob-link:nth-child(3) { transition-delay: 0.20s; }
        .sei-mobile-menu.is-open .mob-link:nth-child(4) { transition-delay: 0.26s; }
        .sei-mobile-menu.is-open .mob-link:nth-child(5) { transition-delay: 0.32s; }
        .sei-mobile-menu.is-open .mob-link:nth-child(6) { transition-delay: 0.38s; }

        .sei-mobile-menu .mob-link:hover {
            color: var(--gold);
            letter-spacing: 0.12em;
        }

        .sei-mobile-menu .mob-link:last-child {
            border-bottom: none;
        }

        .mob-social {
            display: flex;
            gap: 24px;
            margin-top: 36px;
            opacity: 0;
            transform: translateY(15px);
            transition: opacity 0.4s ease 0.46s, transform 0.4s ease 0.46s;
        }

        .sei-mobile-menu.is-open .mob-social {
            opacity: 1;
            transform: translateY(0);
        }

        .mob-social a {
            color: var(--stone);
            font-size: 1.3rem;
            transition: color 0.3s ease, transform 0.3s ease;
        }

        .mob-social a:hover {
            color: var(--gold);
            transform: translateY(-3px);
        }

        /* Lock body scroll when menu open */
        body.menu-open {
            overflow: hidden;
        }

        /* ================= TESTIMONIAL SWIPER ================= */
        .testimonial-swiper {
            padding-bottom: 60px !important;
        }

        .testimonial-swiper .glass-testimonial {
            height: auto;
            margin: 10px 4px;
        }

        .testimonial-prev,
        .testimonial-next {
            color: var(--gold) !important;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(184, 150, 93, 0.3);
            width: 46px !important;
            height: 46px !important;
            border-radius: 50%;
            top: 50% !important;
        }

        .testimonial-prev::after,
        .testimonial-next::after {
            font-size: 1rem !important;
            font-weight: 700;
        }

        .testimonial-prev:hover,
        .testimonial-next:hover {
            background: var(--gold);
            color: #fff !important;
        }

        .testimonial-pagination .swiper-pagination-bullet {
            background: rgba(255, 255, 255, 0.4);
            width: 8px;
            height: 8px;
            opacity: 1;
        }

        .testimonial-pagination .swiper-pagination-bullet-active {
            background: var(--gold);
            transform: scale(1.3);
        }

        @media (max-width: 768px) {

            .testimonial-prev,
            .testimonial-next {
                display: none !important;
            }
        }