        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        /* --- ASIA TRAVELS: DYNAMIC STICKY EDITION --- */
        :root {
            /* Color System from Index */
            --deep-forest: #1F3A2E;
            --bg-secondary: #13241c;
            --copper-solid: #C68B59;
            --copper-border: #A67C52;
            --soft-beige: #F5EFE6;
            --primary-pink: #ea90ad;
            --dark-brown: #3d1a0a;

            /* Legacy variables mapping for About Us sections */
            --bg: var(--soft-beige);
            --green: var(--deep-forest);
            --green-lt: #2E6E55;
            --gold: var(--copper-solid);
            --gold-lt: #D4AE6A;
            --ink: #111111;
            --muted: #666666;
            --border: #e2d9cc;
            --alt: #F5EFE6;
            --card: #FFFFFF;
            --pink: var(--primary-pink);

            /* Typography System */
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Poppins', sans-serif;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            background: #F8F5EF !important;
            color: var(--ink);
            font-family: var(--font-body);
            font-size: 13px;
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* ── NAV ── */
        nav {
            position: sticky;
            top: 0;
            z-index: 100;
            background: var(--green);
            padding: 0 3rem;
            height: 58px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
        }

        .pink {
            color:pink;
        }
        .logo {
            font-size: 1.15rem;
            font-weight: 700;
            color: #fff;
            text-decoration: none;
        }

        .logo span {
            color: var(--gold-lt);
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 0;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .nav-links::-webkit-scrollbar {
            display: none;
        }

        .nav-links a {
            font-size: 13px;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: #ffffff;
            text-decoration: none;
            font-weight: 500;
            padding: 0 1.1rem;
            height: 58px;
            display: flex;
            align-items: center;
            border-bottom: 2px solid transparent;
            white-space: nowrap;
            transition: color 0.2s, border-color 0.2s;
        }

        .nav-links a:hover,
        .nav-links a.active {
            color: #fff;
            border-bottom-color: var(--gold-lt);
        }

        /* ── HERO ── */
        .hero {
            background: var(--green);
            position: relative;
            padding-top: 130px;
        }

        .hero-layout {
            display: grid;
            grid-template-columns: 1fr 440px;
            min-height: 180px;
        }

        .hero-inner {
            padding: 1.2rem 3rem 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .hero-img-col {
            position: relative;
            overflow: hidden;
        }

        .hero-img-col img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 30%;
            display: block;
            filter: brightness(0.75);
        }

        .hero-img-col::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to right, var(--green) 0%, rgba(30, 77, 59, 0.55) 40%, transparent 75%);
            z-index: 1;
            pointer-events: none;
        }

        .hero-img-col::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 60px;
            background: linear-gradient(to bottom, transparent, var(--green));
            z-index: 1;
            pointer-events: none;
        }

        .hero-since {
            display: inline-block;
            font-size: 1.1rem;
            font-weight: 800;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold-lt);
            margin-bottom: 0.5rem;
        }

        .hero-flag {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.16);
            border-radius: 50px;
            padding: 0.3rem 0.8rem 0.3rem 0.6rem;
            margin-bottom: 0.6rem;
        }

        .hero-flag-dot {
            width: 8px;
            height: 8px;
            background: var(--gold-lt);
            border-radius: 50%;
            flex-shrink: 0;
        }

        .hero-flag-text {
            font-size: 0.72rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.75);
            font-weight: 600;
        }

        .hero-eye {
            font-size: 0.7rem;
            letter-spacing: 0.26em;
            text-transform: uppercase;
            color: var(--pink-lt);
            margin-bottom: 1rem;
            font-weight: 600;
        }

        .hero h1 {
            font-size: 38px;
            font-weight: 700;
            color: #fff;
            line-height: 1.15;
            margin-bottom: 0.5rem;
            letter-spacing: -0.02em;
        }

        .hero h1 em {
            font-style: italic;
            color: var(--gold-lt);
            font-weight: 400;
        }

        .hero-sub {
            font-size: 0.78rem;
            color: rgba(255, 255, 255, 0.68);
            max-width: 620px;
            line-height: 1.6;
        }

        .hero-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 0.6rem;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.67rem;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.55);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 3px;
            padding: 0.28rem 0.65rem;
        }

        .hero-btns {
            display: flex;
            gap: 0.6rem;
            margin-top: 0.8rem;
            flex-wrap: wrap;
        }

        .btn-gold {
            padding: 0.72rem 1.8rem;
            background: var(--gold);
            color: #fff;
            font-family: 'Poppins', sans-serif;
            font-size: 0.76rem;
            font-weight: 600;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            border-radius: 3px;
            text-decoration: none;
            transition: background 0.2s;
        }

        .btn-gold:hover {
            background: var(--gold-lt);
        }

        .btn-ghost {
            padding: 0.72rem 1.8rem;
            background: transparent;
            color: rgba(255, 255, 255, 0.7);
            font-family: 'Poppins', sans-serif;
            font-size: 0.76rem;
            font-weight: 500;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            border-radius: 3px;
            text-decoration: none;
            border: 1.5px solid rgba(255, 255, 255, 0.25);
            transition: all 0.2s;
        }

        .btn-ghost:hover {
            border-color: rgba(255, 255, 255, 0.6);
            color: #fff;
        }

        /* ── STAT STRIP ── */
        .stat-strip {
            background: rgba(0, 0, 0, 0.28);
            display: flex;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            margin-top: 2.5rem;
        }

        .stat-cell {
            flex: 1;
            padding: 1rem;
            text-align: center;
            border-right: 1px solid rgba(255, 255, 255, 0.07);
        }

        .stat-cell:last-child {
            border-right: none;
        }

        /* ── SECTION NAV ── */
        .sec-nav {
            background: var(--green-lt);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            position: sticky;
            top: 58px;
            z-index: 90;
        }

        .sec-nav-inner {
            display: flex;
            overflow-x: auto;
            scrollbar-width: none;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .sec-nav-inner::-webkit-scrollbar {
            display: none;
        }

        .sec-nav a {
            font-size: 0.7rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
            font-weight: 500;
            padding: 0 1rem;
            height: 44px;
            display: flex;
            align-items: center;
            border-bottom: 2px solid transparent;
            white-space: nowrap;
            transition: color 0.2s, border-color 0.2s;
        }

        .sec-nav a:hover,
        .sec-nav a.active {
            color: #fff;
            border-bottom-color: var(--gold-lt);
        }

        /* ── SHARED ── */
        .sec {
            padding: 120px 2rem;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .eyebrow {
            font-size: 12px;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--copper-solid);
            font-weight: 600;
            margin-bottom: 16px;
            display: block;
        }

        .sec-title {
            font-family: var(--font-heading);
            font-size: 48px;
            color: var(--deep-forest);
            line-height: 1.1;
            margin-bottom: 24px;
        }

        .sec-title em {
            font-style: italic;
        }

        .body-text {
            font-size: 0.9rem;
            color: var(--muted);
            line-height: 1.8;
        }

        /* ── WHO WE ARE ── */
        .who-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .who-img {
            width: 100%;
            height: 400px;
            object-fit: cover;
            border-radius: 6px;
            display: block;
            box-shadow: 0 12px 40px rgba(30, 77, 59, 0.15);
        }

        .who-points {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            margin-top: 1.2rem;
        }

        .who-point {
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
            padding: 0.85rem 1rem;
            background: rgba(30, 77, 59, 0.06);
            border-left: 3px solid var(--green);
            border-radius: 3px;
        }

        .wp-icon {
            font-size: 1.1rem;
            flex-shrink: 0;
            margin-top: 1px;
        }

        .wp-text {
            font-size: 0.82rem;
            color: var(--muted);
            line-height: 1.55;
        }

        .wp-text strong {
            display: block;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1px;
        }

        /* ── 17 YEARS ── */
        .years-sec {
            background: var(--alt);
        }

        .years-grid {
            display: grid;
            grid-template-columns: 160px 1fr;
            gap: 4rem;
            align-items: start;
        }

        .years-big {
            font-size: 120px;
            font-weight: 700;
            font-family: var(--font-heading);
            color: var(--deep-forest);
            line-height: 0.9;
            letter-spacing: -0.03em;
        }

        .years-word {
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--pink);
            margin-top: 0.5rem;
        }

        .years-sub {
            font-size: 0.65rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--muted);
            margin-top: 0.3rem;
        }

        .milestones {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-top: 1rem;
        }

        .milestone {
            display: flex;
            align-items: flex-start;
            gap: 1.1rem;
            padding: 0.9rem 0;
            border-bottom: 1px solid var(--border);
        }

        .milestone:first-child {
            border-top: 1px solid var(--border);
        }

        .m-year {
            font-size: 0.82rem;
            font-weight: 700;
            color: var(--pink);
            min-width: 90px;
            flex-shrink: 0;
            padding-top: 1px;
        }

        .m-text {
            font-size: 0.84rem;
            color: var(--muted);
            line-height: 1.6;
        }

        .m-text strong {
            color: var(--ink);
            font-weight: 600;
        }

        /* ── AWARDS ── */
        .awards-sec {
            background: var(--green);
        }

        .awards-sec .eyebrow {
            color: var(--gold-lt);
        }

        .awards-sec .sec-title {
            color: #fff;
        }

        .awards-sec .sec-title em {
            color: var(--gold-lt);
        }

        .award-card {
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 5px;
            padding: 2rem;
            margin-top: 1.8rem;
        }

        .award-top {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.2rem;
        }

        .award-icon {
            width: 46px;
            height: 46px;
            background: rgba(181, 146, 74, 0.15);
            border: 1px solid rgba(181, 146, 74, 0.3);
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            flex-shrink: 0;
        }

        .award-name {
            font-size: 0.95rem;
            font-weight: 600;
            color: #fff;
        }

        .award-sub {
            font-size: 0.76rem;
            color: rgba(255, 255, 255, 0.5);
            margin-top: 2px;
        }

        .award-body {
            font-size: 0.84rem;
            color: rgba(255, 255, 255, 0.55);
            line-height: 1.7;
            margin-bottom: 1.2rem;
        }

        .year-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .year-pill {
            padding: 3px 10px;
            border-radius: 12px;
            font-size: 0.67rem;
            font-weight: 600;
            background: rgba(181, 146, 74, 0.15);
            border: 1px solid rgba(181, 146, 74, 0.3);
            color: var(--gold-lt);
        }

        .award-stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1px;
            background: rgba(255, 255, 255, 0.08);
            margin-top: 1.5rem;
            border-radius: 4px;
            overflow: hidden;
        }

        .a-stat {
            background: rgba(255, 255, 255, 0.04);
            padding: 1.1rem;
            text-align: center;
        }

        .a-stat-num {
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--gold-lt);
            line-height: 1;
        }

        .a-stat-lbl {
            font-size: 0.7rem;
            color: rgba(255, 255, 255, 0.45);
            margin-top: 4px;
            line-height: 1.4;
        }

        /* ── COVID ── */
        .covid-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .covid-num {
            font-family: var(--font-heading);
            font-size: 48px;
            font-weight: 700;
            color: var(--green);
            line-height: 0.9;
            letter-spacing: -0.03em;
        }

        .covid-num em {
            font-style: italic;
            color: var(--pink);
            font-weight: 400;
        }

        .covid-label {
            font-size: 0.65rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--muted);
            margin-top: 0.8rem;
            margin-bottom: 1.1rem;
        }

        .covid-facts {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1px;
            background: var(--border);
            border-radius: 4px;
            overflow: hidden;
            margin-top: 1rem;
        }

        .c-fact {
            background: var(--card);
            padding: 1rem;
        }

        .c-fact-num {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--green);
            line-height: 1;
        }

        .c-fact-lbl {
            font-size: 0.73rem;
            color: var(--muted);
            margin-top: 3px;
            line-height: 1.4;
        }

        .covid-img {
            width: 100%;
            height: 380px;
            object-fit: cover;
            border-radius: 6px;
            display: block;
            box-shadow: 0 12px 40px rgba(30, 77, 59, 0.14);
        }

        /* ── MULTI-CITY ── */
        .mc-sec {
            background: var(--alt);
        }

        .mc-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .mc-img {
            width: 100%;
            height: 380px;
            object-fit: cover;
            border-radius: 6px;
            display: block;
            box-shadow: 0 12px 40px rgba(30, 77, 59, 0.14);
        }

        .mc-features {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.6rem;
            margin-top: 1.1rem;
        }

        .mc-feat {
            display: flex;
            align-items: flex-start;
            gap: 0.7rem;
            padding: 0.8rem 0.9rem;
            background: rgba(30, 77, 59, 0.06);
            border-left: 3px solid var(--green);
            border-radius: 3px;
        }

        .mc-feat-icon {
            font-size: 1rem;
            flex-shrink: 0;
            margin-top: 1px;
        }

        .mc-feat-text {
            font-size: 0.78rem;
            color: var(--muted);
            line-height: 1.5;
        }

        .mc-feat-text strong {
            display: block;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1px;
        }

        /* ── WHY ── */
        .why-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
            margin-top: 2rem;
        }

        .why-card {
            background: var(--card);
            border: 1px solid var(--border);
            border-top: 3px solid var(--border);
            border-radius: 5px;
            padding: 1.5rem;
            transition: border-top-color 0.2s, box-shadow 0.2s, transform 0.2s;
        }

        .why-card:hover {
            border-top-color: var(--pink);
            box-shadow: 0 6px 24px rgba(30, 77, 59, 0.1);
            transform: translateY(-2px);
        }

        .why-icon {
            width: 40px;
            height: 40px;
            background: var(--pink-pale);
            border: 1px solid rgba(234, 144, 173, 0.22);
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            margin-bottom: 1rem;
        }

        .why-title {
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 0.4rem;
        }

        .why-desc {
            font-size: 0.78rem;
            color: var(--muted);
            line-height: 1.7;
        }

        /* ── DESTINATIONS ── */
        .dest-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 0.6rem;
            margin-top: 1.4rem;
        }

        .dest-chip {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.55rem 1.1rem;
            background: var(--card);
            border: 1.5px solid var(--border);
            border-radius: 50px;
            font-size: 0.8rem;
            color: var(--muted);
            transition: all 0.18s;
            cursor: default;
        }

        .dest-chip:hover {
            border-color: var(--pink);
            background: rgba(234, 144, 173, 0.07);
            color: var(--pink);
        }

        /* ── LOCATION ── */
        .loc-sec {
            background: var(--alt);
        }

        .loc-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .loc-details {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            margin-top: 1.2rem;
        }

        .loc-item {
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
            padding: 0.85rem 1rem;
            background: var(--card);
            border: 1px solid var(--border);
            border-radius: 4px;
        }

        .loc-icon {
            font-size: 1.1rem;
            flex-shrink: 0;
        }

        .loc-text {
            font-size: 0.82rem;
            color: var(--muted);
            line-height: 1.55;
        }

        .loc-text strong {
            display: block;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 1px;
        }

        .loc-map {
            border-radius: 6px;
            overflow: hidden;
            height: 360px;
            box-shadow: 0 8px 30px rgba(30, 77, 59, 0.12);
            border: 1px solid var(--border);
        }

        .loc-map iframe {
            width: 100%;
            height: 100%;
            border: none;
            display: block;
        }

        /* ── CTA ── */
        .cta-sec {
            background: var(--green);
            padding: 4rem 2rem;
            text-align: center;
        }

        .cta-sec .eyebrow {
            color: var(--gold-lt);
        }

        .cta-sec .sec-title {
            color: #fff;
            margin: 0 auto;
        }

        .cta-sec .sec-title em {
            color: var(--gold-lt);
        }

        .cta-sub {
            font-size: 0.88rem;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.75;
            max-width: 540px;
            margin: 0.8rem auto 1.8rem;
        }

        .cta-btns {
            display: flex;
            gap: 0.8rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn-wa {
            padding: 0.72rem 1.8rem;
            background: #25D366;
            color: #fff;
            font-family: 'Poppins', sans-serif;
            font-size: 0.76rem;
            font-weight: 600;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            border-radius: 3px;
            text-decoration: none;
            transition: opacity 0.2s;
        }

        .btn-wa:hover {
            opacity: 0.88;
        }

        .btn-ghost-lt {
            padding: 0.72rem 1.8rem;
            background: transparent;
            color: rgba(255, 255, 255, 0.7);
            font-family: 'Poppins', sans-serif;
            font-size: 0.76rem;
            font-weight: 500;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            border-radius: 3px;
            text-decoration: none;
            border: 1.5px solid rgba(255, 255, 255, 0.25);
            transition: all 0.2s;
        }

        .btn-ghost-lt:hover {
            border-color: #fff;
            color: #fff;
        }

        /* ── FOOTER ── */
        footer {
            background: rgba(12, 30, 22, 1);
            padding: 1.8rem 2rem;
            text-align: center;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        footer .f-logo {
            font-size: 1.05rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.65);
            text-decoration: none;
            display: block;
            margin-bottom: 0.4rem;
        }

        footer .f-logo span {
            color: var(--gold-lt);
        }

        footer p {
            font-size: 0.72rem;
            color: rgba(255, 255, 255, 0.28);
            line-height: 1.7;
        }

        /* ── REVEAL ── */
        .reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        .reveal.visible {
            opacity: 1;
            transform: none;
        }

        .d1 {
            transition-delay: 0.1s;
        }

        .d2 {
            transition-delay: 0.2s;
        }

        .d3 {
            transition-delay: 0.3s;
        }

        .d4 {
            transition-delay: 0.4s;
        }

        /* ── RESPONSIVE ── */
        @media(max-width:900px) {
            .hero-layout {
                grid-template-columns: 1fr;
            }

            .hero-img-col {
                height: 280px;
            }

            .hero-img-col::before {
                background: linear-gradient(to bottom, var(--green) 0%, rgba(30, 77, 59, 0.3) 60%, transparent 100%);
            }

            .hero-inner {
                padding: 3rem 1.5rem 2rem;
            }

            .who-grid,
            .covid-grid,
            .mc-grid,
            .loc-grid {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }

            .years-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .why-grid {
                grid-template-columns: 1fr 1fr;
            }

            .award-stats {
                grid-template-columns: 1fr 1fr 1fr;
            }
        }

        @media(max-width:600px) {
            nav {
                padding: 0 1.2rem;
            }

            .hero {
                padding: 2rem 1.5rem 2rem;
            }

            .sec {
                padding: 3rem 1.2rem;
            }

            .why-grid {
                grid-template-columns: 1fr;
            }

            .mc-features {
                grid-template-columns: 1fr;
            }

            .stat-strip {
                flex-wrap: wrap;
            }

            .stat-cell {
                min-width: 50%;
            }

            .award-stats {
                grid-template-columns: 1fr 1fr;
            }
        }

        /* --- ASIA TRAVELS: DYNAMIC STICKY EDITION --- */
        :root {
            /* Color System */
            --deep-forest: #1F3A2E;
            --bg-secondary: #13241c;
            --copper-solid: #C68B59;
            --copper-border: #A67C52;
            --soft-beige: #F5EFE6;

            /* Typography System */
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Poppins', sans-serif;
        }

        body,
        html {
            margin: 0;
            padding: 0;
            font-family: var(--font-body);
            background-color: var(--soft-beige);
            overflow-x: clip;
            width: 100%;
        }
























        /* --- THE DYNAMIC NAVBAR --- */
        .header-wrapper {
            position: fixed;
            /* Fixed to allow smooth scroll transitions */
            top: 0;
            width: 100%;
            z-index: 1000;
            transition: box-shadow 0.3s ease;
        }

        .header-wrapper.scrolled {
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        }

        /* Reduced Top White Utility Bar */
        .top-bar {
            background-color: var(--deep-forest);
            color: #ffffff !important;
            height: 80px;
            /* Reduced from 110px */
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 50px;
            position: relative;
            border-bottom: 0.4px solid #eaeaea73;
        }

        @media (max-width: 1440px) {
            .top-bar {
                height: 70px;
            }
        }

        /* Left & Right Flex Containers */
        .header-left,
        .header-right {
            display: flex;
            align-items: center;
            gap: 32px;
        }

        /* Contact Info moved next to Menu */
        .nav-contact-info {
            font-size: 11px;
            font-weight: 400;
            color: #666;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            border-left: 1px solid #ddd;
            /* Subtle separator from Menu */
            padding-left: 32px;
        }

        .nav-contact-info span.divider {
            margin: 0 12px;
            color: #ccc;
        }

        /* Center Column (Hanging Logo) */
        .center-logo-wrapper {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            top: 5px;
            /* Adjusted slightly */
            z-index: 1010;

            /* The White Plate Fix */
            background-color: #ffffff;
            border-radius: 50%;
            padding: 8px;
            /* Adjust this to make the white border thicker/thinner */
            /* box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08); */
            /* Soft shadow for depth */
        }

        /* Reduced Logo Size */
        .hanging-logo {
            width: 140px;
            display: block;
            /* Remove any dark drop-shadows on the image itself */
            filter: none;
        }



        @media (max-width: 1440px) {
            .hanging-logo {
                width: 120px;
            }
        }

        /* Dynamic Scroll State for Logo */
        .header-wrapper.scrolled .hanging-logo {
            width: 75px;
            /* Shrinks the logo when scrolling */
            top: 5px;
        }

        /* Nav Links in Top Bar */
        .nav-link-simple {
            text-decoration: none;
            color: #111;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            transition: color 0.3s ease;
            display: flex;
            align-items: center;
        }

        .nav-link-simple:hover {
            color: var(--copper-solid);
        }







        /* Secondary Stroke Button (Client Spec) */
        /* --- 3D SECONDARY COPPER BUTTON (COPPER ROD EFFECT) --- */
        .btn-secondary-copper {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 28px;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-decoration: none;
            color: var(--deep-forest);
            background: transparent;
            border-radius: 12px;

            /* 1. The 3D Copper Rod Outline */
            border: 2px solid #be7c46;
            /* Base copper tone */
            border-top-color: #e3ad83;
            /* Highlighted top edge (light) */
            border-bottom-color: #733f15;
            /* Shadowed bottom edge (dark) */

            /* Subtle inner glow to round out the "rod" feel */
            box-shadow:
                inset 0 1px 3px rgba(227, 173, 131, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.05);

            overflow: hidden;
            /* Contains the shine animation */
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
            z-index: 1;
        }




        /* 2. The Shine Beam Setup (Hidden off-screen) */
        .btn-secondary-copper::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 60%;
            height: 100%;
            background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
            transform: skewX(-25deg);
            z-index: 2;
        }



        /* --- HOVER STATE --- */
        .btn-secondary-copper:hover {
            color: #ffffff;

            /* Fill with the primary button's metallic gradient */
            background: linear-gradient(180deg, #e3ad83 0%, #c98954 40%, #ad6831 100%);

            /* Blend the border into the new solid background */
            border-color: #c98954;
            border-top-color: #e3ad83;
            border-bottom-color: #ad6831;

            /* Match the 3D Block Shadow of the primary button */
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.5),
                0 4px 0 #733f15,
                0 10px 15px rgba(0, 0, 0, 0.2);

            transform: translateY(-2px);
            /* Lift off the page */
        }

        /* Trigger the Shine Animation on Hover */
        .btn-secondary-copper:hover::before {
            animation: copper-shine 0.7s ease-in-out;
        }

        /* --- ACTIVE (CLICK) STATE --- */
        .btn-secondary-copper:active {
            transform: translateY(2px);
            /* Physically push down */
            /* Flatten the shadow block */
            box-shadow:
                inset 0 2px 4px rgba(0, 0, 0, 0.4),
                0 0px 0 #733f15,
                0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* Note: Only include this if you didn't already copy it from the primary button CSS! */
        @keyframes copper-shine {
            0% {
                left: -100%;
            }

            100% {
                left: 200%;
            }
        }




        /* Bottom Green Navigation Bar */
        .bottom-nav-bar {
            background-color: var(--deep-forest);
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            /* Setup for smooth collapse */
            height: 50px;
            transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease;
            opacity: 1;
        }

        @media (max-width: 1440px) {
            .bottom-nav-bar {
                height: 60px;
            }
        }

        /* Scroll State: Hide the Green Bar */
        .header-wrapper.scrolled .bottom-nav-bar {
            max-height: 0;
            opacity: 0;
        }

        .bottom-nav-bar ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            gap: 70px;
            height: 50px;
            align-items: center;
        }

        .bottom-nav-bar a {
            color: #ffffff;
            text-decoration: none;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            transition: color 0.3s ease;
        }

        .bottom-nav-bar a:hover {
            color: var(--copper-solid);
        }

        .nav-spacer {
            width: 140px;
            transition: width 0.4s ease;
        }

        .header-wrapper.scrolled .nav-spacer {
            width: 90px;
        }


        /* --- EXPANDABLE SEARCH BAR --- */
        .expandable-search {
            position: relative;
            display: flex;
            align-items: center;
        }

        .search-trigger {
            z-index: 10;
            position: relative;
        }

        /* The wrapper that holds the input and hides it by default */
        .search-input-wrapper {
            position: absolute;
            right: 0;
            /* Aligns to the right edge of the trigger */
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
            z-index: 5;
        }

        /* The actual input field */
        .search-input {
            width: 100%;
            padding: 8px 40px 8px 15px;
            /* Space for the search icon to overlay */
            background: #ffffff;
            border: none;
            border-bottom: 2px solid var(--copper-solid);
            /* Elegant underline */
            font-family: var(--font-body);
            font-size: 13px;
            color: var(--deep-forest);
            outline: none;
            /* box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05); */
        }

        .search-input::placeholder {
            color: #a0a0a0;
            font-style: italic;
        }

        /* --- THE ACTIVE STATE --- */
        .expandable-search.is-active .search-input-wrapper {
            width: 280px;
            /* How wide the search bar expands */
            opacity: 1;
            visibility: visible;
        }

        /* Hide the word "SEARCH" when open, just keep the icon */
        .expandable-search.is-active .search-text {
            display: none;
        }

        /* --- SUGGESTIONS DROPDOWN --- */
        .search-suggestions {
            position: absolute;
            top: calc(100% + 15px);
            right: 0;
            width: 100%;
            background: #ffffff;
            border-radius: 8px;
            padding: 20px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
            border: 1px solid rgba(0, 0, 0, 0.05);
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s ease 0.1s;
            /* Slight delay so input opens first */
        }

        /* Show dropdown when search is active */
        .expandable-search.is-active .search-suggestions {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .suggestions-label {
            display: block;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: #999;
            margin-bottom: 12px;
        }

        .suggestions-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .suggestions-list li {
            margin-bottom: 10px;
        }

        .suggestions-list li:last-child {
            margin-bottom: 0;
        }

        .suggestions-list a {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            color: var(--deep-forest);
            text-decoration: none;
            transition: color 0.3s ease, transform 0.3s ease;
        }

        .suggestions-list a:hover {
            color: var(--copper-solid);
            transform: translateX(5px);
            /* Gentle nudge interaction */
        }

        /* Mobile Adjustment */
        @media (max-width: 768px) {
            .expandable-search.is-active .search-input-wrapper {
                width: 220px;
            }
        }



























        /* --- FULL-SCREEN LUXURY OFFCANVAS (GRID LAYOUT) --- */
        .luxury-offcanvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background-color: #ffffff;
            z-index: 9999 !important;
            transform: translateX(-100%);
            transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
            overflow-y: hidden;
        }

        .luxury-offcanvas.is-open {
            transform: translateX(0);
        }

        .nav-overlay {
            display: grid;
            /* 140px for Logo, 380px for Main Menu, 1fr for Dynamic Content, 100px for Close */
            grid-template-columns: 140px 380px 1fr 100px;
            grid-template-rows: 1fr;
            height: 100vh;
        }

        /* Col 1: Logo */
        .col-logo {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 2.4rem 0;
            border-right: 1px solid rgba(0, 0, 0, 0.06);
        }

        .offcanvas-logo {
            width: 80px;
            /* Fits comfortably in the 140px column */
            height: auto;
            object-fit: contain;
        }

        /* Col 2: Navigation Links */
        .col-nav {
            padding: 3.5rem 3rem 3rem 2.8rem;
            border-right: 1px solid rgba(0, 0, 0, 0.06);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: #d1d1d1 transparent;
        }

        /* Custom Scrollbar for Webkit */
        .col-nav::-webkit-scrollbar {
            width: 4px;
        }

        .col-nav::-webkit-scrollbar-track {
            background: transparent;
        }

        .col-nav::-webkit-scrollbar-thumb {
            background-color: #d1d1d1;
            border-radius: 10px;
        }

        .col-nav::-webkit-scrollbar-thumb:hover {
            background-color: #a8a8a8;
        }

        .nav-section-label,
        .panel-label {
            font-family: var(--font-body);
            font-size: 11px;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #999;
            margin-bottom: 1.5rem;
            font-weight: 500;
        }

        .nav-discover {
            margin-bottom: 2.5rem;
        }

        .nav-primary-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            padding: 0.35rem 0;
            margin-bottom: 0.2rem;
        }

        .nav-primary-link {
            font-family: var(--font-heading);
            font-size: 28px;
            /* High-end large serif typography */
            font-weight: 600;
            color: var(--deep-forest);
            text-decoration: none;
            line-height: 1.15;
            transition: color 0.3s ease;
        }

        .nav-primary-item:hover .nav-primary-link,
        .nav-primary-item.active .nav-primary-link {
            color: var(--copper-solid);
        }

        .nav-chevron {
            color: #ccc;
            transition: transform 0.3s ease, color 0.3s ease;
        }

        .nav-primary-item.active .nav-chevron {
            color: var(--copper-solid);
        }

        .menu-divider {
            height: 1px;
            background-color: rgba(0, 0, 0, 0.06);
            margin: 2.5rem 0;
        }

        .nav-learn-item {
            display: block;
            font-family: var(--font-body);
            font-size: 15px;
            font-weight: 400;
            color: #666;
            text-decoration: none;
            padding: 0.4rem 0;
            transition: color 0.3s ease, transform 0.3s ease;
        }

        .nav-learn-item.bold {
            color: var(--deep-forest);
            font-weight: 500;
        }

        .nav-learn-item:hover {
            color: var(--copper-solid);
            transform: translateX(4px);
        }

        /* Col 3: Dynamic Right Panel */
        .col-right {
            padding: 3.5rem 4rem 3rem;
            overflow-y: auto;
            background: #ffffff;
            /* Off-white background highlights this panel */
            scrollbar-width: thin;
            scrollbar-color: #d1d1d1 transparent;
        }

        /* Custom Scrollbar for Webkit in Col 3 */
        .col-right::-webkit-scrollbar {
            width: 4px;
        }

        .col-right::-webkit-scrollbar-track {
            background: transparent;
        }

        .col-right::-webkit-scrollbar-thumb {
            background-color: #d1d1d1;
            border-radius: 10px;
        }

        .col-right::-webkit-scrollbar-thumb:hover {
            background-color: #a8a8a8;
        }

        .right-panel {
            display: none;
        }

        .right-panel.active {
            display: block;
            animation: fadeInPanel 0.4s ease;
        }


        .dest-icon {
            width: 62px;
            height: 62px;
            object-fit: contain;
            flex-shrink: 0;
        }





        @keyframes fadeInPanel {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .panel-hero-card {
            border-radius: 12px;
            margin-bottom: 2rem;
            background: var(--deep-forest);
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 2.5rem 2rem;
        }

        .panel-hero-title {
            font-family: var(--font-heading);
            font-size: 26px;
            color: #fff;
            line-height: 1.2;
        }

        .panel-hero-subtitle {
            font-family: var(--font-body);
            font-size: 13px;
            color: rgba(255, 255, 255, 0.7);
            margin-top: 0.5rem;
        }

        .panel-desc {
            font-size: 14px;
            color: #666;
            line-height: 1.7;
            margin-bottom: 2rem;
            max-width: 600px;
        }

        .dest-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px 30px;
        }

        .dest-item {
            font-family: var(--font-heading);
            font-size: 24px;
            font-weight: 600;
            color: var(--deep-forest);
            display: flex;
            align-items: center;
            text-decoration: none;
            padding: 12px 0px;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
            gap: 20px;
            transition: 0.3s;
        }

        .dest-item:hover {
            color: var(--copper-solid);
        }

        .panel-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 2rem;
            font-family: var(--font-body);
            font-size: 13px;
            color: var(--copper-solid);
            font-weight: 600;
            text-decoration: none;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Col 4: Close Button */
        .col-close {
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: 2.6rem 0;
            border-left: 1px solid rgba(0, 0, 0, 0.06);
        }

        .offcanvas-close-btn {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            border: 1px dashed var(--deep-forest);
            background-color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            color: var(--deep-forest);
            transition: all 0.3s ease;
        }

        .offcanvas-close-btn:hover {
            background: var(--copper-solid);
            border-color: var(--copper-solid);
            color: #ffffff;
            transform: rotate(90deg);
        }

        /* Hide mobile back row on desktop */
        .mobile-back-row {
            display: none;
        }

        /* Intermediate Desktop Sizing (Prevents overlap with col-close) */
        @media (max-width: 1360px) {
            .dest-grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 15px 20px;
            }

            .dest-item {
                font-size: 20px;
                gap: 15px;
            }

            .dest-icon {
                width: 48px;
                height: 48px;
            }
        }

        /* Mobile Responsive */
        @media (max-width: 1100px) {
            .nav-overlay {
                display: block !important;
                position: relative;
                width: 100%;
                height: 100vh;
                overflow: hidden;
            }

            .col-logo {
                display: none;
            }

            .col-close {
                position: absolute;
                top: 15px;
                right: 15px;
                border-left: none;
                padding: 0;
                z-index: 100;
            }

            .col-nav {
                width: 100%;
                height: 100%;
                border-right: none;
                border-bottom: none;
                padding: 5rem 2rem 2rem;
                overflow-y: auto;
                transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
            }

            /* Slide left column out of view when right panel is open */
            .luxury-offcanvas.right-panel-open .col-nav {
                transform: translateX(-100%);
            }

            .col-right {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: #ffffff;
                padding: 5rem 2rem 3rem;
                z-index: 50;
                transform: translateX(100%);
                transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
                overflow-y: auto;
            }

            /* Slide right column in when open */
            .luxury-offcanvas.right-panel-open .col-right {
                transform: translateX(0);
            }

            /* Mobile back button styling */
            .mobile-back-row {
                display: block;
                margin-bottom: 2rem;
            }

            .mobile-back-btn {
                background: none;
                border: none;
                font-family: var(--font-body);
                font-size: 14px;
                font-weight: 600;
                color: var(--copper-solid);
                display: inline-flex;
                align-items: center;
                gap: 8px;
                cursor: pointer;
                padding: 0;
                transition: color 0.3s ease;
            }

            .mobile-back-btn:hover {
                color: var(--deep-forest);
            }

            .dest-grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 12px 15px;
            }

            .dest-item {
                font-size: 18px;
                gap: 12px;
                padding: 8px 0px;
            }

            .dest-icon {
                width: 44px;
                height: 44px;
            }
        }

        @media (max-width: 768px) {
            .dest-grid {
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }

            .dest-item {
                font-size: 17px;
                gap: 12px;
                padding: 8px 0px;
            }

            .dest-icon {
                width: 40px;
                height: 40px;
            }

            .nav-primary-link {
                font-size: 24px;
            }
        }

        @media (max-width: 480px) {
            .dest-grid {
                grid-template-columns: 1fr !important;
                gap: 10px;
            }

            .dest-item {
                font-size: 15px;
                gap: 10px;
                padding: 6px 0px;
            }

            .dest-icon {
                width: 32px;
                height: 32px;
            }
        }















        /* --- CUSTOM BOOKING SEARCH BAR --- */
        .booking-search-wrapper {
            width: 100%;
            padding: 20px 64px 20px 64px;
            /* Matches the hero margins */
            display: flex;
            justify-content: center;
            /* background-color: #ffffff; */
            margin-top: 138px;
        }

        .booking-search-bar {
            display: flex;
            align-items: center;
            background: #ffffff;
            border-radius: 50px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            border: 1px solid #eaeaea;
            padding: 10px 10px 10px 30px;
            width: 100%;
            max-width: 900px;
        }

        .search-input-group {
            display: flex;
            align-items: center;
            flex: 1;
            position: relative;
            gap: 15px;
        }

        .search-icon {
            color: var(--copper-solid);
            width: 20px;
            height: 20px;
        }

        .input-wrapper {
            display: flex;
            flex-direction: column;
            flex: 1;
        }

        .input-label {
            font-size: 11px;
            font-weight: 600;
            /* text-transform: uppercase; */
            color: var(--deep-forest);
            letter-spacing: 0.5px;
            margin-bottom: 2px;
        }

        .input-label.travel-protection {
            color: var(--deep-forest);
            font-size: 24px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 2px;
        }



        .custom-search-input {
            border: none;
            outline: none;
            font-family: var(--font-body);
            font-size: 15px;
            color: var(--deep-forest);
            font-weight: 500;
            background: transparent;
            width: 100%;
        }

        .custom-search-input::placeholder {
            color: #ccc;
            font-weight: 400;
        }

        .search-divider {
            width: 1px;
            height: 40px;
            background: #eaeaea;
            margin: 0 20px;
        }

        .btn-search-submit {
            background: var(--copper-solid);
            /* Using brand system instead of bright red */
            color: white;
            border: none;
            border-radius: 40px;
            padding: 15px 30px;
            font-weight: 600;
            font-size: 15px;
            display: flex;
            align-items: center;
            cursor: pointer;
            transition: background 0.3s ease, transform 0.2s ease;
        }

        .btn-search-submit:hover {
            background: var(--deep-forest);
            transform: translateY(-2px);
        }

        /* Custom Dropdown Styling */
        .custom-dropdown {
            position: absolute;
            top: calc(100% + 20px);
            left: -10px;
            width: calc(100% + 40px);
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
            list-style: none;
            padding: 15px 0;
            margin: 0;
            z-index: 100;
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s ease;
        }

        .custom-dropdown.is-active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .custom-dropdown li {
            padding: 12px 25px;
            font-size: 14px;
            color: var(--deep-forest);
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .custom-dropdown li:hover {
            background: var(--soft-beige);
            color: var(--copper-solid);
        }

        /* --- ISLAND HERO SECTION (64px Margins) --- */
        .hero-island-wrapper {
            padding: 0 64px 0px 64px;
            /* The requested 64px margins */
            width: 100%;
        }



        .hero-slide {
            flex: 0 0 100%;
            width: 100%;
            height: 100%;
            position: relative;
        }

        .hero-media {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            /* Keeps the shadow heavy on the bottom left for text */
            background: linear-gradient(to top right, rgba(10, 17, 13, 0.8) 0%, rgba(10, 17, 13, 0.2) 50%, transparent 100%);
            z-index: 2;
        }

        /* .hero-content {
    position: absolute;
    bottom: 60px;
    left: 60px;
    z-index: 4;
    text-align: left;
    color: #ffffff;
    max-width: 600px;
} */

        .hero-title {
            font-family: var(--font-heading);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 24px;
            font-size: 38px;
            /* Reduced from 46/54px to fit the framed layout elegantly */
            text-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        }

        /* Responsive Adjustments */
        @media (max-width: 992px) {

            .booking-search-wrapper,
            .hero-island-wrapper {
                padding-left: 30px;
                padding-right: 30px;
                margin-top: 100px;
            }

            .hero-content {
                left: 40px;
                bottom: 40px;
            }

            .hero-title {
                font-size: 32px;
            }
        }

        @media (max-width: 768px) {
            .booking-search-bar {
                flex-direction: column;
                align-items: stretch;
                border-radius: 24px;
                padding: 20px;
                gap: 15px;
            }

            .search-divider {
                width: 100%;
                height: 1px;
                margin: 5px 0;
            }

            .btn-search-submit {
                justify-content: center;
                margin-top: 10px;
            }

            .booking-search-wrapper,
            .hero-island-wrapper {
                padding-left: 15px;
                padding-right: 15px;
                margin-top: 100px;
            }

            .hero-framed {
                height: 500px;
                border-radius: 16px;
            }
        }


        /* --------------------------------------------------------------- CINEMATIC HERO CAROUSEL --- */
        .hero-framed {
            position: relative;
            width: 100%;
            height: 360px;
            /* Fixed height for the boxed look */
            border-radius: 24px;
            /* Rounded corners like the uploaded image */
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
        }

        .hero-track {
            display: flex;
            width: 100%;
            height: 100%;
            transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .hero-slide {
            flex: 0 0 100%;
            width: 100%;
            height: 100%;
            position: relative;
        }

        /* Handles both videos and images seamlessly */
        .hero-media {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 1;
        }

        /* Cinematic Gradient Overlay (Darker at bottom left for text readability) */
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top right, rgba(10, 17, 13, 0.85) 0%, rgba(10, 17, 13, 0.3) 50%, rgba(10, 17, 13, 0.1) 100%);
            z-index: 2;
        }

        /* Bottom Left Content Positioning */
        .hero-content {
            position: absolute;
            bottom: 40px;
            /* Distance from bottom */
            left: 88px;
            /* Distance from left */
            z-index: 4;
            text-align: left;
            /* Align text to the left edge */
            color: #ffffff;
            max-width: 1200px;
        }

        /* Reduced Title Size as requested */
        .hero-title {
            font-family: var(--font-heading);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 30px;
            font-size: 36px;
            /* Reduced from 54px */
            text-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        }

        /* Positioning the Client's Carousel Buttons on the Hero */
        .hero-nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 10;
            /* Adds a subtle backdrop blur to the controls to make them pop against busy videos */
            backdrop-filter: blur(4px);
            background: rgba(255, 255, 255, 0.9);
        }

        /* Push buttons slightly inward */
        .hero-nav-btn.btn-prev {
            left: 30px;
        }

        .hero-nav-btn.btn-next {
            right: 30px;
        }

        /* Responsive Adjustments */
        @media (max-width: 992px) {
            .hero-content {
                left: 40px;
                bottom: 60px;
            }

            .hero-title {
                font-size: 38px;
            }
        }

        @media (max-width: 576px) {
            .hero-content {
                left: 20px;
                bottom: 40px;
            }

            .hero-title {
                font-size: 32px;
            }

            /* Optional: Hide arrows on very small screens, let users swipe (JS required for swipe) */
            .hero-nav-btn {
                display: none;
            }
        }














        /* --- 3D METALLIC COPPER BUTTON --- */
        .btn-primary-copper {
            /* Layout & Typography */
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 28px;
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 1px;
            /* text-transform: uppercase; */
            text-decoration: none;
            color: #ffffff;
            border-radius: 12px;
            border: 1px solid #824719;
            /* Dark metallic outline */

            /* 1. The Metallic Surface (Gradient instead of solid color) */
            background: linear-gradient(180deg, #d89f72 0%, #be7c46 40%, #a35d26 100%);

            /* 2. The 3D Structure (Highlight, Block Thickness, and Drop Shadow) */
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.4),
                /* Top edge highlight */
                0 4px 0 #733f15,
                /* 3D solid thickness */
                0 8px 15px rgba(0, 0, 0, 0.2);
            /* Soft drop shadow */

            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
            /* Embossed text effect */

            position: relative;
            overflow: hidden;
            /* Keeps the shine animation inside the button */
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }

        /* 3. The Shine Beam Setup */
        .btn-primary-copper::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            /* Start off-screen to the left */
            width: 60%;
            height: 100%;
            /* Create a soft, semi-transparent white beam */
            background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
            transform: skewX(-25deg);
            /* Tilt the beam */
            z-index: 1;
        }

        /* --- HOVER STATE --- */
        .btn-primary-copper:hover {
            color: #ffffff;
            /* Brighten the metal slightly */
            background: linear-gradient(180deg, #e3ad83 0%, #c98954 40%, #ad6831 100%);
            transform: translateY(-2px);
            /* Lift up */
            /* Increase the thickness and shadow on hover */
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.5),
                0 6px 0 #733f15,
                0 12px 20px rgba(0, 0, 0, 0.25);
        }

        /* Trigger the Shine Animation on Hover */
        .btn-primary-copper:hover::before {
            animation: copper-shine 0.7s ease-in-out;
        }

        /* --- ACTIVE (CLICK) STATE --- */
        .btn-primary-copper:active {
            transform: translateY(4px);
            /* Physically push the button down */
            /* Flatten the 3D thickness completely */
            box-shadow:
                inset 0 2px 4px rgba(0, 0, 0, 0.4),
                /* Add an inner shadow to look pressed */
                0 0px 0 #733f15,
                0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* The Animation Keyframes */
        @keyframes copper-shine {
            0% {
                left: -100%;
            }

            100% {
                left: 200%;
            }

            /* Sweep entirely across to the right */
        }
























        /* --- SCROLL ANIMATION ENGINE --- */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            /* Starts slightly lower */
            transition: all 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
            /* Premium easing curve */
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
            /* Glides into place */
        }

        /* Staggered Delays for Grid Items */
        .delay-100 {
            transition-delay: 100ms;
        }

        .delay-200 {
            transition-delay: 200ms;
        }

        .delay-300 {
            transition-delay: 300ms;
        }

        /* --- SECTION 2: THE CHRONICLES --- */
        .section-padding {
            padding: 120px 0;
            background-color: var(--soft-beige);
        }

        .section-label {
            color: var(--copper-solid);
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 16px;
            display: block;
        }

        .section-title {
            font-family: var(--font-heading);
            font-size: 48px;
            color: var(--deep-forest);
            line-height: 1.1;
            margin-bottom: 24px;
        }

        /* Editorial Masonry Grid */
        .chronicles-grid {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 24px;
            margin-top: 60px;
        }

        .story-card {
            position: relative;
            border-radius: 4px;
            overflow: hidden;
            cursor: pointer;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
        }

        /* Grid Spanning */
        .card-large {
            grid-column: span 8;
            height: 500px;
        }

        .card-tall {
            grid-column: span 4;
            height: 500px;
        }

        .card-wide {
            grid-column: span 12;
            height: 400px;
        }

        @media (max-width: 991px) {

            .card-large,
            .card-tall,
            .card-wide {
                grid-column: span 12;
                height: 400px;
            }
        }

        /* Image & Hover Effects */
        .story-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .story-card:hover .story-img {
            transform: scale(1.05);
        }

        /* Content Overlays */
        .story-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 40px;
            background: linear-gradient(to top, rgba(31, 58, 46, 0.9) 0%, rgba(31, 58, 46, 0) 100%);
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
        }

        .story-badge {
            position: absolute;
            top: 24px;
            right: 24px;
            background: var(--copper-solid);
            color: #fff;
            padding: 6px 16px;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            border-radius: 2px;
        }

        .story-quote {
            font-family: var(--font-heading);
            font-size: 24px;
            font-style: italic;
            margin-bottom: 12px;
        }

        .story-client {
            font-size: 13px;
            font-weight: 300;
            letter-spacing: 1px;
            opacity: 0.9;
        }


























        /* --- TRUST & INTRODUCTION SECTION --- */
        .trust-section {
            background-color: #ffffff;
            /* Crisp white to contrast the hero video */
            padding: 100px 0;
            position: relative;
        }

        /* The Monogram/Accent (Replaces the Nelson 'N') */
        .brand-accent-mark {
            color: var(--copper-solid);
            font-size: 32px;
            margin-bottom: 24px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
        }

        .brand-accent-mark::before,
        .brand-accent-mark::after {
            content: '';
            display: block;
            width: 40px;
            height: 1px;
            background-color: var(--copper-border);
            opacity: 0.5;
        }

        /* The Introduction Statement */
        .trust-statement {
            font-family: var(--font-heading);
            font-size: 28px;
            line-height: 1.6;
            color: var(--deep-forest);
            max-width: 800px;
            margin: 0 auto 60px auto;
            text-align: center;
        }

        /* The Badges Grid */
        .trust-badges-container {
            position: relative;
            max-width: 900px;
            margin: 0 auto;
        }

        /* The Horizontal Connecting Line (Modernized from Nelson) */
        .trust-badges-container::before {
            content: '';
            position: absolute;
            top: 40px;
            /* Aligns with the center of the circular icons */
            left: 10%;
            right: 10%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(166, 124, 82, 0.3), transparent);
            z-index: 1;
        }

        .trust-badge-item {
            text-align: center;
            position: relative;
            z-index: 2;
            background: #ffffff;
            /* Masks the line behind it */
            padding: 0 15px;
        }

        /* Modern Solid Badge instead of Dotted Borders */
        .trust-icon-wrapper {
            width: 80px;
            height: 80px;
            background-color: var(--soft-beige);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 auto 20px auto;
            color: var(--copper-solid);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s ease;
        }

        .trust-badge-item:hover .trust-icon-wrapper {
            transform: translateY(-8px) scale(1.05);
            background-color: var(--deep-forest);
            color: var(--soft-beige);
        }

        .trust-badge-title {
            font-family: var(--font-heading);
            font-size: 20px;
            font-weight: 700;
            color: var(--alt);
            margin-bottom: 8px;
        }

        .trust-badge-desc {
            font-size: 12px;
            font-weight: 400;
            color: var(--alt);
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .trust-statement {
                font-size: 22px;
                padding: 0 20px;
            }

            .trust-badges-container::before {
                display: none;
                /* Hide line on mobile stack */
            }

            .trust-badge-item {
                margin-bottom: 40px;
            }
        }























        /* --- VALUE PROPOSITION / TRUST BAR --- */
        .value-props-section {
            /* background-color: #ffffff; */
            padding: 60px 0 60px 0;
            /* Ample breathing room */
        }

        .value-props-heading {
            font-family: var(--font-heading);
            font-size: 32px;
            color: var(--deep-forest);
            font-weight: 500;
            margin-bottom: 60px;
            letter-spacing: -0.5px;
            /* Pulls the serif letters together elegantly */
        }

        .value-props-row {
            align-items: center;
        }

        .value-prop-col {
            padding: 0 40px;
            /* Space between text and the vertical lines */
        }

        .value-prop-text {
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.6;
            color: #444444;
            /* Slightly softer than pure black for readability */
            margin: 0;
            font-weight: 400;
        }

        /* The elegant vertical dividers on desktop */
        @media (min-width: 768px) {
            .value-prop-col.has-borders {
                border-left: 1px solid #838383;
                border-right: 1px solid #838383;
            }
        }

        /* Graceful mobile degradation */
        @media (max-width: 767px) {
            .value-props-section {
                padding: 40px 0 60px 0;
            }

            .value-props-heading {
                font-size: 26px;
                margin-bottom: 40px;
                padding: 0 15px;
            }

            .value-prop-col {
                padding: 25px 20px;
            }

            /* Flip vertical borders to horizontal borders on mobile */
            .value-prop-col.has-borders {
                border-top: 1px solid #838383;
                border-bottom: 1px solid #838383;
            }
        }



























        /* --- DESTINATIONS CAROUSEL SECTION --- */
        .destinations-section {
            /* The famous 50/50 split horizon line */
            background: linear-gradient(to bottom, var(--deep-forest) 55%, var(--soft-beige) 45%);
            padding: 100px 0;
            position: relative;
            overflow: hidden;
        }

        .destinations-header {
            text-align: center;
            color: #ffffff;
            margin-bottom: 60px;
            position: relative;
            z-index: 10;
        }

        /* Base Title Styling */
        .destinations-title {
            font-family: var(--font-heading);
            font-size: 42px;
            font-weight: 700;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 24px;
        }

        /* The Lines: Starting State (Width 0) */
        .destinations-title::before,
        .destinations-title::after {
            content: '';
            display: block;
            width: 0;
            /* Start hidden */
            height: 2px;
            background-color: var(--copper-solid);
            opacity: 0.6;
            /* This creates a very smooth, slightly decelerating growth animation */
            transition: width 1.2s cubic-bezier(0.25, 1, 0.5, 1);
        }

        /* The Lines: Animated State (Triggered by JS) */
        .destinations-title.lines-visible::before,
        .destinations-title.lines-visible::after {
            width: 80px;
            /* Full width on desktop */
        }

        /* Responsive constraints */
        @media (max-width: 768px) {

            .destinations-title.lines-visible::before,
            .destinations-title.lines-visible::after {
                width: 40px;
                /* Full width on mobile */
            }
        }


        .destinations-subtitle {
            font-size: 14px;
            font-weight: 300;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--copper-solid);
        }

        /* Carousel Container */
        .carousel-container {
            position: relative;
            max-width: 100%;
            margin: 0 auto;
            padding: 0 40px;
        }

        /* The Track */
        .carousel-track-wrapper {
            overflow: hidden;
            width: 100%;
            /* Masks the edges slightly for a smoother enter/exit */
            mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
            -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
        }

        .carousel-track {
            display: flex;
            gap: 32px;
            /* Slightly wider gap to match the wider cards */
            width: max-content;
            cursor: grab;
            will-change: transform;
        }

        .carousel-track:active {
            cursor: grabbing;
        }

        /* The Cards */
        .destination-card {
            width: 420px;
            /* Wide, cinematic 16:9 ratio feel */
            height: 260px;
            position: relative;
            border-radius: 4px;
            /* Sharper corners feel more editorial/premium */
            overflow: hidden;
            flex-shrink: 0;
            text-decoration: none;
            background-color: var(--deep-forest);
            /* Fills space before image loads */
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease;
        }

        .destination-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
        }

        /* Image handling */
        .destination-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.02);
            /* Prevents edge-bleeding on some browsers */
            transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .destination-card:hover img {
            transform: scale(1.1);
        }

        /* Text Overlay (Replaces the copied dotted circle) */
        .card-overlay {
            position: absolute;
            inset: 0;
            /* Stretches to all 4 corners */
            background: linear-gradient(to top, rgba(31, 58, 46, 0.9) 0%, rgba(31, 58, 46, 0) 60%);
            padding: 30px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            transition: background 0.5s ease;
        }

        .card-title {
            font-family: var(--font-heading);
            font-size: 32px;
            color: #ffffff;
            margin: 0;
            transform: translateY(20px);
            /* Pushed down initially */
            transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s ease;
        }

        .card-action {
            font-family: var(--font-body);
            font-size: 12px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--copper-solid);
            margin-top: 8px;
            opacity: 0;
            /* Hidden initially */
            transform: translateY(20px);
            transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        /* Hover reveal */
        .destination-card:hover .card-overlay {
            background: linear-gradient(to top, rgba(31, 58, 46, 0.95) 0%, rgba(31, 58, 46, 0.5) 50%, rgba(31, 58, 46, 0) 100%);
        }

        .destination-card:hover .card-action {
            opacity: 1;
            transform: translateY(0);
            transition-delay: 0.1s;
            /* This creates the professional stagger */
        }

        .destination-card:hover .card-title {
            transform: translateY(0);
            color: var(--copper-solid);
        }



        /* --- 3D METALLIC CAROUSEL BUTTONS --- */
        .carousel-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            /* Base vertical centering */
            width: 50px;
            height: 50px;
            border-radius: 50%;

            /* 1. The 3D Copper Ring (Bezel Effect) */
            background: linear-gradient(180deg, #e3ad83 0%, #c98954 40%, #ad6831 100%);
            border: 2px solid #be7c46;
            border-top-color: #e3ad83;
            border-bottom-color: #733f15;

            box-shadow:
                inset 0 1px 2px rgba(227, 173, 131, 0.4),
                0 4px 15px rgba(0, 0, 0, 0.1);
            /* Base drop shadow */

            color: var(--soft-beige);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 20;
            overflow: hidden;
            /* Contains the shine beam */
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

        /* Ensure the Lucide icon stays above the shine */
        .carousel-btn i {
            position: relative;
            z-index: 2;
        }

        /* 2. The Shine Beam Setup */
        .carousel-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -150%;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
            transform: skewX(-25deg);
            z-index: 3;
        }

        /* --- HOVER STATE --- */
        .carousel-btn:hover {
            color: #ffffff;

            /* Fill with the metallic gradient */
            background: linear-gradient(180deg, #e3ad83 0%, #c98954 40%, #ad6831 100%);

            /* Blend the border into the gradient */
            border-color: #c98954;
            border-top-color: #e3ad83;
            border-bottom-color: #ad6831;

            /* CRITICAL: Combine the 50% vertical centering with the 2px hover lift */
            transform: translateY(calc(-50% - 2px));

            /* The 3D Block Shadow */
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.5),
                0 4px 0 #733f15,
                0 8px 20px rgba(0, 0, 0, 0.25);
        }

        /* Trigger the Shine Animation */
        .carousel-btn:hover::before {
            animation: copper-shine-circle 0.6s ease-in-out;
        }

        /* --- ACTIVE (CLICK) STATE --- */
        .carousel-btn:active {
            /* Physically push down, maintaining the centering */
            transform: translateY(calc(-50% + 2px));

            /* Flatten the 3D block */
            box-shadow:
                inset 0 2px 4px rgba(0, 0, 0, 0.4),
                0 0px 0 #733f15,
                0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* Keep your existing positioning and media queries untouched */
        .btn-prev {
            left: 10px;
        }

        .btn-next {
            right: 10px;
        }

        @media (max-width: 768px) {
            .destination-card {
                width: 260px;
                height: 380px;
            }

            .carousel-btn {
                display: none;
            }
        }





        /* --- AMBIENT BACKGROUND SVGS --- */
        .bg-animated-svgs {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 55%;
            /* Constrain exactly to the green portion of your background */
            overflow: hidden;
            pointer-events: none;
            /* Allows users to click through them */
            z-index: 1;
            /* Sits behind the text and cards */
        }

        .ambient-svg {
            position: absolute;
            color: var(--copper-solid);
        }

        /* The Compass Animation */
        .svg-compass {
            top: -20%;
            right: -5%;
            width: 500px;
            height: 500px;
            opacity: 0.15;
            /* Subtle watermark effect */
            animation: rotate-compass 90s linear infinite;
            /* Very slow, majestic spin */
        }

        /* The Topographic Waves Animation */
        .svg-waves {
            top: 10%;
            left: -10%;
            width: 800px;
            height: auto;
            opacity: 0.1;
            animation: drift-waves 25s ease-in-out infinite alternate;
            /* Gentle drifting */
        }

        /* Make sure your existing header and carousel sit above the SVGs */
        .destinations-header,
        .carousel-container {
            position: relative;
            z-index: 10;
        }

        /* --- KEYFRAMES --- */
        @keyframes rotate-compass {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        @keyframes drift-waves {
            0% {
                transform: translateX(0) translateY(0) scale(1);
            }

            100% {
                transform: translateX(50px) translateY(-20px) scale(1.05);
            }
        }

        /* Hide on very small screens to maintain cleanliness */
        @media (max-width: 768px) {
            .bg-animated-svgs {
                display: none;
            }
        }


















        /* --- THE EDITORIAL PLAQUE BANNER --- */
        .offers-banner-section {
            padding: 0;
            position: relative;
        }

        .banner-carousel-wrapper {
            position: relative;
            width: 100%;
            /* Forces the carousel to take up the exact full height of the screen */
            height: 100vh;
            min-height: 600px;
            background-color: #000;
        }

        .banner-track {
            display: flex;
            height: 100%;
            transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
            /* Ultra-smooth slide */
        }

        .banner-slide {
            flex: 0 0 100%;
            position: relative;
            height: 100%;
            overflow: hidden;
        }

        /* The Image - Pure, Untouched, with Ken Burns Effect */
        .banner-img-container {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }

        .banner-img-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            animation: slowZoom 25s infinite alternate linear;
        }

        @keyframes slowZoom {
            0% {
                transform: scale(1);
            }

            100% {
                transform: scale(1.1);
            }
        }

        /* --- THE EDITORIAL PLAQUE --- */
        .editorial-plaque {
            position: absolute;
            /* Tighter positioning to the bottom left */
            bottom: 60px;
            left: 60px;
            background-color: var(--soft-beige);
            /* Reduced padding and max-width for a more compact, refined look */
            padding: 35px 45px;
            width: 100%;
            max-width: 440px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            z-index: 10;
            display: flex;
            flex-direction: column;
        }

        .plaque-heading {
            font-family: var(--font-heading);
            font-size: 36px;
            /* Reduced from 48px */
            line-height: 1.15;
            color: var(--deep-forest);
            margin: 0 0 16px 0;
        }

        .plaque-divider {
            width: 40px;
            /* Shorter divider line */
            height: 2px;
            background-color: var(--copper-solid);
            margin-bottom: 24px;
        }

        .plaque-action-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        /* Scaled-down Pricing */
        .plaque-price {
            display: flex;
            align-items: baseline;
            gap: 4px;
            color: var(--deep-forest);
        }

        .price-label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #666;
        }

        .price-value {
            font-family: var(--font-body);
            font-size: 28px;
            font-weight: 600;
            color: var(--copper-solid);
        }

        /* Reduced from 36px */
        .price-suffix {
            font-size: 12px;
            color: #666;
        }

        /* A bespoke button designed specifically for the light plaque */
        .btn-forest-luxury {
            background-color: var(--deep-forest);
            color: #ffffff;
            padding: 16px 36px;
            font-family: var(--font-body);
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            text-decoration: none;
            border: 1px solid var(--deep-forest);
            transition: all 0.4s ease;
        }

        .btn-forest-luxury:hover {
            background-color: transparent;
            color: var(--deep-forest);
        }

        /* Minimalist Nav Arrows */
        .banner-nav {
            position: absolute;
            /* Align to the bottom right */
            top: auto;
            bottom: 60px;
            transform: none;
            z-index: 20;
            background: rgba(255, 255, 255, 0.9);
            border: none;
            color: var(--deep-forest);
            /* Slightly smaller arrows to match the refined plaque */
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .banner-nav:hover {
            background: var(--copper-solid);
            color: #ffffff;
            transform: translateY(-3px);
            /* Gentle lift instead of scaling */
        }

        /* Exact positioning for the right side */
        .banner-nav.prev {
            left: auto;
            right: 120px;
        }

        .banner-nav.next {
            left: auto;
            right: 60px;
        }

        /* Responsive Adjustments */
        @media (max-width: 992px) {
            .editorial-plaque {
                left: 30px;
                right: 30px;
                bottom: 30px;
                max-width: none;
                width: auto;
                padding: 30px;
            }

            .banner-nav {
                display: none;
            }
        }

        @media (max-width: 576px) {
            .plaque-action-row {
                flex-direction: column;
                align-items: flex-start;
                gap: 20px;
            }

            .plaque-heading {
                font-size: 32px;
            }
        }

        .banner-nav.prev:hover,
        .banner-nav.next:hover {
            transform: scale(1.05);
        }








































        /* --- OUR SERVICE: ROUNDED LUXURY GRID --- */
        .service-section {
            background-color: var(--deep-forest);
            padding: 64px 0;
            color: #ffffff;
        }

        .service-subtitle {
            font-size: 13px;
            font-weight: 400;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 16px;
        }

        /* --- THE TABS WITH ICONS --- */
        .service-tabs-wrapper {
            margin-bottom: 60px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .service-tabs {
            display: flex;
            justify-content: center;
            gap: 40px;
            list-style: none;
            padding: 0;
            margin: 0;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .tab-item {
            display: flex;
            align-items: center;
            gap: 8px;
            /* Space between SVG and text */
            font-size: 12px;
            font-weight: 500;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            padding-bottom: 20px;
            cursor: pointer;
            position: relative;
            transition: color 0.3s ease;
            white-space: nowrap;
        }

        /* Tab Icon Sizing */
        .tab-icon {
            width: 16px;
            height: 16px;
            stroke-width: 2px;
            transition: stroke 0.3s ease;
        }

        .tab-item:hover {
            color: #ffffff;
        }

        .tab-item.active {
            color: #ffffff;
        }

        /* Copper highlight for active icon */
        .tab-item:hover .tab-icon,
        .tab-item.active .tab-icon {
            stroke: var(--copper-solid);
        }

        .tab-item::after {
            content: '';
            position: absolute;
            bottom: -1px;
            left: 0;
            width: 100%;
            height: 2px;
            background-color: var(--copper-solid);
            transform: scaleX(0);
            transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            transform-origin: left;
        }

        .tab-item.active::after {
            transform: scaleX(1);
        }

        /* --- THE FLUSH CONTENT PANES (NOW ROUNDED) --- */
        .service-content-wrapper {
            position: relative;
            min-height: 400px;
        }

        .service-pane {
            display: none;
            animation: fadeAndSlideUp 0.6s ease forwards;
        }

        .service-pane.active {
            display: block;
        }

        @keyframes fadeAndSlideUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Restoring Design System: 12px Border Radius */
        .flush-row {
            background-color: var(--dark-forest);

            /* Figma Spec */
            overflow: hidden;
            /* Ensures image and background clip to the rounded corners */
            /* box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2); */
            /* Soft grounding shadow allowed with rounded corners */
        }

        .service-img-col {
            height: 100%;
            border-radius: 24px;
            height: 450px;
            overflow: hidden;
        }

        .service-img-col img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            /* 25s: Ultra-slow so it doesn't make the user dizzy
       ease-in-out: Smooth acceleration and deceleration
       infinite alternate: Zooms in, then smoothly zooms back out forever
    */
            animation: ambient-zoom 4s ease-in-out infinite alternate;
            transform-origin: center center;
        }

        /* The Animation Engine */
        @keyframes ambient-zoom {
            0% {
                transform: scale(1);
            }

            100% {
                /* 1.12 (12% zoom) is the sweet spot. It feels alive without losing image quality */
                transform: scale(1.12);
            }
        }

        /* Optional: Subtle tactile feedback on hover since we removed the zoom hover */
        .service-pane:hover .service-img-col img {
            filter: brightness(1.05);
            /* Just a very subtle brightening when the user is reading that specific pane */
            transition: filter 0.4s ease;
        }

        .service-pane:hover .service-img-col img {
            transform: scale(1.05);
        }

        .service-text-col {
            padding: 60px 80px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        /* Luxury SVG Accent in Text Column */
        .pane-svg-accent {
            margin-bottom: 24px;
        }

        .pane-svg-accent svg {
            width: 36px;
            height: 36px;
            stroke: var(--copper-solid);
            stroke-width: 1.5px;
        }

        .pane-title {
            font-family: var(--font-heading);
            font-size: 36px;
            margin-bottom: 20px;
            color: #ffffff;
        }

        .pane-text {
            font-size: 15px;
            font-weight: 300;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 0;
        }

        /* Restoring Design System: 8px Border Radius for Buttons */
        .btn-outline-copper {
            align-self: flex-start;
            background: transparent;
            color: #ffffff;
            padding: 14px 32px;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            border: 1px solid var(--copper-border);
            border-radius: 8px;
            /* Figma Spec */
            transition: all 0.3s ease;
            text-decoration: none;
        }

        .btn-outline-copper:hover {
            background: var(--copper-solid);
            color: #ffffff;
            box-shadow: 0 8px 20px rgba(198, 139, 89, 0.2);
        }

        @media (max-width: 992px) {
            .service-tabs {
                justify-content: flex-start;
                padding-bottom: 5px;
            }

            .service-text-col {
                padding: 50px 40px;
            }

            .service-img-col {
                min-height: 350px;
            }
        }







        /* --- OUR SERVICE AMBIENT BACKGROUND --- */
        .service-section {
            /* Ensure the section bounds the absolute background */
            position: relative;
            overflow: hidden;
        }

        .service-bg-svgs {
            position: absolute;
            inset: 0;
            /* Shorthand for top:0, left:0, bottom:0, right:0 - covers the whole section */
            width: 100%;
            height: 100%;
            pointer-events: none;
            /* Prevents the SVGs from blocking mouse clicks on your tabs/buttons */
            z-index: 1;
            /* Keep it below the main content container */
        }

        /* Base class for SVGs to inherit the Copper brand color */
        .service-bg-svgs .ambient-svg {
            position: absolute;
            color: var(--copper-solid);
        }

        /* 1. Astrolabe Rings (Placed centrally, rotating) */
        .service-svg-rings {
            top: 50%;
            left: 50%;
            width: 800px;
            height: 800px;
            margin-top: -400px;
            /* Centers it perfectly */
            margin-left: -400px;
            opacity: 0.08;
            /* Very subtle watermark */
            animation: rotate-astrolabe 120s linear infinite;
            /* Ultra-slow, majestic spin */
        }

        /* 2. Constellation Nodes (Placed offset, floating) */
        .service-svg-nodes {
            bottom: -10%;
            right: -5%;
            width: 600px;
            height: 600px;
            opacity: 0.68;
            animation: float-nodes 2s ease-in-out infinite alternate;
        }

        /* --- KEYFRAMES --- */
        @keyframes rotate-astrolabe {
            0% {
                transform: rotate(0deg) scale(1);
            }

            50% {
                transform: rotate(180deg) scale(1.05);
            }

            /* Slight breathing effect while spinning */
            100% {
                transform: rotate(360deg) scale(1);
            }
        }

        @keyframes float-nodes {
            0% {
                transform: translateY(0) rotate(0deg);
            }

            100% {
                transform: translateY(-40px) rotate(10deg);
            }

            /* Gentle drift up and tilt */
        }

        /* Hide on mobile to keep the focused content clean */
        @media (max-width: 768px) {
            .service-bg-svgs {
                display: none;
            }
        }













































        /* --- THE CHRONICLES (STORYTELLING) SECTION --- */
        /* --- THE CHRONICLES SECTION --- */
        .chronicles-section {
            padding: 100px 0;
            background-color: #ffffff;
            /* Clean white to contrast previous dark sections */
        }

        /* Modifier for Left-Aligned Title Animation */
        .destinations-title.title-left-aligned {
            justify-content: flex-start;
            flex-grow: 1;
            /* Allows it to push the arrows to the right */
        }

        /* Hide the left line, make the right line grow to fill the space */
        .destinations-title.title-left-aligned::before {
            display: none;
        }

        .destinations-title.title-left-aligned.lines-visible::after {
            flex-grow: 1;
            /* Fills the empty space like the reference image */
            width: auto;
            margin-left: 20px;
        }

        /* Small Navigation Arrows (Matches Reference) */
        .header-nav-controls {
            display: flex;
            gap: 10px;
        }




        /* --- 3D COPPER NAVIGATION ARROWS --- */
        .nav-arrow-sm {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: transparent;
            color: var(--deep-forest);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;

            /* 1. The 3D Copper Ring (Bezel Effect) */
            border: 2px solid #be7c46;
            border-top-color: #e3ad83;
            /* Light hits the top edge */
            border-bottom-color: #733f15;
            /* Shadow on the bottom edge */

            box-shadow:
                inset 0 1px 2px rgba(227, 173, 131, 0.4),
                0 2px 4px rgba(0, 0, 0, 0.05);

            overflow: hidden;
            /* Crucial: Keeps the shine inside the circle */
            z-index: 1;
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
            cursor: pointer;
        }

        /* Ensure the icon sits above the background but below the shine */
        .nav-arrow-sm i {
            position: relative;
            z-index: 2;
        }

        /* 2. The Shine Beam Setup */
        .nav-arrow-sm::before {
            content: '';
            position: absolute;
            top: 0;
            left: -150%;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
            transform: skewX(-25deg);
            z-index: 3;
            /* Shine passes over the icon */
        }

        /* --- HOVER STATE --- */
        .nav-arrow-sm:hover {
            color: #ffffff;

            /* Fill the ring with the metallic gradient */
            background: linear-gradient(180deg, #e3ad83 0%, #c98954 40%, #ad6831 100%);

            /* Blend the border */
            border-color: #c98954;
            border-top-color: #e3ad83;
            border-bottom-color: #ad6831;

            /* Scaled-down 3D Block Shadow for a 40px button */
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.5),
                0 3px 0 #733f15,
                0 6px 12px rgba(0, 0, 0, 0.2);

            transform: translateY(-2px);
            /* Lift off the page */
        }

        /* Trigger the Shine Animation */
        .nav-arrow-sm:hover::before {
            animation: copper-shine-circle 0.6s ease-in-out;
        }

        /* --- ACTIVE (CLICK) STATE --- */
        .nav-arrow-sm:active {
            transform: translateY(1px);
            /* Physically push down */
            box-shadow:
                inset 0 2px 4px rgba(0, 0, 0, 0.4),
                0 0px 0 #733f15,
                0 2px 4px rgba(0, 0, 0, 0.2);
        }

        /* Specific keyframes for the smaller circular button */
        @keyframes copper-shine-circle {
            0% {
                left: -150%;
            }

            100% {
                left: 150%;
            }
        }







        /* --- CAROUSEL & CARDS --- */
        .chronicles-carousel-wrapper {
            overflow: hidden;
            margin: 0 -15px;
            /* Slight negative margin to allow shadow bleed */
            padding: 20px 15px;
        }

        .chronicles-track {
            display: flex;
            gap: 30px;
            width: max-content;
            will-change: transform;
        }

        .chronicle-card {
            width: 340px;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
        }

        /* Image Wrapper with 12px Radius constraint */
        .chronicle-img-wrapper {
            position: relative;
            width: 100%;
            height: 340px;
            /* Square-ish ratio like the reference */
            border-radius: 12px;
            /* Enforcing the design system */
            overflow: hidden;
            margin-bottom: 20px;
            background-color: var(--soft-beige);
        }

        .chronicle-img-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        /* Vertical Badge (Matching Reference) */
        .vertical-badge {
            position: absolute;
            bottom: 20px;
            right: 0;
            background: #ffffff;
            color: #000000;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            padding: 12px 6px;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            text-transform: uppercase;
            z-index: 5;
            box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        }

        /* Hover Action Container */
        .img-hover-action {
            position: absolute;
            inset: 0;
            background: rgba(31, 58, 46, 0.4);
            /* Deep forest overlay */
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.4s ease;
            z-index: 10;
        }

        /* The Hover Interactions */
        .chronicle-card:hover .chronicle-img-wrapper img {
            transform: scale(1.08);
        }

        .chronicle-card:hover .img-hover-action {
            opacity: 1;
        }

        /* Text Content */
        .chronicle-info {
            padding-right: 20px;
        }

        .chronicle-title {
            font-family: var(--font-heading);
            font-size: 24px;
            color: var(--deep-forest);
            margin-bottom: 8px;
            line-height: 1.3;
        }

        .chronicle-meta {
            font-size: 13px;
            color: #666;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Bottom Action Line */
        .footer-line {
            height: 1px;
            background-color: #eaeaea;
        }






















        /* --- THE CIRCULAR ANIMATED HOVER BUTTON --- */
        .img-hover-action {
            position: absolute;
            inset: 0;
            background: rgba(31, 58, 46, 0.4);
            /* Dark forest overlay */
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.5s ease;
            z-index: 10;
        }

        .circle-btn-read {
            width: 90px;
            height: 90px;
            background: var(--copper-solid);
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            text-decoration: none;
            /* Starts shrunken and pushed down slightly */
            transform: scale(0.5) translateY(30px);
            opacity: 0;
            transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
            /* Buttery smooth easing */
            box-shadow: 0 10px 25px rgba(198, 139, 89, 0.4);
        }

        .circle-btn-read i {
            transition: transform 0.3s ease;
        }

        .circle-btn-text {
            font-family: var(--font-body);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 500;
            margin-bottom: 2px;
        }

        /* 1. Reveal overlay and button when hovering the CARD */
        .chronicle-card:hover .img-hover-action {
            opacity: 1;
        }

        /* 2. Scale the button up and into place */
        .chronicle-card:hover .circle-btn-read {
            opacity: 1;
            transform: scale(1) translateY(0);
        }

        /* 3. Micro-interaction when hovering the BUTTON ITSELF */
        .circle-btn-read:hover {
            background: #ffffff;
            color: var(--copper-solid);
            transform: scale(1.08) translateY(0) !important;
            /* Slight pop */
        }

        /* Arrow shoots up and right on button hover */
        .circle-btn-read:hover i {
            transform: translate(3px, -3px);
        }

























        /* --- LUXURY DEAL CARDS (MINIMALIST & COMPACT) --- */
        .deals-section {
            background-color: var(--soft-beige);
        }

        .luxury-deal-card {
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
            /* Softer, more minimal shadow */
            display: flex;
            flex-direction: column;
            height: 100%;
            overflow: hidden;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .luxury-deal-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
        }

        /* 1. Image Priority */
        .deal-hero-img {
            position: relative;
            width: 100%;
            /* Increased image height slightly while reducing text height, giving the image massive visual priority */
            height: 280px;
            background-color: var(--deep-forest);
            overflow: hidden;
        }

        .deal-hero-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .luxury-deal-card:hover .deal-hero-img img {
            transform: scale(1.05);
        }

        /* Scaled-down Badges */
        .deal-badge-premium {
            position: absolute;
            top: 15px;
            left: 15px;
            display: flex;
            border-radius: 4px;
            overflow: hidden;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
            z-index: 2;
        }

        .save-text {
            background: var(--copper-solid);
            color: #fff;
            padding: 4px 10px;
            font-size: 10px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .extra-text {
            background: #fff;
            color: var(--deep-forest);
            padding: 4px 10px;
            font-size: 10px;
            font-weight: 600;
            text-transform: uppercase;
        }

        /* Minimalist Glass Timer */
        .glass-timer {
            position: absolute;
            bottom: 15px;
            right: 15px;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(4px);
            padding: 6px 12px;
            border-radius: 20px;
            display: flex;
            align-items: center;
            gap: 4px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
            z-index: 2;
            color: var(--deep-forest);
        }

        .time-segment {
            display: flex;
            align-items: baseline;
            gap: 2px;
        }

        /* USING --font-body FOR NUMBERS AS REQUESTED */
        .time-segment strong {
            font-family: var(--font-body);
            font-size: 14px;
            font-weight: 600;
        }

        .time-segment span {
            font-size: 9px;
            text-transform: uppercase;
            opacity: 0.6;
            font-weight: 500;
        }

        .colon {
            font-weight: 600;
            opacity: 0.3;
            padding-bottom: 2px;
            font-size: 12px;
        }

        .text-copper {
            color: var(--copper-solid);
        }

        /* 2. Compact Structured Content */
        .deal-body {
            padding: 25px;
            /* Drastically reduced from 35px */
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }

        .deal-title {
            font-family: var(--font-heading);
            font-size: 20px;
            /* Reduced from 26px for elegance */
            color: var(--deep-forest);
            line-height: 1.3;
            margin-bottom: 8px;
            /* Tighter spacing */
        }

        .deal-location {
            font-size: 12px;
            /* Smaller metadata */
            color: #666;
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        /* Minimalist Tags */
        .deal-tags-wrapper {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 16px;
            /* Tighter spacing */
        }

        .tag-include {
            background: var(--soft-beige);
            color: var(--deep-forest);
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 10px;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .tag-exclude {
            background: transparent;
            border: 1px solid #eaeaea;
            color: #a0a0a0;
            text-decoration: line-through;
            padding: 4px 8px;
            border-radius: 4px;
            font-size: 10px;
            font-weight: 400;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        /* Compact Itinerary List */
        .deal-itinerary-list {
            list-style: none;
            padding: 0;
            margin: 0 0 20px 0;
            font-size: 12px;
            /* Reduced font size */
            color: #555;
            line-height: 1.5;
        }

        .deal-itinerary-list li {
            display: flex;
            gap: 8px;
            margin-bottom: 8px;
            /* Tighter list items */
        }

        .list-icon {
            color: var(--copper-solid);
            flex-shrink: 0;
            margin-top: 2px;
            width: 14px;
            height: 14px;
        }

        /* 3. Action Bar (Minimal Price & Button) */
        .deal-checkout-row {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            margin-top: auto;
            border-top: 1px solid #eaeaea;
            padding-top: 15px;
            /* Tighter top padding */
        }

        .price-stack {
            display: flex;
            flex-direction: column;
        }

        /* USING --font-body FOR NUMBERS AS REQUESTED */
        .price-strikethrough {
            font-family: var(--font-body);
            font-size: 12px;
            color: #888;
            text-decoration: line-through;
            margin-bottom: 2px;
        }

        .price-current {
            font-family: var(--font-body);
            /* Switched from --font-heading to --font-body */
            font-size: 32px;
            /* Reduced from 40px */
            font-weight: 600;
            /* Slightly lighter weight for an elegant sans-serif look */
            color: var(--deep-forest);
            line-height: 1;
            margin-bottom: 4px;
            letter-spacing: -0.5px;
            /* Pulls numbers together cleanly */
        }

        .price-current .currency {
            font-family: var(--font-body);
            font-size: 16px;
            font-weight: 500;
            color: var(--copper-solid);
            vertical-align: top;
            margin-right: 2px;
        }

        .price-legal {
            font-size: 9px;
            color: #888;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        /* Thinner, more elegant CTA button for this compact card */
        .deal-checkout-row .btn-secondary-copper {
            padding: 10px 24px;
            font-size: 11px;
        }

        /* 4. Footer Trust Bar */
        .deal-trust-footer {
            background: var(--deep-forest);
            padding: 12px 25px;
            /* Reduced padding */
            display: flex;
            justify-content: space-between;
            color: #ffffff;
        }

        .deal-trust-footer span {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 10px;
            /* Smaller text */
            font-weight: 300;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            opacity: 0.9;
        }

        /* Responsive Adjustments */
        @media (max-width: 1200px) {
            .deal-checkout-row {
                flex-direction: column;
                align-items: stretch;
                gap: 15px;
            }

            .deal-checkout-row .btn-secondary-copper {
                text-align: center;
                width: 100%;
            }
        }

        @media (max-width: 768px) {
            .deal-trust-footer {
                flex-direction: column;
                gap: 8px;
                padding: 15px 25px;
            }
        }
































        /* --- BENTO GRID: SIGNATURE STAYS --- */
        .stays-section {
            background-color: #ffffff;
        }

        .bento-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-auto-rows: 250px;
            gap: 20px;
            grid-auto-flow: dense;
        }

        .bento-item {
            position: relative;
            border-radius: 12px;
            /* Design System Constraint */
            overflow: hidden;
            background-color: var(--soft-beige);
        }

        /* Bento Variations */
        .bento-tall {
            grid-row: span 2;
        }

        .bento-wide {
            grid-column: span 2;
        }

        .bento-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .bento-item:hover img {
            transform: scale(1.1);
        }

        /* Content Overlays */
        .bento-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(31, 58, 46, 0.8) 0%, rgba(31, 58, 46, 0) 60%);
            padding: 25px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
        }

        .bento-tag {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--copper-solid);
            font-weight: 700;
            margin-bottom: 8px;
        }

        .bento-title {
            font-family: var(--font-heading);
            font-size: 22px;
            color: #ffffff;
            margin-bottom: 4px;
        }

        .bento-loc {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 0;
        }

        /* Reusing the Circle Button from the previous section */
        .bento-item .img-hover-action {
            background: rgba(31, 58, 46, 0.4);
        }

        /* Responsive Bento */
        @media (max-width: 992px) {
            .bento-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .bento-wide,
            .bento-tall {
                grid-column: span 1;
                grid-row: span 1;
            }
        }

        @media (max-width: 576px) {
            .bento-grid {
                grid-template-columns: 1fr;
                grid-auto-rows: 300px;
            }
        }












































        /* --- CLIENT LIFE MOMENTS SECTION --- */
        .moments-section {
            background-color: var(--deep-forest);
            padding: 120px 0;
            color: #ffffff;
            overflow: hidden;
            /* Prevents horizontal scroll from carousel bleed */
        }

        .moments-intro-col {
            padding-right: 40px;
        }

        /* 1. The Luxury Rotating Stamp */
        .rotating-stamp-link {
            display: inline-block;
            margin-bottom: 40px;
            text-decoration: none;
        }

        .rotating-stamp {
            position: relative;
            width: 110px;
            height: 110px;
            color: var(--copper-solid);
            transition: transform 0.3s ease;
        }

        .rotating-stamp:hover {
            transform: scale(1.05);
        }

        .stamp-svg {
            width: 100%;
            height: 100%;
            animation: stamp-spin 15s linear infinite;
            /* Slow, elegant rotation */
        }

        .stamp-svg text {
            font-family: var(--font-body);
            font-size: 11.5px;
            font-weight: 500;
            letter-spacing: 2px;
            fill: var(--copper-solid);
            text-transform: uppercase;
        }

        .stamp-center-icon {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: var(--copper-solid);
            width: 24px;
            height: 24px;
        }

        @keyframes stamp-spin {
            from {
                transform: rotate(0deg);
            }

            to {
                transform: rotate(360deg);
            }
        }

        /* 2. Intro Typography */
        .moments-title {
            font-family: var(--font-heading);
            font-size: 46px;
            line-height: 1.1;
            color: #ffffff;
            margin-bottom: 20px;
        }

        .moments-text {
            font-family: var(--font-body);
            font-size: 16px;
            font-weight: 300;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 0;
        }

        /* Dark-mode variation for existing nav arrows */
        .nav-arrow-sm.light {
            border-color: rgba(255, 255, 255, 0.3);
            color: #ffffff;
        }

        .nav-arrow-sm.light:hover {
            background: var(--copper-solid);
            border-color: var(--copper-solid);
        }

        /* 3. The Carousel Track & Cards */
        .moments-carousel-wrapper {
            /* Margin manipulation to let cards bleed off the right edge of the screen */
            margin-right: calc(-50vw + 50%);
            padding-right: calc(50vw - 50%);
            overflow: hidden;
        }

        .moments-track {
            display: flex;
            gap: 30px;
            width: max-content;
            will-change: transform;
        }

        .moment-card {
            width: 280px;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            cursor: pointer;
        }

        /* Editorial 4:5 Aspect Ratio Images */
        .moment-img-wrapper {
            position: relative;
            width: 100%;
            aspect-ratio: 4 / 5;
            /* Taller, more elegant than a square */
            border-radius: 12px;
            /* Design System Constraint */
            overflow: hidden;
            margin-bottom: 20px;
            background-color: var(--dark-forest);
        }

        .moment-img-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        /* Hover Interactions */
        .moment-card:hover .moment-img-wrapper img {
            transform: scale(1.08);
        }

        .moment-caption {
            font-family: var(--font-heading);
            font-size: 22px;
            color: #ffffff;
            margin: 0;
            transition: color 0.3s ease;
            display: inline-flex;
            align-items: center;
        }

        /* Subtle line animation under caption on hover */
        .moment-caption::after {
            content: '';
            display: block;
            width: 0;
            height: 1px;
            background: var(--copper-solid);
            transition: width 0.3s ease;
            margin-left: 15px;
        }

        .moment-card:hover .moment-caption {
            color: var(--copper-solid);
        }

        .moment-card:hover .moment-caption::after {
            width: 40px;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .moments-intro-col {
                padding-right: 15px;
                margin-bottom: 50px;
            }

            .moments-carousel-wrapper {
                margin-right: -15px;
                padding-right: 15px;
            }
        }





        /* --- MOMENTS SECTION AMBIENT BACKGROUND --- */
        .moments-section {
            position: relative;
            overflow: hidden;
        }

        .moments-bg-svgs {
            position: absolute;
            inset: 0;
            /* Covers the entire section (top, right, bottom, left) */
            width: 100%;
            height: 100%;
            pointer-events: none;
            /* Prevents clicks from being intercepted */
            z-index: 1;
            /* Sits behind the main container */
        }

        /* Base style inherits the Copper color */
        .moments-bg-svgs .ambient-svg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            color: var(--copper-solid);
        }

        /* 1. Ripples Animation */
        .moments-svg-ripples {
            opacity: 0.12;
            /* Faint watermark */
            transform-origin: center center;
        }

        .ripple-1 {
            animation: ripple-pulse 12s infinite alternate ease-in-out;
            transform-origin: center;
        }

        .ripple-2 {
            animation: ripple-pulse 18s infinite alternate-reverse ease-in-out;
            transform-origin: center;
        }

        .ripple-3 {
            animation: rotate-slow 60s linear infinite;
            transform-origin: center;
        }

        .ripple-4 {
            animation: ripple-pulse 24s infinite alternate ease-in-out;
            transform-origin: center;
        }

        /* 2. Celebration Sparks Animation */
        .moments-svg-sparks {
            opacity: 0.60;
            /* Slightly brighter for the sparks */
        }

        /* Stagger the sparks so they don't all float up at once */
        .spark-1 {
            animation: float-up 8s infinite linear;
        }

        .spark-2 {
            animation: float-up 8s infinite linear 4s;
        }

        .spark-3 {
            animation: float-up 12s infinite linear 8s;
        }

        .spark-4 {
            animation: float-up 4s infinite linear 2s;
        }

        .spark-5 {
            animation: float-up 4s infinite linear 10s;
        }

        .wave-drift {
            animation: wave-breathe 8s infinite alternate ease-in-out;
        }

        /* --- KEYFRAMES --- */

        /* Rings expanding and contracting */
        @keyframes ripple-pulse {
            0% {
                transform: scale(0.2);
                stroke-width: 0.3;
                opacity: 1;
            }

            100% {
                transform: scale(1.3);
                stroke-width: 0.05;
                opacity: 0.2;
            }
        }

        /* Slow rotation for the dashed circle */
        @keyframes rotate-slow {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        /* Sparks floating upward like champagne bubbles */
        @keyframes float-up {
            0% {
                transform: translateY(0) scale(0.5);
                opacity: 0;
            }

            20% {
                opacity: 1;
            }

            80% {
                opacity: 1;
            }

            100% {
                transform: translateY(-150px) scale(0.5);
                opacity: 0;
            }
        }

        /* Breathing motion for the background curve */
        @keyframes wave-breathe {
            0% {
                transform: translateY(0) scaleY(1);
                opacity: 0.3;
            }

            100% {
                transform: translateY(-20px) scaleY(1.1);
                opacity: 0.8;
            }
        }

        /* Performance cleanup for mobile */
        @media (max-width: 768px) {
            .moments-bg-svgs {
                display: none;
                /* Keep mobile clean and fast */
            }
        }






























        /* --- DRAGGABLE TESTIMONIALS --- */
        .testimonials-section {
            background-color: #ffffff;
            padding-bottom: 100px;
        }

        .testimonial-carousel-wrapper {
            overflow: hidden;
            width: 100%;
            cursor: grab;
            /* Shows the user they can drag */
            padding: 20px 0;
        }

        .testimonial-carousel-wrapper:active {
            cursor: grabbing;
        }

        .testimonial-track {
            display: flex;
            gap: 40px;
            /* Space between reviews */
            width: max-content;
            will-change: transform;
            /* Prevent user highlighting text while dragging */
            user-select: none;
            -webkit-user-select: none;
        }

        .testimonial-card {
            width: 400px;
            /* Fixed width for consistent dragging */
            flex-shrink: 0;
            text-align: center;
            padding: 30px;
            background: #ffffff;
            border-radius: 12px;
            /* Soft shadow instead of borders for a cleaner sliding effect */
            /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04); */
            border: 1px solid rgba(0, 0, 0, 0.164);
        }

        .star-rating {
            margin-bottom: 20px;
            display: flex;
            justify-content: center;
            gap: 4px;
        }

        .star-icon {
            width: 14px;
            height: 14px;
            stroke: var(--copper-solid);
        }

        .star-icon.fill-copper {
            fill: var(--copper-solid);
        }

        .review-text {
            font-family: var(--font-body);
            font-size: 14px;
            line-height: 1.8;
            color: var(--deep-forest);
            font-weight: 400;
            margin-bottom: 25px;
        }

        .traveler-name {
            font-family: 'Brush Script MT', 'Caveat', cursive;
            font-size: 32px;
            color: var(--copper-solid);
            transform: rotate(-5deg);
        }






















        /* --- FULL WIDTH VIDEO CTA SECTION --- */
        .video-cta-section {
            position: relative;
            width: 100%;
            min-height: 80vh;
            /* Takes up 80% of the screen height */
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 100px 0;
            overflow: hidden;
        }

        /* Background Video Styling */
        .cta-video-bg {
            position: absolute;
            inset: 0;
            z-index: 0;
        }

        .cta-video-bg video,
        .cta-video-bg img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Overlay to darken the video slightly */
        .video-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(31, 58, 46, 0.4), rgba(31, 58, 46, 0.7));
            z-index: 1;
        }

        /* Ensures content sits above the video */
        .z-index-2 {
            z-index: 2;
        }

        /* The Central Plaque */
        .cta-plaque {
            background: rgba(255, 255, 255, 0.95);
            /* Slight glass effect */
            backdrop-filter: blur(10px);
            padding: 70px 60px 50px 60px;
            border-radius: 12px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
            position: relative;
            margin-top: 50px;
            /* Space for the floating stamp */
        }

        /* Centered Stamp at the top of the plaque */
        .plaque-stamp-center {
            position: absolute;
            top: -55px;
            /* Pulls it up out of the box */
            left: 50%;
            transform: translateX(-50%);
            /* Perfectly centers it */
            background: #ffffff;
            border-radius: 50%;
            padding: 10px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            width: 110px;
            height: 110px;
        }

        .cta-heading {
            font-family: var(--font-heading);
            font-size: 42px;
            line-height: 1.2;
            color: var(--deep-forest);
            margin-bottom: 16px;
        }

        .cta-subheading {
            font-family: var(--font-body);
            font-size: 13px;
            font-weight: 500;
            color: #666;
            margin-bottom: 40px;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        /* Fixed Buttons Container */
        .cta-actions-row {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 16px;
        }

        /* New Outline Dark button to fix the broken styling */
        .btn-outline-dark {
            background: transparent;
            color: var(--deep-forest);
            padding: 14px 36px;
            border-radius: 4px;
            font-family: var(--font-body);
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            border: 1px solid var(--deep-forest);
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-block;
        }

        .btn-outline-dark:hover {
            background: var(--deep-forest);
            color: #ffffff;
        }

        /* Agent Availability Fixes */
        .agent-availability {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .agent-avatar {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid #ffffff;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }

        .availability-status {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .status-dot {
            width: 8px;
            height: 8px;
            background-color: #22c55e;
            border-radius: 50%;
            animation: pulse-green 2s infinite;
        }

        .status-text {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--deep-forest);
        }

        /* Responsive Adjustments */
        @media (max-width: 768px) {
            .cta-plaque {
                padding: 60px 30px 40px 30px;
            }

            .cta-heading {
                font-size: 32px;
            }

            .cta-actions-row {
                flex-direction: column;
                width: 100%;
            }

            .cta-actions-row a {
                width: 100%;
                text-align: center;
            }
        }













        /* --- LUXURY TERNARY BUTTON --- */
        .btn-copper-luxury {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--copper-solid);
            font-family: var(--font-body);
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            text-decoration: none;
            background: transparent;
            border: none;
            padding: 6px 0;
            position: relative;
            cursor: pointer;
            /* Synchronized color transition */
            transition: color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* Ensure the Lucide icon aligns perfectly */
        .btn-copper-luxury i {
            width: 18px;
            /* Slightly larger to balance the 16px text */
            height: 18px;
            transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* The Animated Hairline Underline Setup */
        .btn-copper-luxury::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: var(--copper-solid);
            /* Retreats to the right on hover out */
            transform: scaleX(0);
            transform-origin: right;
            transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s ease;
        }

        /* --- HOVER INTERACTIONS --- */

        /* 1. Text and icon transition to brand dark color together */
        .btn-copper-luxury:hover {
            color: var(--copper-solid);
        }

        /* 2. Arrow shoots diagonally top-right to match the icon's direction */
        .btn-copper-luxury:hover i {
            transform: translate(4px, -4px);
        }

        /* 3. Underline draws out smoothly from left to right */
        .btn-copper-luxury:hover::after {
            transform: scaleX(1);
            transform-origin: left;
            background-color: var(--deep-forest);
            /* Matches the text hover color */
        }







































        /* --- GLOBAL LUXURY FOOTER --- */
        .luxury-footer {
            background-color: #0a110d;
            /* An ultra-dark, almost black variant of Deep Forest */
            color: #ffffff;
            padding-top: 60px;
            font-family: var(--font-body);
        }

        /* Base Tier Styling (Creates the horizontal lines) */
        .footer-tier {
            padding: 40px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            /* Elegant, thin dividers */
        }

        /* Remove bottom border from the very last tier */
        .footer-tier:last-child {
            border-bottom: none;
            padding-bottom: 60px;
        }

        /* --- TIER 1: BRAND --- */
        .footer-brand {
            padding-top: 0;
        }

        /* --- TIER 2: NAVIGATION --- */
        .nav-cluster {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px 30px;
            /* Vertical / Horizontal gap */
        }

        .primary-links {
            margin-bottom: 40px;
        }

        .primary-links a,
        .secondary-links a {
            color: #ffffff;
            font-size: 11px;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 2px;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .primary-links a:hover,
        .secondary-links a:hover {
            color: var(--copper-solid);
        }

        .nav-cluster-label {
            width: 100%;
            font-size: 10px;
            font-weight: 300;
            color: rgba(255, 255, 255, 0.5);
            text-transform: uppercase;
            letter-spacing: 3px;
            margin-bottom: 20px;
        }

        .secondary-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 15px 30px;
        }

        /* --- TIER 3: CONTACT (3-COLUMN LAYOUT) --- */
        .contact-block {
            text-align: center;
            padding: 20px 15px;
        }

        /* Vertical separator lines for desktop */
        @media (min-width: 992px) {

            .left-block,
            .center-block {
                border-right: 1px solid rgba(255, 255, 255, 0.1);
            }
        }

        .contact-label {
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 10px;
            font-weight: 300;
            color: rgba(255, 255, 255, 0.5);
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 12px;
        }

        /* Reduced size from 28px to 22px to elegantly fit 3 columns */
        .contact-value {
            display: block;
            font-family: var(--font-heading);
            font-size: 22px;
            color: #ffffff;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .contact-value:hover {
            color: var(--copper-solid);
        }

        /* Specific requirement: Numbers must use font-body for pure readability */
        .contact-value.use-body-font {
            font-family: var(--font-body);
            font-weight: 300;
            letter-spacing: 1px;
        }

        /* Styling for the new Address Block */
        .address-text {
            font-size: 24px;
            /* Slightly larger to act as a visual anchor */
            color: rgba(255, 255, 255, 0.9);
        }

        /* Mobile Adjustments */
        @media (max-width: 991px) {
            .contact-block {
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
                padding: 30px 0;
            }

            .right-block {
                border-bottom: none;
                /* Last item doesn't need a border */
            }

            .address-text {
                font-size: 18px;
            }
        }

        /* --- TIER 4: LEGAL & SOCIAL --- */
        .social-links {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-bottom: 30px;
        }

        .social-links a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.3);
            color: #ffffff;
            transition: all 0.3s ease;
        }

        .social-links a:hover {
            background-color: var(--copper-solid);
            border-color: var(--copper-solid);
        }

        .legal-links {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 30px;
        }

        .legal-links a,
        .legal-links .copyright {
            font-size: 10px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.5);
            text-transform: uppercase;
            letter-spacing: 2px;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .legal-links a:hover {
            color: #ffffff;
        }

        /* Responsive Adjustments */
        @media (max-width: 768px) {
            .nav-cluster {
                gap: 15px;
                flex-direction: column;
            }

            .left-block {
                border-right: none;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }

            .contact-value {
                font-size: 22px;
            }

            .legal-links {
                flex-direction: column;
                gap: 15px;
            }
        }





        /* --- FOOTER AMBIENT BACKGROUND --- */
        .luxury-footer {
            position: relative;
            overflow: hidden;
            /* Ensure your footer has a dark background so the copper lines pop */
            background-color: #0a110d;
        }

        .footer-bg-svgs {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            /* Let clicks pass through to the links */
            z-index: 1;
        }

        .footer-bg-svgs .ambient-svg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* Stretches the SVG to fill the entire footer height */
            color: var(--copper-solid);
        }

        /* The River Animation Styling */
        .river-line {
            /* Prevents the SVG from looking pixelated when stretched */
            vector-effect: non-scaling-stroke;
        }

        /* Parallax Layering: Opacities and Speeds */
        .back-wave {
            opacity: 0.05;
            animation: river-drift 20s linear infinite;
        }

        .mid-wave {
            opacity: 0.1;
            animation: river-drift 15s linear infinite reverse;
            /* Drifts opposite direction */
        }

        .front-wave {
            opacity: 0.12;
            animation: river-drift 8s linear infinite;
        }

        /* --- KEYFRAMES --- */
        @keyframes river-drift {
            0% {
                transform: translateX(-10%);
            }

            50% {
                transform: translateX(5%);
            }

            /* Drifts right */
            100% {
                transform: translateX(-10%);
            }

            /* Drifts back left */
        }

        /* Optional: Keep it clean on mobile */
        @media (max-width: 768px) {
            .footer-bg-svgs {
                opacity: 0.5;
                /* Dim them further on small screens so text remains legible */
            }
        }






















































































































        /* --- ENQUIRE PAGE HERO BANNER (CENTERED) --- */
        .enquire-hero {
            min-height: 500px;
            height: 50vh;
            /* Slightly taller for grandeur */
            overflow: hidden;
            padding-top: 140px;
            padding-bottom: 60px;
        }

        .enquire-hero-bg {
            position: absolute;
            inset: 0;
            z-index: 1;
        }

        /* Centered Vignette Gradient */
        .hero-gradient-overlay.centered {
            position: absolute;
            inset: 0;
            /* Dark at the edges, slightly transparent in the dead center */
            background: radial-gradient(circle at center, rgba(10, 17, 13, 0.4) 0%, rgba(10, 17, 13, 0.85) 100%);
        }

        .enquire-hero-content {
            margin-top: -30px;
        }

        .luxury-badge {
            font-family: var(--font-body);
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--copper-solid);
            border: 1px solid rgba(201, 137, 84, 0.3);
            padding: 8px 16px;
            border-radius: 30px;
            background: rgba(10, 17, 13, 0.4);
            backdrop-filter: blur(4px);
        }

        .enquire-hero-title {
            font-family: var(--font-heading);
            font-size: 44px;
            line-height: 1.2;
            text-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
        }

        /* --- THE 'ASIA' HIGHLIGHT --- */
        .highlight-asia {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 15px;
            font-family: var(--font-heading);
            font-size: 1.4em;
            /* Makes it 40% larger than the surrounding text */
            font-style: italic;

            /* Elegant Copper Text Gradient */
            /* background: #fff;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; */
            color: #fff;
            padding-top: 10px;
            position: relative;
        }

        /* Override the text-clip for the SVGs so they render correctly */
        .highlight-asia svg {
            -webkit-text-fill-color: initial;
            color: var(--soft-beige);
            width: 35px;
            height: 35px;
            filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
        }

        /* Animations for the Luxury Stars */
        .asia-flourish.left {
            animation: star-pulse-left 4s ease-in-out infinite;
        }

        .asia-flourish.right {
            animation: star-pulse-right 4s ease-in-out infinite 2s;
            /* 2s delay so they alternate */
        }

        @keyframes star-pulse-left {

            0%,
            100% {
                transform: scale(1) rotate(-15deg);
                opacity: 0.8;
            }

            50% {
                transform: scale(1.2) rotate(0deg);
                opacity: 1;
                filter: drop-shadow(0 0 10px rgba(201, 137, 84, 0.6));
            }
        }

        @keyframes star-pulse-right {

            0%,
            100% {
                transform: scale(1) rotate(15deg);
                opacity: 0.8;
            }

            50% {
                transform: scale(1.2) rotate(0deg);
                opacity: 1;
                filter: drop-shadow(0 0 10px rgba(201, 137, 84, 0.6));
            }
        }

        /* Subtitle and Trust Bar */
        .enquire-hero-subtitle {
            font-family: var(--font-body);
            font-size: 18px;
            line-height: 1.6;
            max-width: 600px;
        }

        .enquire-features-strip {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            z-index: 5;
            background: rgba(10, 17, 13, 0.75);
            backdrop-filter: blur(12px);
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            padding: 18px 0;
        }

        .features-list {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            font-family: var(--font-body);
            font-size: 13px;
            color: #e0e0e0;
        }

        .feature-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-weight: 300;
        }

        .feature-item i {
            color: var(--copper-solid);
        }

        .feature-dot {
            color: var(--copper-solid);
            opacity: 0.4;
            font-size: 10px;
        }

        /* Responsive Adjustments */
        @media (max-width: 992px) {
            .enquire-hero-title {
                font-size: 42px;
            }

            .features-list {
                gap: 15px;
            }
        }

        @media (max-width: 768px) {
            .enquire-hero-title {
                font-size: 32px;
            }

            .highlight-asia {
                font-size: 1.2em;
                gap: 8px;
            }

            .highlight-asia svg {
                width: 25px;
                height: 25px;
            }

            .enquire-hero-subtitle {
                font-size: 15px;
            }

            .luxury-badge {
                font-size: 9px;
                line-height: 1.4;
                padding: 6px 12px;
            }

            /* Mobile scrollable strip */
            .features-list {
                flex-wrap: nowrap;
                justify-content: flex-start !important;
                overflow-x: auto;
                padding-bottom: 5px;
                -webkit-overflow-scrolling: touch;
            }

            .feature-item {
                flex: 0 0 auto;
                background: rgba(255, 255, 255, 0.05);
                padding: 6px 12px;
                border-radius: 20px;
                font-size: 12px;
            }

            .features-list::-webkit-scrollbar {
                display: none;
            }
        }







































        /* --- LUXURY ENQUIRY WIZARD --- */
        .bg-soft-beige {
            background-color: var(--soft-beige);
        }

        .wizard-container {
            background: #ffffff;
            border-radius: 16px;
            padding: 50px 60px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
            max-width: 900px;
            margin: 0 auto;
        }

        /* Progress Bar */
        .wizard-progress-wrapper {
            position: relative;
        }

        .wizard-progress-track {
            height: 3px;
            background: #eaeaea;
            border-radius: 3px;
            margin-bottom: 20px;
            overflow: hidden;
        }

        .wizard-progress-fill {
            height: 100%;
            background: var(--copper-solid);
            width: 25%;
            /* Controlled by JS */
            transition: width 0.4s ease;
        }

        .wizard-steps-indicators {
            display: flex;
            justify-content: space-between;
            font-family: var(--font-body);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #a0a0a0;
            font-weight: 500;
        }

        .step-indicator.active {
            color: var(--deep-forest);
            font-weight: 700;
        }

        /* Step Visibility */
        .wizard-step {
            display: none;
            animation: fadeIn 0.5s ease;
        }

        .wizard-step.active {
            display: block;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .step-title {
            font-family: var(--font-heading);
            font-size: 28px;
            color: var(--deep-forest);
            margin-bottom: 30px;
        }

        /* Selectable Cards (Radios/Checkboxes) */
        .selection-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .selection-grid.columns-2 {
            grid-template-columns: repeat(2, 1fr);
        }

        .selection-grid.columns-4 {
            grid-template-columns: repeat(4, 1fr);
        }

        .selection-card {
            cursor: pointer;
            position: relative;
            display: block;
        }

        /* Hide default input circles */
        .selection-card input {
            position: absolute;
            opacity: 0;
            cursor: pointer;
        }

        /* The actual visible card */
        .card-content {
            display: flex;
            align-items: center;
            gap: 12px;
            border: 1px solid #eaeaea;
            padding: 16px 20px;
            border-radius: 8px;
            font-family: var(--font-body);
            font-size: 14px;
            font-weight: 500;
            color: var(--deep-forest);
            transition: all 0.3s ease;
            background: #ffffff;
        }

        .card-content i {
            color: #a0a0a0;
            width: 18px;
            transition: color 0.3s ease;
        }

        /* Selected/Hover States */
        .selection-card:hover .card-content {
            border-color: var(--copper-solid);
        }

        .selection-card input:checked~.card-content {
            border-color: var(--copper-solid);
            background: rgba(190, 124, 70, 0.05);
            /* Very light copper tint */
            box-shadow: inset 0 0 0 1px var(--copper-solid);
        }

        .selection-card input:checked~.card-content i {
            color: var(--copper-solid);
        }

        /* Standard Inputs & Textareas */
        .input-label {
            display: block;
            font-size: 16px;
            font-weight: 600;
            /* text-transform: uppercase; */
            color: var(--deep-forest);
            letter-spacing: 1px;
            margin-bottom: 8px;
        }

        .custom-text-input {
            width: 100%;
            border: 1px solid #eaeaea;
            padding: 15px 20px;
            border-radius: 8px;
            font-family: var(--font-body);
            font-size: 15px;
            color: var(--deep-forest);
            outline: none;
            transition: border 0.3s ease;
        }

        .custom-text-input:focus {
            border-color: var(--copper-solid);
        }

        /* Disclaimers */
        .info-notice {
            display: flex;
            background: rgba(190, 124, 70, 0.08);
            padding: 20px;
            border-radius: 8px;
            font-size: 13px;
            color: var(--deep-forest);
            line-height: 1.6;
        }

        .privacy-notice {
            font-size: 11px;
            color: #888;
            line-height: 1.6;
        }

        /* Guest Counters */
        .guest-counter-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-bottom: 20px;
            border-bottom: 1px solid #eaeaea;
        }

        .guest-info h4 {
            font-family: var(--font-body);
            font-size: 16px;
            margin: 0 0 4px 0;
            color: var(--deep-forest);
        }

        .guest-info span {
            font-size: 12px;
            color: #888;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .counter-controls {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .btn-counter {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 1px solid #eaeaea;
            background: #fff;
            color: var(--deep-forest);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-counter:hover {
            border-color: var(--copper-solid);
            color: var(--copper-solid);
        }

        .counter-input {
            width: 40px;
            text-align: center;
            border: none;
            font-size: 18px;
            font-weight: 600;
            color: var(--deep-forest);
            outline: none;
        }

        /* Footer Nav */
        .wizard-footer {
            display: flex;
            justify-content: space-between;
            border-top: 1px solid #eaeaea;
            padding-top: 30px;
        }

        /* Reusing your secondary outline button style */
        .btn-outline-copper {
            border: 1px solid var(--copper-solid);
            background: transparent;
            color: var(--deep-forest);
            padding: 14px 30px;
            border-radius: 12px;
            font-weight: 600;
            text-transform: uppercase;
            cursor: pointer;
        }

        @media (max-width: 768px) {
            .wizard-container {
                padding: 30px 20px;
            }

            .selection-grid,
            .selection-grid.columns-4,
            .selection-grid.columns-2 {
                grid-template-columns: 1fr;
            }

            .wizard-steps-indicators {
                display: none;
                /* Hide text steps on mobile, keep progress bar */
            }
        }





        /* --- CUSTOM LUXURY SELECT DROPDOWNS --- */
        .custom-select-wrapper {
            position: relative;
            user-select: none;
            width: 100%;
        }

        /* The Trigger (Looks like an input) */
        .custom-select-trigger {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            background: #ffffff;
        }

        .custom-select-trigger .select-chevron {
            width: 18px;
            height: 18px;
            color: var(--deep-forest);
            transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* The Dropdown List */
        .custom-select-options {
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            width: 100%;
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
            border: 1px solid #eaeaea;
            list-style: none;
            padding: 10px 0;
            margin: 0;
            z-index: 100;

            /* NEW: Height constraint and scrolling */
            max-height: 280px;
            overflow-y: auto;

            /* NEW: Firefox Scrollbar Styling */
            scrollbar-width: thin;
            scrollbar-color: var(--copper-solid) transparent;

            /* Hidden by default with animation prep */
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        }

        /* --- NEW: WEBKIT CUSTOM SCROLLBAR (Chrome, Safari, Edge) --- */
        .custom-select-options::-webkit-scrollbar {
            width: 6px;
            /* Thin, elegant width */
        }

        .custom-select-options::-webkit-scrollbar-track {
            background: transparent;
            margin: 10px 0;
            /* Prevents the scrollbar from overlapping the rounded top/bottom corners */
        }

        .custom-select-options::-webkit-scrollbar-thumb {
            background-color: var(--copper-solid);
            border-radius: 10px;
            /* Soft rounded pill shape */
        }

        .custom-select-options::-webkit-scrollbar-thumb:hover {
            background-color: #a35d26;
            /* Darkens slightly when the user grabs it */
        }

        /* Option Items (Remains the same) */
        .custom-select-options li {
            padding: 12px 20px;
            font-family: var(--font-body);
            font-size: 14px;
            color: var(--deep-forest);
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .custom-select-options li:hover {
            background: var(--soft-beige);
            color: var(--copper-solid);
        }

        .custom-select-options li.active {
            background: rgba(190, 124, 70, 0.05);
            /* Very light copper tint */
            color: var(--copper-solid);
            font-weight: 600;
        }

        /* --- OPEN STATE TRIGGERS (Remains the same) --- */
        .custom-select-wrapper.is-open .custom-select-options {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .custom-select-wrapper.is-open .custom-select-trigger {
            border-color: var(--copper-solid);
        }

        .custom-select-wrapper.is-open .select-chevron {
            transform: rotate(180deg);
            color: var(--copper-solid);
        }








        /* --- ENQUIRY FORM AMBIENT BACKGROUND --- */
        .enquiry-bg-svgs {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            /* Crucial: Allows users to click the form through the SVGs */
            z-index: 1;
            opacity: 0.12;
            /* Subtle watermark effect against the beige background */
        }

        .enquiry-bg-svgs .ambient-svg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            color: var(--copper-solid);
        }

        .enquiry-contour {
            fill: none;
            stroke: currentColor;
            stroke-width: 1.5px;
            vector-effect: non-scaling-stroke;
            /* Keeps lines crisp regardless of screen size */
        }

        .dashed-ring {
            stroke-dasharray: 4 12;
            stroke-width: 1px;
        }

        /* --- KEYFRAMES --- */
        .contour-waves {
            animation: drift-contours 35s ease-in-out infinite alternate;
        }

        .contour-rings {
            animation: rotate-rings 100s linear infinite;
            transform-origin: 85% 15%;
            /* Matches the cx/cy of the circles */
        }

        @keyframes drift-contours {
            0% {
                transform: translateY(0) scale(1);
            }

            100% {
                transform: translateY(-40px) scale(1.02);
            }

            /* Gentle breathing drift */
        }

        @keyframes rotate-rings {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }

            /* Ultra-slow majestic spin */
        }

        /* Hide on mobile to keep the form distraction-free and performant */
        @media (max-width: 768px) {
            .enquiry-bg-svgs {
                display: none;
            }
        }




        /* --- CUSTOM SELECT DROPDOWN FIX --- */
        select.custom-text-input {
            /* 1. Hide the stubborn native browser arrow */
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;

            /* 2. Add a custom Lucide-style chevron as a background image */
            /* Note: The stroke='%231f3a2e' matches your Deep Forest green hex code */
            background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
            background-repeat: no-repeat;
            background-size: 16px;

            /* 3. Position the new arrow 20px from the right side, matching your padding */
            background-position: right 20px center;

            /* 4. Increase right padding so long text doesn't overlap the new icon */
            padding-right: 45px;

            /* Fix for IE/Edge to remove native arrow */
            cursor: pointer;
        }

        select.custom-text-input::-ms-expand {
            display: none;
        }







































        /* --- VIETNAM PAGE: SPECIFIC STYLES --- */

        /* Search Bar Hover State */
        .tour-search-field {
            border-radius: 8px;
            transition: background-color 0.2s ease;
        }

        .tour-search-field:hover {
            background-color: var(--soft-beige);
        }

        /* Quick Nav Teardrop Icons (From Client Wireframe) */
        .quick-nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            transition: transform 0.3s ease;
        }

        .quick-nav-item:hover {
            transform: translateY(-5px);
        }

        .ani-oval {
            width: 72px;
            height: 88px;
            background: var(--deep-forest);
            /* Client's specific custom teardrop shape */
            border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 10px 25px rgba(31, 58, 46, 0.2);
            transition: background 0.3s ease, box-shadow 0.3s ease;
        }

        .quick-nav-item:hover .ani-oval {
            background: var(--copper-solid);
            box-shadow: 0 12px 30px rgba(198, 139, 89, 0.3);
        }

        .ani-label {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: var(--deep-forest);
            text-align: center;
            transition: color 0.3s ease;
        }

        .quick-nav-item:hover .ani-label {
            color: var(--copper-solid);
        }

        /* Image Hover Zoom */
        .about-image-wrapper:hover img {
            transform: scale(1.05);
        }

        /* Mobile Search Bar Tweaks */
        @media (max-width: 991px) {
            .tour-search-field {
                border-bottom: 1px solid #eaeaea;
                border-radius: 0;
            }

            .tour-search-field:last-of-type {
                border-bottom: none;
            }
        }













        /* --- ADVANCED TOUR SEARCH INPUTS & DROPDOWNS --- */
        .search-invisible-input {
            border: none;
            outline: none;
            background: transparent;
            width: 100%;
            font-size: 14px;
            font-family: var(--font-body);
            color: var(--deep-forest);
            font-weight: 500;
            cursor: pointer;
        }

        .search-invisible-input::placeholder {
            color: var(--deep-forest);
            opacity: 0.9;
        }

        /* Make the first input typable */
        .search-invisible-input:not([readonly]) {
            cursor: text;
        }

        .custom-search-dropdown {
            position: absolute;
            top: calc(100% + 15px);
            left: 0;
            width: 260px;
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
            border: 1px solid #eaeaea;
            padding: 15px 0;
            z-index: 1000;

            /* Animation states */
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

            /* Scrolling */
            max-height: 350px;
            overflow-y: auto;
        }

        /* Align the last dropdown to the right so it doesn't fall off the screen */
        .custom-search-dropdown.right-align {
            left: auto;
            right: 0;
        }

        /* Active Class toggled by JavaScript */
        .custom-search-dropdown.is-active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .dropdown-heading {
            display: block;
            padding: 0 20px;
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            color: #a0a0a0;
            letter-spacing: 1px;
            margin-bottom: 8px;
        }

        .dropdown-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .dropdown-list li {
            padding: 10px 20px;
            font-size: 13.5px;
            font-weight: 500;
            color: var(--deep-forest);
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }

        .dropdown-list li:hover {
            background: var(--soft-beige);
            color: var(--copper-solid);
        }

        /* Search Dropdown Custom Scrollbar */
        .custom-search-dropdown::-webkit-scrollbar {
            width: 6px;
        }

        .custom-search-dropdown::-webkit-scrollbar-track {
            background: transparent;
            margin: 10px 0;
        }

        .custom-search-dropdown::-webkit-scrollbar-thumb {
            background-color: var(--copper-solid);
            border-radius: 10px;
        }





















        /* --- VIETNAM PAGE: SECTION 4, 5, 6 STYLES --- */

        /* When To Visit Cards */
        .when-card {
            border-radius: 12px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .when-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.06) !important;
        }

        .verdict-badge {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            padding: 6px 12px;
            border-radius: 4px;
            display: inline-block;
        }

        .verdict-great {
            background: rgba(31, 58, 46, 0.1);
            color: var(--deep-forest);
        }

        .verdict-caution {
            background: rgba(198, 139, 89, 0.1);
            color: var(--copper-solid);
        }

        .verdict-avoid {
            background: rgba(192, 57, 43, 0.1);
            color: #C0392B;
        }

        /* Flight Tabs */
        .flight-tabs {
            border-bottom: 1px solid #eaeaea;
        }

        .flight-tabs .nav-link {
            color: var(--muted);
            font-size: 13px;
            letter-spacing: 1px;
            text-transform: uppercase;
            border: none;
            border-bottom: 2px solid transparent;
            border-radius: 0;
            padding: 12px 24px;
            font-weight: 500;
            background: transparent;
            transition: all 0.3s ease;
        }

        .flight-tabs .nav-link:hover {
            color: var(--deep-forest);
        }

        .flight-tabs .nav-link.active {
            color: var(--deep-forest);
            border-bottom-color: var(--copper-solid);
            font-weight: 600;
        }

        /* Make flight tabs horizontally scrollable on mobile without wrapping */
        @media (max-width: 768px) {
            .flight-tabs {
                display: flex !important;
                flex-wrap: nowrap !important;
                overflow-x: auto !important;
                -webkit-overflow-scrolling: touch !important;
                border-bottom: none !important;
                padding-bottom: 4px !important;
                scrollbar-width: none;
                /* Firefox */
            }

            .flight-tabs::-webkit-scrollbar {
                display: none;
                /* Safari and Chrome */
            }

            .flight-tabs .nav-item {
                flex-shrink: 0 !important;
            }

            .flight-tabs .nav-link {
                padding: 10px 16px !important;
                /* Slightly more compact for smaller viewports */
            }
        }

        .flight-row {
            transition: background 0.2s ease;
            font-size: 14px;
        }

        .flight-row:hover {
            background: rgba(0, 0, 0, 0.02);
        }

        .flight-chip {
            font-size: 10px;
            font-weight: 600;
            text-transform: uppercase;
            padding: 4px 8px;
            border-radius: 4px;
            letter-spacing: 0.5px;
        }

        .chip-direct {
            background: rgba(31, 58, 46, 0.1);
            color: var(--deep-forest);
        }

        .chip-stop {
            background: rgba(198, 139, 89, 0.1);
            color: var(--copper-solid);
        }

        /* Package Cards */
        .pkg-card {
            border: 1px solid #eaeaea;
            border-radius: 12px;
            overflow: hidden;
            background: #fff;
            transition: box-shadow 0.3s ease, transform 0.3s ease;
        }

        .pkg-card:hover {
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
            transform: translateY(-5px);
        }

        .pkg-img-wrapper {
            height: 280px;
            position: relative;
            overflow: hidden;
        }

        .pkg-img-wrapper img {
            transition: transform 0.6s ease;
        }

        .pkg-card:hover .pkg-img-wrapper img {
            transform: scale(1.05);
        }

        .incl-chip {
            font-size: 11px;
            padding: 6px 12px;
            background: rgba(31, 58, 46, 0.05);
            color: var(--deep-forest);
            border-radius: 20px;
            font-weight: 500;
            white-space: nowrap;
        }





        /* Flight Section */
        .f-row-x {
            background: var(--bg);
            display: grid;
            grid-template-columns: 1.6fr 0.75fr 0.75fr 0.75fr 0.75fr 1fr 0.85fr;
            align-items: center;
            padding: 0.75rem 1.1rem;
            gap: 0.6rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        }

        .f-row-x.head-x {
            background: var(--deep-forest);
            border-bottom: none;
        }

        .f-row-x.head-x span {
            font-size: 0.65rem;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.7);
            font-weight: 500;
        }

        .f-row-x.head-x .f-airline {
            color: #fff;
            font-weight: 600;
            font-size: 0.7rem;
        }

        .f-row-x .f-airline {
            font-weight: 600;
            color: var(--deep-forest);
            font-size: 0.85rem;
        }

        .f-row-x .f-via {
            color: var(--muted);
            font-size: 0.8rem;
        }

        .c-lcc {
            background: rgba(181, 146, 74, 0.15);
            color: var(--copper-solid);
            font-size: 0.65rem;
            font-weight: 600;
            padding: 4px 8px;
            border-radius: 4px;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .c-full {
            background: rgba(31, 58, 46, 0.1);
            color: var(--deep-forest);
            font-size: 0.65rem;
            font-weight: 600;
            padding: 4px 8px;
            border-radius: 4px;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .chip {
            font-size: 0.65rem;
            font-weight: 600;
            text-transform: uppercase;
            padding: 4px 8px;
            border-radius: 4px;
            letter-spacing: 0.5px;
        }

        .c-direct {
            background: rgba(31, 58, 46, 0.05);
            color: var(--deep-forest);
        }

        .c-stop {
            background: #f1f3f5;
            color: #495057;
            border: 1px solid #e9ecef;
        }

        .c-na {
            color: #ccc;
        }

        .f-row-x.f-hidden {
            display: none;
        }

        .view-more-btn {
            width: 100%;
            margin-top: 0;
            padding: 1rem 1.2rem;
            background: rgba(31, 58, 46, 0.03);
            border: none;
            border-top: 1px solid rgba(0, 0, 0, 0.05);
            cursor: pointer;
            font-family: var(--font-body);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--deep-forest);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            transition: background 0.2s;
            border-radius: 0 0 8px 8px;
        }

        .view-more-btn:hover {
            background: rgba(31, 58, 46, 0.08);
            color: var(--primary-pink);
        }

        .view-more-btn .vmb-arrow {
            display: inline-block;
            transition: transform 0.25s;
            font-style: normal;
            font-size: 1.2rem;
            line-height: 0.5;
        }

        .view-more-btn.expanded .vmb-arrow {
            transform: rotate(180deg);
        }

        .city-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            overflow-x: auto;
            padding-bottom: 10px;
            scrollbar-width: none;
        }

        .city-tabs::-webkit-scrollbar {
            display: none;
        }

        .city-tab {
            padding: 10px 24px;
            background: transparent;
            border: 1px solid #eaeaea;
            border-radius: 30px;
            color: var(--muted);
            font-weight: 500;
            font-size: 0.85rem;
            cursor: pointer;
            transition: all 0.3s ease;
            white-space: nowrap;
        }

        .city-tab:hover {
            border-color: var(--copper-solid);
            color: var(--copper-solid);
        }

        .city-tab.active {
            background: var(--deep-forest);
            color: #fff;
            border-color: var(--deep-forest);
        }

        .flight-panel {
            display: none;
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            border: 1px solid #eaeaea;
        }

        .flight-panel.show {
            display: block;
            animation: fadeIn 0.4s ease;
        }

        .adl-note {
            background: #fff3cd;
            color: #856404;
            padding: 12px 20px;
            font-size: 0.85rem;
            font-weight: 500;
            border-bottom: 1px solid #ffeeba;
        }

        @media (max-width: 992px) {
            .f-row-x {
                grid-template-columns: 1fr 1fr 1fr;
                gap: 1rem;
            }

            .f-row-x.head-x {
                display: none;
            }

            .f-row-x {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                position: relative;
                padding: 1.5rem;
            }

            .f-row-x>span {
                flex: 0 0 45%;
                margin-bottom: 10px;
            }

            .f-row-x .f-airline {
                flex: 0 0 100%;
                font-size: 1.1rem;
                border-bottom: 1px solid #eaeaea;
                padding-bottom: 10px;
                margin-bottom: 15px;
            }

            .f-row-x>span:nth-child(2)::before {
                content: "To SGN: ";
                font-size: 0.7rem;
                color: #999;
                display: block;
                margin-bottom: 4px;
            }

            .f-row-x>span:nth-child(3)::before {
                content: "To PQC: ";
                font-size: 0.7rem;
                color: #999;
                display: block;
                margin-bottom: 4px;
            }

            .f-row-x>span:nth-child(4)::before {
                content: "To DAD: ";
                font-size: 0.7rem;
                color: #999;
                display: block;
                margin-bottom: 4px;
            }

            .f-row-x>span:nth-child(5)::before {
                content: "To HAN: ";
                font-size: 0.7rem;
                color: #999;
                display: block;
                margin-bottom: 4px;
            }

            .f-row-x .f-via::before {
                content: "Via: ";
                font-size: 0.7rem;
                color: #999;
                display: inline-block;
                margin-right: 5px;
            }

            .f-row-x .f-via {
                flex: 0 0 100%;
                order: 10;
                margin-top: 10px;
                background: #f8f9fa;
                padding: 8px;
                border-radius: 4px;
            }

            .f-row-x>span:last-child {
                position: absolute;
                top: 1.5rem;
                right: 1.5rem;
                flex: auto;
                margin: 0;
            }
        }










        /* --- RESTORED WIREFRAME PACKAGE CARDS --- */
        .pkg-card-new {
            background: #fff;
            border: 1px solid #eaeaea;
            border-radius: 12px;
            overflow: hidden;
            transition: box-shadow 0.3s ease, transform 0.3s ease;
        }

        .pkg-card-new:hover {
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
            transform: translateY(-5px);
        }

        .pkg-img-wrap {
            position: relative;
            overflow: hidden;
            height: 260px;
        }

        .pkg-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .pkg-card-new:hover .pkg-img-wrap img {
            transform: scale(1.05);
        }

        /* Badges & Timers */
        .pkg-disc {
            position: absolute;
            top: 14px;
            left: 14px;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background: #C0392B;
            /* Client's Red */
            color: #fff;
            font-size: 14px;
            font-weight: 600;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 2;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
            line-height: 1.1;
        }

        .pkg-timer {
            position: absolute;
            bottom: 12px;
            left: 14px;
            display: flex;
            gap: 6px;
            align-items: flex-end;
            z-index: 2;
        }

        .timer-seg {
            text-align: center;
            background: rgba(31, 58, 46, 0.85);
            /* Deep Forest */
            backdrop-filter: blur(4px);
            padding: 4px 8px;
            border-radius: 4px;
        }

        .timer-seg .t-num {
            display: block;
            font-size: 16px;
            font-weight: 600;
            color: #fff;
            line-height: 1;
            font-family: var(--font-heading);
        }

        .timer-seg .t-label {
            display: block;
            font-size: 9px;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.8);
            letter-spacing: 1px;
            margin-top: 2px;
        }

        .timer-dot {
            color: #fff;
            font-weight: 700;
            margin-bottom: 5px;
        }

        /* Extra Badge (Egg Shape) */
        .pkg-extra {
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
        }

        .pkg-extra-inner {
            background: #fff;
            border: 3px solid #eaeaea;
            border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
            width: 68px;
            height: 82px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
        }

        .pkg-extra-label {
            font-size: 9px;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: var(--copper-solid);
            font-weight: 600;
        }

        .pkg-extra-pct {
            font-size: 22px;
            font-weight: 700;
            color: var(--copper-solid);
            line-height: 1;
        }

        .pkg-extra-off {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--copper-solid);
            font-weight: 600;
        }

        /* Body Content */
        .pkg-body-new {
            padding: 24px 24px 0;
        }

        .pkg-name-new {
            font-family: var(--font-heading);
            font-size: 22px;
            color: var(--deep-forest);
            margin-bottom: 12px;
            line-height: 1.2;
        }

        .pkg-inclusions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 16px;
        }

        .incl-chip {
            font-size: 11px;
            padding: 4px 10px;
            background: rgba(31, 58, 46, 0.05);
            color: var(--deep-forest);
            border-radius: 20px;
            font-weight: 500;
        }

        .pkg-location,
        .pkg-meta {
            font-size: 13px;
            color: var(--muted);
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .pkg-meta i,
        .pkg-location i {
            color: var(--copper-solid);
        }

        .pkg-divider {
            height: 1px;
            background: #eaeaea;
            margin: 16px 0;
        }

        /* Pricing Row */
        .pkg-price-row {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            padding-bottom: 20px;
        }

        .pkg-was {
            font-size: 13px;
            color: #aaa;
            text-decoration: line-through;
            margin-bottom: 2px;
        }

        .pkg-now-price {
            font-size: 32px;
            font-weight: 600;
            color: var(--copper-solid);
            font-family: var(--font-body);
            line-height: 1;
        }

        .pkg-pp-label {
            font-size: 11px;
            color: var(--muted);
            margin-top: 4px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .pkg-actions-new {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-end;
        }

        .btn-book {
            padding: 10px 24px;
            /* border: 1px solid var(--copper-solid); */
            color: var(--copper-solid);
            background: none;
            font-size: 12px;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.2s;
            border-radius: 4px;
        }

        .btn-book:hover {
            background: var(--copper-solid);
            color: #fff;
        }

        .btn-detail {
            font-size: 12px;
            color: var(--deep-forest);
            text-decoration: none;
            border-bottom: 1px solid var(--deep-forest);
            padding-bottom: 2px;
            font-weight: 500;
        }

        /* Trust Strip & Upgrade Bar */
        .pkg-trust-strip {
            display: flex;
            border-top: 1px solid #eaeaea;
            background: rgba(31, 58, 46, 0.02);
        }

        .pkg-trust-item {
            flex: 1;
            text-align: center;
            font-size: 10px;
            padding: 12px 6px;
            color: var(--deep-forest);
            border-right: 1px solid #eaeaea69;
        }

        .pkg-trust-item:last-child {
            border-right: none;
        }

        .pkg-trust-item strong {
            display: block;
            font-size: 11px;
            font-weight: 600;
            margin-top: 2px;
        }

        .pkg-upgrade-strip {
            padding: 12px 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-top: 1px solid #eaeaea;
            background: #fff;
        }

        .pkg-upgrade-strip span {
            font-size: 12px;
            color: var(--muted);
        }

        .pkg-upgrade-strip .upgrade-price {
            font-size: 15px;
            font-weight: 500;
            color: var(--deep-forest);
            font-family: var(--font-body);
        }

        .pkg-upgrade-strip .upgrade-price span {
            font-size: 10px;
            font-weight: 400;
            color: var(--muted);
            font-family: var(--font-body);
        }

        /* Most Popular Badge */
        .popular-badge {
            position: absolute;
            top: -1px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--deep-forest);
            color: #fff;
            font-size: 10px;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 4px 16px;
            z-index: 10;
            font-weight: 600;
        }









        /* --- NEW ANIMATED DISCOUNT BADGE (Top Left) --- */
        /* --- RED RIBBON DISCOUNT BADGE (Top Left) --- */
        .pkg-animated-badge {
            position: absolute;
            top: 20px;
            left: 0;
            /* Flush with the left edge */
            background: linear-gradient(135deg, #C0392B, #96281B);
            /* Rich red from your image */
            color: #ffffff;
            /* Extra padding on the right to make room for the pointed cut */
            padding: 8px 24px 8px 12px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 1;

            /* This creates the outward-pointing arrow/ribbon shape on the right edge */
            clip-path: polygon(0% 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0% 100%);

            /* Gentle breathing animation */
            animation: badge-pulse 2s infinite alternate;
            transform-origin: left center;
        }

        /* Stacked Text Styling */
        .pkg-animated-badge .badge-val {
            font-family: var(--font-heading);
            font-size: 24px;
            font-weight: 700;
            line-height: 1;
        }

        .pkg-animated-badge .badge-lbl {
            font-family: var(--font-body);
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 1px;
            margin-top: 2px;
        }

        /* The Shine Sweep Effect */
        .pkg-animated-badge::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 50%;
            height: 100%;
            background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);
            transform: skewX(-20deg);
            animation: badge-shine 4s infinite;
        }

        /* Animations */
        @keyframes badge-pulse {
            0% {
                transform: scale(1);
            }

            100% {
                transform: scale(1.05);
            }
        }

        @keyframes badge-shine {
            0% {
                left: -100%;
            }

            15% {
                left: 200%;
            }

            100% {
                left: 200%;
            }

            /* Long pause between shines */
        }

        /* The Shine Sweep Effect */
        .pkg-animated-badge::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 50%;
            height: 100%;
            background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.6), transparent);
            transform: skewX(-20deg);
            animation: badge-shine 3s infinite;
        }

        @keyframes badge-pulse {
            0% {
                transform: scale(1);
            }

            100% {
                transform: scale(1.05);
            }
        }

        @keyframes badge-shine {
            0% {
                left: -100%;
            }

            20% {
                left: 200%;
            }

            100% {
                left: 200%;
            }
        }














        /* --- CRAFT YOUR ESCAPE FORM SPLIT --- */
        @media (min-width: 768px) {
            .form-col-left {
                border-right: 1px solid #eaeaea;
                padding-right: 30px !important;
            }

            .form-col-right {
                padding-left: 30px !important;
            }
        }



























        :root {
            /* Color Palette based on image */
            --deep-forest: #1F3A2E;
            --primary-pink: #ea90ad;
            --dark-brown: #3d1a0a;

            /* Typography */
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Poppins', sans-serif;
        }

        body {
            font-family: var(--font-body);
            margin: 0;
            padding: 0;
            background-color: #f5f5f5;
            /* Fallback */
        }

        /* Helper Classes */
        .bg-deep-forest {
            background-color: var(--deep-forest);
        }

        .cursor-pointer {
            cursor: pointer;
        }

        /* ==========================================================================
   CLIENT EXACT BUTTON CSS (Enquire Now)
   ========================================================================== */
        .nav-btn {
            padding: 0.45rem 1.2rem;
            border: 1px solid #ea90ad;
            font-size: 0.80rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #3d1a0a;
            background: #ea90ad;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.2s;
            font-weight: 600;
            display: inline-block;
            border-radius: 8px;
        }

        .nav-btn:hover {
            border: 1px solid #ffffff;
            background: #ffffff;
            color: #3d1a0a;
        }

        /* ==========================================================================
   1. TOP DARK GREEN NAVBAR (Grid Based)
   ========================================================================== */
        .top-navbar {
            height: 90px;
            z-index: 4050;
            /* High z-index to stay above hero sections */
            position: sticky;
            /* Makes it stick */
            top: 0;
            /* Sticks exactly to the top */
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.212);
        }

        .navbar-grid {
            display: grid;
            /* 1fr for sides, auto for logo: forces absolute center without absolute positioning */
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: 30px;
        }

        .nav-link-item {
            color: #ffffff;
            text-decoration: none;
            font-size: 13px;
            transition: opacity 0.2s ease;
            white-space: nowrap;
        }

        .nav-link-item:hover {
            opacity: 0.7;
        }

        .menu-trigger {
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Logo sits inside the flow, preventing overlapping */
        .main-logo {
            height: 60px;
            /* Adjust this value to scale your logo appropriately */
            width: auto;
            object-fit: contain;
            display: block;
        }

        /* Responsive adjustment for Mobile/Tablet */
        @media (max-width: 991px) {
            .navbar-grid {
                grid-template-columns: auto 1fr auto;
                /* Adjusts grid for mobile layout */
                gap: 15px;
            }

            .nav-left,
            .nav-right {
                justify-content: center !important;
            }
        }

        /* ==========================================================================
   2. SECONDARY WHITE NAVBAR
   ========================================================================== */
        .secondary-navbar {
            height: 60px;
            /* z-index: 90; */
            position: relative;
        }

        .sec-nav-link {
            font-family: var(--font-heading);
            font-size: 20px;
            color: #111111;
            text-decoration: none;
            font-weight: 600;
            transition: color 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100%;
        }

        .sec-nav-link:hover {
            color: var(--deep-forest);
        }

        /* ==========================================================================
   3. SPLIT-SCREEN HERO SECTION
   ========================================================================== */
        .split-hero-section {
            width: 100%;
            /* The 70vh is now applied directly in the HTML via style tag, 
       but if you want it in CSS, uncomment the line below */
            /* height: 70vh; */
        }

        /* Left Content Column */
        .hero-content-col {
            flex: 0 0 45%;
            /* Takes up 45% of width on desktop */
            padding: 60px 80px;
        }

        .hero-content-inner {
            max-width: 600px;
            margin-left: auto;
            /* Pushes content towards the split line */
            margin-right: 0;
        }

        .breadcrumbs {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.7);
            text-transform: capitalize;
            letter-spacing: 0.5px;
        }


        .breadcrumbs a {
            color: rgba(255, 255, 255, 0.7);
            /* Matches your existing breadcrumb text color */
            text-decoration: none;
            /* Removes the default underline */
            transition: color 0.2s ease;
        }

        .breadcrumbs a:hover {
            color: #ffffff;
            /* Turns bright white when the mouse hovers over it */
            text-decoration: underline;
            /* Optional: adds underline on hover for better UX */
        }


        .hero-title {
            font-family: var(--font-body);
            /* Looks like Poppins Bold in the image */
            font-size: clamp(32px, 4vw, 40px);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.5px;
        }

        /* Per client request: Paragraph matches "Why Vietnam" size */
        .hero-paragraph {
            font-size: 15px;
            font-weight: 300;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.85);
        }

        .hero-bullets {
            font-size: 14px;
            font-weight: 300;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.85);
        }

        .hero-bullets li {
            display: flex;
            align-items: flex-start;
            margin-bottom: 10px;
        }

        .bullet-dot {
            margin-right: 12px;
            font-size: 18px;
            line-height: 1;
        }

        /* Hero Action Buttons */
        .btn-hero-solid {
            background-color: #ffffff;
            color: var(--deep-forest);
            border: 1px solid #ffffff;
            padding: 12px 24px;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: all 0.3s ease;
            border-radius: 8px;
        }

        .btn-hero-solid:hover {
            background-color: transparent;
            color: #ffffff;
        }

        .btn-hero-outline {
            background-color: transparent;
            color: #ffffff;
            border: 1px solid rgba(255, 255, 255, 0.3);
            padding: 12px 24px;
            font-size: 13px;
            font-weight: 500;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: all 0.3s ease;
            border-radius: 8px;
        }

        .btn-hero-outline:hover {
            border-color: #ffffff;
            background-color: rgba(255, 255, 255, 0.1);
        }

        /* Right Image Column */
        .hero-image-col {
            flex: 0 0 55%;
            /* Takes up 55% of width on desktop */
            min-height: 400px;
            /* Ensures it doesn't collapse on mobile */
        }

        /* Responsive Adjustments for Mobile/Tablet */
        @media (max-width: 991px) {
            .split-hero-section {
                flex-direction: column !important;
                height: auto !important;
                min-height: auto !important;
            }

            .split-hero-section .row {
                height: auto !important;
            }

            .split-hero-section [class*="col-lg-7"] {
                height: auto !important;
                padding-top: 3.5rem !important;
                padding-bottom: 3.5rem !important;
            }

            .split-hero-section [class*="col-lg-5"] {
                height: 280px !important;
                /* Elegant picture banner height on mobile */
            }

            .hero-content-col {
                padding: 50px 30px;
            }

            .hero-content-inner {
                margin: 0 auto;
                /* Center content on mobile */
            }

            .sec-nav-link {
                font-size: 14px;
                padding: 10px 0;
            }

            .secondary-navbar {
                height: auto;
                padding: 10px 0;
            }
        }






        /* --- UPDATED CLIENT FLIGHT CHIPS --- */
        .flight-chip.client-chip {
            background-color: #f1f3f5;
            color: #495057;
            border: 1px solid #e9ecef;
            border-radius: 20px;
            padding: 5px 12px;
            font-weight: 500;
            font-size: 11px;
            letter-spacing: 0.5px;
        }




        /* --- VIEW MORE FLIGHTS BUTTON --- */
        .hidden-flight-row {
            display: none !important;
        }

        .btn-view-more-flights {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 8px 24px;
            background-color: transparent;
            color: var(--copper-solid);
            border: 1px solid var(--copper-solid);
            border-radius: 4px;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-view-more-flights:hover {
            background-color: var(--copper-solid);
            color: #ffffff;
        }










        /* --- UPDATED PACKAGE BUTTONS (CLIENT SPEC) --- */
        .pkg-actions-new {
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: stretch;
            /* Forces both buttons to be the exact same width */
            min-width: 150px;
        }

        .btn-book {
            padding: 10px 16px;
            /* border: 1.5px solid #ea90ad; */
            /* Pink border */
            color: #3d1a0a;
            background: #ffffff;
            font-size: 12px;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            border-radius: 4px;
            text-align: center;
        }

        .btn-book:hover {
            background: #ea90ad;
            /* Pink hover */
            color: #3d1a0a;
        }

        .btn-detail {
            padding: 10px 16px;
            border: 1.5px solid var(--deep-forest);
            /* Green border */
            color: var(--deep-forest);
            background: #ffffff;
            font-size: 12px;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-decoration: none;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            border-radius: 4px;
            text-align: center;
        }

        .btn-detail:hover {
            background: var(--copper-solid);
            /* Green hover */
            color: #ffffff;
        }







        /* --- SCENIC PLACES SECTION --- */
        .sc-arrow-new:hover {
            background: var(--copper-solid) !important;
        }

        @media (max-width: 768px) {
            .scenic-carousel-new {
                height: 300px !important;
            }

            .sc-arrow-new {
                width: 36px !important;
                height: 36px !important;
            }

            .scenic-name-new h3 {
                font-size: 20px !important;
            }
        }




        /* --- BULLETPROOF NAVBAR Z-INDEX FIX --- */
        .top-navbar,
        .header-wrapper,
        #main-header {
            position: fixed;
            /* Or sticky, depending on your layout */
            width: 100%;
            z-index: 9990 !important;
            /* Forces the main navbar to stay above everything */
        }

        .secondary-navbar {
            position: relative;
            z-index: 9989 !important;
            /* Keeps the white secondary bar right below the main one */
        }

        /* Ensure the mobile offcanvas menu still sits above the navbar */
        .luxury-offcanvas {
            z-index: 9999 !important;
        }















































        /* ==========================================================================
   CLIENT GLOBAL UPDATE: PINK HOVER STATES (ITEM 5)
   ========================================================================== */
        :root {
            --primary-pink: #ea90ad;
            --dark-brown: #3d1a0a;
        }

        /* Buttons */
        .btn-primary-copper:hover,
        .btn-secondary-copper:hover,
        .btn-outline-copper:hover {
            background: var(--primary-pink) !important;
            border-color: var(--primary-pink) !important;
            color: var(--dark-brown) !important;
            box-shadow: 0 8px 20px rgba(234, 144, 173, 0.3) !important;
        }

        /* Remove the old copper shine animations on hover for these buttons */
        .btn-primary-copper:hover::before,
        .btn-secondary-copper:hover::before {
            display: none !important;
        }

        /* Text Links */
        .nav-link-simple:hover,
        .bottom-nav-bar a:hover,
        .sec-nav-link:hover,
        .nav-learn-item:hover,
        .dest-item:hover,
        .breadcrumbs a:hover,
        .footer-navigation a:hover,
        .social-links a:hover {
            color: var(--primary-pink) !important;
        }

        /* Social & Circular Buttons */
        .social-links a:hover {
            background-color: var(--primary-pink) !important;
            border-color: var(--primary-pink) !important;
            color: var(--dark-brown) !important;
        }

        .circle-btn-read:hover {
            background: var(--primary-pink) !important;
            color: var(--dark-brown) !important;
        }

        /* Luxury Arrow Links */
        .btn-copper-luxury:hover {
            color: var(--primary-pink) !important;
        }

        .btn-copper-luxury:hover::after {
            background-color: var(--primary-pink) !important;
        }

        /* Service Tabs */
        .tab-item:hover,
        .tab-item.active {
            color: var(--primary-pink) !important;
        }

        .tab-item:hover .tab-icon,
        .tab-item.active .tab-icon {
            stroke: var(--primary-pink) !important;
        }

        .tab-item::after {
            background-color: var(--primary-pink) !important;
        }
























































        /* ==========================================================================
   GROUP TOURS PAGE CSS
   Prefixed with .gt- to avoid conflicts with index.html styles
   Uses Asia Travels variables from style.css
   ========================================================================== */

        .gt-reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 0.65s ease, transform 0.65s ease;
        }

        .gt-reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .gt-d1 {
            transition-delay: .12s;
        }

        .gt-d2 {
            transition-delay: .22s;
        }

        .gt-d3 {
            transition-delay: .32s;
        }

        .gt-d4 {
            transition-delay: .42s;
        }

        .gt-d5 {
            transition-delay: .52s;
        }

        @keyframes gt-gA {
            from {
                transform: translate(0, 0);
            }

            to {
                transform: translate(60px, 50px);
            }
        }

        @keyframes gt-gB {
            from {
                transform: translate(0, 0);
            }

            to {
                transform: translate(-50px, -60px);
            }
        }




        /* --- MISSING REVEAL ANIMATIONS --- */
        @keyframes fadeUp {
            from {
                opacity: 0;
                transform: translateY(22px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }



        .gt-container {
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem;
        }

        /* HERO */
        .gt-hero {
            position: relative;
            background: var(--deep-forest);
            overflow: hidden;
            padding: 3.2rem 0 3rem;
        }

        .gt-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: repeating-linear-gradient(-45deg, transparent, transparent 60px, rgba(255, 255, 255, 0.013) 60px, rgba(255, 255, 255, 0.013) 120px);
            pointer-events: none;
        }

        .gt-hero-wm {
            position: absolute;
            right: -0.02em;
            top: 50%;
            transform: translateY(-50%);
            font-family: var(--font-heading);
            font-size: clamp(100px, 14vw, 200px);
            font-weight: 600;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 2px rgba(198, 139, 89, 0.2);
            user-select: none;
            pointer-events: none;
            letter-spacing: -0.04em;
        }

        .gt-hero-glow {
            position: absolute;
            border-radius: 50%;
            filter: blur(100px);
            pointer-events: none;
        }

        .gt-glow-a {
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(198, 139, 89, 0.15) 0%, transparent 70%);
            top: -80px;
            right: 100px;
            animation: gt-gA 16s ease-in-out infinite alternate;
        }

        .gt-glow-b {
            width: 220px;
            height: 220px;
            background: radial-gradient(circle, rgba(31, 58, 46, 0.18) 0%, transparent 70%);
            bottom: -60px;
            left: 0;
            animation: gt-gB 20s ease-in-out infinite alternate;
        }

        .gt-hero-inner {
            position: relative;
            z-index: 2;
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3rem;
            flex-wrap: wrap;
        }

        .gt-hero-eyebrow {
            font-size: 0.6rem;
            letter-spacing: 0.38em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 0.7rem;
            opacity: 0;
            animation: fadeUp 0.5s ease 0.1s forwards;
        }

        .gt-hero-title {
            font-family: var(--font-heading);
            font-size: clamp(1.9rem, 3vw, 3rem);
            font-weight: 300;
            line-height: 1.08;
            letter-spacing: -0.02em;
            color: #fff;
            opacity: 0;
            animation: fadeUp 0.6s ease 0.2s forwards;
        }

        .gt-hero-title em {
            font-style: italic;
            color: var(--copper-solid);
        }

        .gt-hero-left {
            display: flex;
            flex-direction: column;
        }

        .gt-hero-ctas {
            display: flex;
            gap: 0.8rem;
            flex-wrap: wrap;
            opacity: 0;
            animation: fadeUp 0.5s ease 0.3s forwards;
        }

        /* Buttons */
        .gt-btn-gold {
            padding: .9rem 2.2rem;
            background: var(--primary-pink);
            color: var(--dark-brown);
            font-size: 0.80rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            border-radius: 5px;
            text-decoration: none;
            transition: background .25s, transform .2s;
        }

        .gt-btn-gold:hover {
            background: #ffffff;
            transform: translateY(-2px);
        }

        .gt-btn-ghost {
            padding: .9rem 2.2rem;
            background: transparent;
            color: #fff;
            font-size: 0.72rem;
            font-weight: 500;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            border: 1px solid var(--primary-pink);
            border-radius: 5px;
            text-decoration: none;
            transition: border-color .25s, color .25s, background .25s, transform .2s;
        }

        .gt-btn-ghost:hover {
            background: var(--primary-pink);
            color: var(--dark-brown);
            transform: translateY(-2px);
        }

        /* STRIP */
        .gt-strip {
            background: var(--deep-forest);
            padding: 1.55rem 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .gt-strip-inner {
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem;
            display: flex;
            align-items: center;
            gap: 2rem;
            flex-wrap: wrap;
            justify-content: center;
        }

        .gt-strip-label {
            font-size: 0.57rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .gt-strip-sep {
            width: 1px;
            height: 22px;
            background: rgba(255, 255, 255, 0.14);
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            margin: 0;
        }

        .gt-strip-item {
            display: flex;
            align-items: center;
            gap: 8px;
            color: rgba(255, 255, 255, 0.85);
            font-size: 0.84rem;
            white-space: nowrap;
            margin: 0;
        }







        /* --- MARQUEE STRIP ANIMATION --- */
        .gt-marquee-container {
            overflow: hidden;
            white-space: nowrap;
            background: var(--deep-forest);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            display: flex;
            width: 100%;
        }

        .gt-marquee-track {
            display: flex;
            width: max-content;
            /* Adjust '30s' to make the scroll faster or slower */
            animation: marquee-scroll 30s linear infinite;
        }

        /* Pause the marquee when the user hovers over it */
        .gt-marquee-track:hover {
            animation-play-state: paused;
        }

        .gt-marquee-content {
            display: flex;
            align-items: center;
            gap: 2rem;
            padding-right: 2rem;
            /* Ensures consistent spacing where the loops connect */
        }

        /* The infinite loop keyframe */
        @keyframes marquee-scroll {
            0% {
                transform: translateX(0);
            }

            100% {
                /* Scrolls exactly 1/2 of the track (since we have 2 identical sets) */
                transform: translateX(-50%);
            }
        }

        /* Make sure the existing items stay vertically aligned inside the new flex layout */
        .gt-strip-label,
        .gt-strip-item,
        .gt-strip-sep {
            display: inline-flex;
            align-items: center;
            margin: 0;
        }










        /* SECTIONS */
        .gt-eyebrow {
            font-size: 0.62rem;
            letter-spacing: 0.4em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 1rem;
            display: block;
        }

        .gt-sec-title {
            font-family: var(--font-heading);
            font-size: clamp(2.2rem, 3.8vw, 3.8rem);
            font-weight: 300;
            line-height: 1.1;
            letter-spacing: -0.02em;
            color: var(--deep-forest);
        }

        .gt-sec-title strong {
            font-weight: 600;
        }

        .gt-sec-title em {
            font-style: italic;
            color: var(--copper-solid);
        }

        /* GROUP PANELS */
        .gt-groups-sec {
            background: var(--soft-beige);
            padding: 6rem 0 7rem;
        }

        .gt-groups-header {
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem 4rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: end;
        }

        .gt-groups-header-right p {
            font-size: 0.98rem;
            color: var(--muted);
            line-height: 1.9;
            border-top: 1px solid var(--border);
            padding-top: 1.3rem;
        }

        .gt-group-panels {
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem;
        }

        .gt-group-panel {
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-bottom: none;
            background: var(--deep-forest);
            overflow: hidden;
            transition: box-shadow 0.3s;
        }

        .gt-group-panel:first-child {
            border-radius: 6px 6px 0 0;
        }

        .gt-group-panel:last-child {
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 0 0 6px 6px;
        }

        .gt-group-panel.open {
            box-shadow: 0 8px 40px rgba(30, 77, 58, 0.13);
            position: relative;
            z-index: 2;
        }

        /* TRIGGER */
        .gt-gp-trigger {
            display: grid;
            grid-template-columns: 64px 1fr auto;
            align-items: center;
            gap: 2rem;
            padding: 1.9rem 2.5rem;
            cursor: pointer;
            border-left: 3px solid transparent;
            transition: background .22s, border-color .22s;
        }

        .gt-gp-trigger:hover {
            background: rgba(255, 255, 255, 0.06);
            /* border-left-color: var(--copper-solid); */
        }

        .gt-group-panel.open .gt-gp-trigger {
            background: #13241c;
            /* border-left-color: var(--copper-solid); */
        }

        .gt-gp-icon {
            width: 52px;
            height: 52px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            flex-shrink: 0;
            transition: background .22s;
        }

        .gt-gp-info {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .gt-gp-badge {
            font-size: 0.57rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 0.1rem;
            opacity: 0.75;
        }

        .gt-gp-name {
            font-family: var(--font-heading);
            font-size: 1.75rem;
            font-weight: 400;
            color: #fff;
            line-height: 1;
        }

        .gt-gp-tagline {
            font-size: 0.88rem;
            color: rgba(255, 255, 255, 0.4);
        }

        .gt-gp-right {
            display: flex;
            align-items: center;
            gap: 1.4rem;
            flex-shrink: 0;
        }

        .gt-gp-pax {
            text-align: center;
            padding: 0.6rem 1.1rem;
            border: 1px solid rgba(198, 139, 89, 0.35);
            border-radius: 4px;
            background: rgba(198, 139, 89, 0.1);
        }

        .gt-gp-pax-num {
            font-family: var(--font-heading);
            font-size: 1.55rem;
            color: var(--copper-solid);
            line-height: 1;
        }

        .gt-gp-pax-lbl {
            font-size: 0.54rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--copper-solid);
            opacity: 0.6;
        }

        .gt-gp-arrow {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.25);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.6);
            transition: transform .35s ease, background .22s, color .22s;
            flex-shrink: 0;
        }

        .gt-group-panel.open .gt-gp-arrow {
            transform: rotate(180deg);
            background: var(--copper-solid);
            border-color: var(--copper-solid);
            color: #fff;
        }

        /* BODY */
        .gt-gp-body {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
        }

        .gt-group-panel.open .gt-gp-body {
            max-height: 5000px;
        }

        .gt-gp-body-inner {
            display: flex;
            flex-direction: column;
            border-top: 2px solid rgba(255, 255, 255, 0.08);
            background-color: var(--deep-forest);
        }

        .gt-gp-close {
            display: none;
            position: absolute;
            top: 1rem;
            right: 1.4rem;
            z-index: 20;
            align-items: center;
            gap: 0.4rem;
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.25);
            border-radius: 30px;
            padding: 0.38rem 0.9rem;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.66rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            transition: background .2s;
        }

        .gt-gp-close:hover {
            background: var(--primary-pink);
            color: var(--dark-brown);
        }

        .gt-group-panel.open .gt-gp-close {
            display: flex;
        }

        /* FEATURE CARDS */
        .gt-gp-feat-section {
            background: var(--deep-forest);
            padding: 2.2rem 2.5rem 2rem;
        }

        .gt-gp-sidebar-label {
            font-size: 0.62rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.38);
            margin-bottom: 1.5rem;
            display: block;
        }

        .gt-gp-feat-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
            /* background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08); */
            border-radius: 5px;
            overflow: hidden;
        }

        .gt-gp-feat-card {
            background: #13241c;
            overflow: hidden;
            transition: background .25s;
            display: flex;
            flex-direction: column;
            min-height: 120px;
        }

        .gt-gp-feat-card:hover {
            background: #1a3025;
        }

        .gt-gf-img {
            height: 150px;
            overflow: hidden;
            position: relative;
            flex-shrink: 0;
        }

        .gt-gf-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .5s ease;
            display: block;
            filter: brightness(0.8);
        }

        .gt-gp-feat-card:hover .gt-gf-img img {
            transform: scale(1.06);
            filter: brightness(0.9);
        }

        .gt-gf-img-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(31, 58, 46, 0.85) 0%, rgba(31, 58, 46, 0.1) 60%);
        }

        .gt-gf-body {
            padding: 1.5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 0.5rem;
            flex: 1;
        }

        .gt-gf-head {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .gt-gf-icon {
            font-size: 1rem;
            line-height: 1;
            flex-shrink: 0;
        }

        .gt-gf-title {
            font-size: 0.9rem;
            font-weight: 600;
            color: #fff;
            line-height: 1.2;
        }

        .gt-gf-desc {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.52);
            line-height: 1.7;
            margin-top: 0.1rem;
        }

        .gt-gp-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 1.4rem;
            padding-top: 1.2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
        }

        .gt-gp-pill {
            background: rgba(198, 139, 89, 0.13);
            border: 1px solid rgba(198, 139, 89, 0.22);
            color: var(--copper-solid);
            font-size: 0.6rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 0.28rem 0.7rem;
            border-radius: 3px;
        }

        /* DESTINATIONS */
        .gt-gp-destinations {
            background: var(--deep-forest);
            padding: 2.4rem 2.5rem;
        }

        .gt-gp-dest-title {
            font-size: 0.6rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.8rem;
        }

        .gt-gp-dest-title::after {
            content: '';
            flex: 1;
            height: 1px;
            background: rgba(198, 139, 89, 0.3);
        }

        /* DESTINATION GRID */
        .gt-dest-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0.75rem;
        }

        .gt-dest-card {
            background: #13241c;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 5px;
            overflow: hidden;
            cursor: pointer;
            transition: transform .28s, box-shadow .28s, border-color .28s;
            position: relative;
        }

        .gt-dest-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 26px rgba(0, 0, 0, 0.3);
            border-color: rgba(198, 139, 89, 0.4);
        }

        .gt-dest-card-img {
            height: 96px;
            overflow: hidden;
            position: relative;
            background: #13241c;
        }

        .gt-dest-card-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .45s ease;
            display: block;
        }

        .gt-dest-card:hover .gt-dest-card-img img {
            transform: scale(1.07);
        }

        .gt-dest-card-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(19, 36, 28, 0.75) 0%, transparent 55%);
        }

        .gt-dest-card-flag {
            position: absolute;
            top: 0.45rem;
            left: 0.45rem;
            font-size: 1.05rem;
            line-height: 1;
        }

        .gt-dest-card-info {
            padding: 0.7rem 0.75rem;
        }

        .gt-dest-card-country {
            font-family: var(--font-heading);
            font-size: 1.08rem;
            color: #fff;
            line-height: 1;
            margin-bottom: 0.13rem;
        }

        .gt-dest-card-cities {
            font-size: 0.72rem;
            color: rgba(255, 255, 255, 0.42);
            line-height: 1.5;
        }

        /* SEE MORE / COLLAPSE DESTINATIONS */
        .gt-dest-see-more {
            grid-column: 1/-1;
            display: flex;
            justify-content: center;
            margin-top: 0.25rem;
        }

        .gt-dest-see-more-btn {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: transparent;
            border: 1px solid rgba(198, 139, 89, 0.35);
            color: var(--copper-solid);
            font-size: 0.63rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            padding: 0.6rem 1.5rem;
            border-radius: 30px;
            cursor: pointer;
            transition: background .22s, color .2s;
        }

        .gt-dest-see-more-btn:hover {
            background: var(--primary-pink);
            border-color: var(--primary-pink);
            color: var(--dark-brown);
        }

        .gt-dest-collapse-wrap {
            display: flex;
            justify-content: center;
            margin-top: 1rem;
        }

        .gt-dest-collapse-btn {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.45);
            font-size: 0.6rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            padding: 0.45rem 1.1rem;
            border-radius: 30px;
            cursor: pointer;
            transition: background .22s;
        }

        .gt-dest-collapse-btn:hover {
            background: rgba(255, 255, 255, 0.06);
            color: #fff;
        }

        .gt-gp-dest-cta {
            margin-top: 2rem;
            padding: 1.5rem 2rem;
            background: rgba(255, 255, 255, 0.03);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3rem;
        }

        .gt-gp-dest-cta-text {
            flex: 1;
            font-size: 0.95rem;
            color: rgba(255, 255, 255, 0.6);
            line-height: 1.7;
        }

        .gt-gp-dest-cta-text strong {
            color: #fff;
        }

        .gt-gp-cta-btn {
            background: var(--primary-pink);
            color: var(--dark-brown);
            font-size: 0.64rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 0.75rem 1.5rem;
            border-radius: 4px;
            text-decoration: none;
            transition: background .22s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .gt-gp-cta-btn:hover {
            background: #e0607f;
            color: #fff;
        }







        /* ==========================================================================
   UI IMPROVEMENTS: LUXURY CARD ACCORDION
   ========================================================================== */

        /* Separate the accordion panels into floating cards */
        .gt-group-panels {
            display: flex;
            flex-direction: column;
            gap: 16px;
            padding-bottom: 80px;
        }

        .gt-group-panel {
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
            border-radius: 8px !important;
            /* Premium rounded corners */
            background: #182d24 !important;
            /* Slightly lighter than deep-forest for depth */
            margin-bottom: 0 !important;
            transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
        }

        /* Open state elevation */
        .gt-group-panel.open {
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2) !important;
            border-color: var(--primary-pink) !important;
            /* Client's pink highlight on open */
            transform: scale(1.01);
            /* Slight pop-out effect */
        }

        .gt-group-panel.open .gt-gp-trigger {
            background: transparent !important;
            border-left-color: transparent !important;
        }

        /* Refine the inner feature cards (Add rounded corners to match site) */
        .gt-gp-feat-card {
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.05);
            background: #11221b;
        }

        .gt-gf-img {
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* Upgrade the Pax Counter */
        .gt-gp-pax {
            background: rgba(255, 255, 255, 0.05) !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
            border-radius: 8px !important;
        }

        .gt-gp-pax-num {
            color: #ffffff !important;
        }

        .gt-gp-pax-lbl {
            color: rgba(255, 255, 255, 0.6) !important;
        }

        /* Hover effects for the trigger row */
        .gt-gp-trigger {
            border-radius: 16px;
        }

        .gt-gp-trigger:hover .gt-gp-arrow {
            background: var(--primary-pink);
            border-color: var(--primary-pink);
            color: var(--dark-brown);
        }

        /* Make the pills look cleaner */
        .gt-gp-pill {
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: rgba(255, 255, 255, 0.8);
            border-radius: 20px;
            padding: 6px 12px;
        }

        /* CTA Button inside the panel */
        .gt-gp-cta-btn {
            border-radius: 8px;
        }









        /* ==========================================================================
   NEW CLIENT LAYOUT: TRIGGER HERO & FEATURE STRIPS
   ========================================================================== */

        /* Remove old padding to accommodate full-width images */
        .gt-group-panel .gt-gp-trigger {
            display: flex;
            flex-direction: column;
            padding: 0 !important;
            gap: 0;
            cursor: pointer;
            border-left: none;
            transition: none;
            border-radius: 16px 16px 0 0 !important;
            overflow: hidden;
        }

        .gt-group-panel.open .gt-gp-trigger {
            background: transparent !important;
        }

        /* The Internal Panel Hero Image */
        .gt-gp-hero {
            position: relative;
            height: 220px;
            overflow: hidden;
            flex-shrink: 0;
            width: 100%;
        }

        .gt-gp-hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            display: block;
            transition: transform 0.7s ease;
        }

        .gt-group-panel:hover .gt-gp-hero img {
            transform: scale(1.04);
        }

        .gt-gp-hero::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to right, rgba(6, 26, 15, 0.9) 0%, rgba(6, 26, 15, 0.7) 35%, rgba(6, 26, 15, 0.2) 65%, transparent 100%);
        }

        .gt-gp-hero-content {
            position: absolute;
            inset: 0;
            z-index: 2;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 1.5rem 3rem;
            max-width: 650px;
        }

        .gt-gp-hero-title {
            font-family: var(--font-heading);
            font-size: clamp(1.8rem, 3vw, 2.4rem);
            font-weight: 600;
            color: #fff;
            line-height: 1.1;
            letter-spacing: -0.01em;
            margin-bottom: 0.5rem;
        }

        .gt-gp-hero-sub {
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.85);
            letter-spacing: 0.02em;
            margin-bottom: 1.2rem;
            line-height: 1.5;
            font-weight: 300;
        }

        .gt-gp-hero-sub span {
            margin: 0 6px;
            color: var(--copper-solid);
            font-weight: bold;
        }

        .gt-gp-hero-cta {
            display: inline-flex;
            align-items: center;
            background: var(--primary-pink);
            color: var(--dark-brown);
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.6rem 1.2rem;
            border-radius: 4px;
            border: none;
            cursor: pointer;
            width: fit-content;
            transition: background 0.3s;
        }

        .gt-gp-hero-cta:hover {
            background: #e0607f;
            color: #fff;
        }

        /* The 4-Column Feature Strip */
        .gt-gp-feat-strip {
            background: var(--soft-beige);
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            width: 100%;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        }

        .gt-gp-feat-strip-item {
            padding: 0.8rem 1rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.3rem;
            border-right: 1px solid rgba(0, 0, 0, 0.05);
            text-align: center;
        }

        .gt-gp-feat-strip-item:last-child {
            border-right: none;
        }

        .gt-gp-feat-strip-text .fs-label {
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--deep-forest);
            line-height: 1.3;
        }

        .gt-gp-feat-strip-text .fs-sub {
            font-size: 0.55rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #888;
            margin-top: 2px;
        }

        /* The Bottom Trigger Bar (Icon, Name, Pax) */
        .gt-gp-trigger-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
            padding: 0.8rem 2.5rem;
            background: #11221b;
            width: 100%;
        }

        .gt-group-panel.open .gt-gp-trigger-bar {
            background: #0a1511;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .gt-gp-trigger-bar-left {
            display: flex;
            align-items: center;
            gap: 1.2rem;
            min-width: 0;
            flex: 1;
        }

        .gt-gp-trigger-bar-right {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-shrink: 0;
        }

        .gt-gp-explore-btn {
            display: flex;
            align-items: center;
            gap: 1.2rem;
            background: transparent;
            color: #fff;
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            padding: 0.35rem 0.35rem 0.35rem 1.4rem;
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 50px;
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.3s ease;
        }

        .gt-gp-explore-btn:hover {
            border-color: var(--primary-pink);
            color: var(--primary-pink);
        }

        /* Mobile Responsiveness for new internal elements */
        @media(max-width: 900px) {
            .gt-gp-feat-strip {
                grid-template-columns: repeat(2, 1fr);
            }

            .gt-gp-feat-strip-item:nth-child(2) {
                border-right: none;
            }

            .gt-gp-feat-strip-item:nth-child(3),
            .gt-gp-feat-strip-item:nth-child(4) {
                border-top: 1px solid rgba(0, 0, 0, 0.05);
            }

            .gt-gp-hero-content {
                padding: 2rem;
            }

            .gt-gp-trigger-bar {
                padding: 1rem 1.5rem;
            }
        }

        @media(max-width: 620px) {
            .gt-gp-hero {
                min-height: 280px;
                height: 300px;
            }

            .gt-gp-hero-title {
                font-size: 2.2rem;
            }

            .gt-gp-pax {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                padding: 0.4rem 0.8rem;
            }

            .gt-gp-pax-num {
                font-size: 1.2rem;
            }

            .gt-gp-pax-lbl {
                font-size: 0.5rem;
            }

            .gt-gp-explore-btn {
                display: flex;
                font-size: 0.58rem;
                padding: 0.35rem 0.35rem 0.35rem 1rem;
                gap: 0.6rem;
            }

            .gt-gp-trigger-bar {
                padding: 1rem;
            }
        }











        /* INCLUSIONS DEEP */
        .gt-incl-section {
            background: #0f1f18;
            background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.8'%3E%3Cpath d='M50 50 Q 70 30, 90 50 Q 70 70, 50 50 M70 35 L 70 65' transform='rotate(45 70 50)'/%3E%3Cpath d='M220 60 Q 230 50, 240 60 Q 230 70, 220 60'/%3E%3Cpath d='M30 250 L 60 200 L 90 250 M50 230 L 70 230'/%3E%3Cg transform='translate(250, 250)'%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='0' cy='-6' r='2'/%3E%3Ccircle cx='0' cy='6' r='2'/%3E%3Ccircle cx='-6' cy='0' r='2'/%3E%3Ccircle cx='6' cy='0' r='2'/%3E%3C/g%3E%3Ccircle cx='150' cy='150' r='1'/%3E%3Ccircle cx='100' cy='120' r='0.5'/%3E%3Ccircle cx='200' cy='180' r='0.5'/%3E%3Cpath d='M150 280 L 150 240 M140 270 L 150 255 L 160 270 M135 260 L 150 245 L 165 260'/%3E%3Cpath d='M200 20 Q 210 10, 220 20'/%3E%3Cpath d='M80 130 Q 85 120, 90 130 Q 85 140, 80 130' transform='rotate(-20 85 130)'/%3E%3C/g%3E%3C/svg%3E");
            padding: 8rem 0;
            position: relative;
        }

        .gt-incl-inner {
            max-width: 1380px;
            margin: 0 auto;
            padding: 0 5rem;
        }

        .gt-incl-header {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: end;
            margin-bottom: 4rem;
        }

        .gt-incl-header-right {
            font-size: 0.84rem;
            color: rgba(255, 255, 255, 0.47);
            line-height: 1.9;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            padding-top: 1.2rem;
        }

        .gt-incl-cards {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            background: transparent;
        }

        .gt-incl-card {
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            overflow: hidden;
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.3s, background 0.3s;
            display: flex;
            flex-direction: column;
        }

        .gt-incl-card:hover {
            background: rgba(255, 255, 255, 0.06);
            border-color: var(--primary-pink);
            transform: translateY(-10px);
        }

        .gt-ic-img-wrap {
            width: 100%;
            height: 200px;
            overflow: hidden;
            position: relative;
        }

        .gt-ic-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s ease;
        }

        .gt-incl-card:hover .gt-ic-img-wrap img {
            transform: scale(1.15);
        }

        .gt-ic-content {
            padding: 2.5rem 2.2rem;
            position: relative;
            flex: 1;
        }

        .gt-ic-icon-box {
            width: 56px;
            height: 56px;
            background: #0f1f18;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(198, 139, 89, 0.4);
            position: absolute;
            top: 172px;
            /* 200px (img height) - 28px (half overlap) */
            left: 2.2rem;
            z-index: 5;
            transition: all 0.3s ease;
        }

        .gt-incl-card:hover .gt-ic-icon-box {
            transform: scale(1.1);
            border-color: var(--primary-pink);
            background: #182d24;
        }

        .gt-ic-num {
            position: absolute;
            top: 10px;
            right: 20px;
            font-family: var(--font-heading);
            font-size: 4.5rem;
            font-weight: 600;
            color: #fff;
            opacity: 0.12;
            line-height: 1;
            z-index: 2;
            pointer-events: none;
        }

        .gt-ic-icon {
            font-size: 2.1rem;
            margin-bottom: 0.9rem;
            display: block;
        }

        .gt-ic-title {
            font-size: 1.02rem;
            font-weight: 500;
            color: #fff;
            margin-bottom: 0.55rem;
        }

        .gt-ic-desc {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.55);
            line-height: 1.85;
        }

        /* HOW IT WORKS */
        .gt-how-section {
            background: var(--soft-beige);
            padding: 7rem 0;
        }

        .gt-how-grid {
            max-width: 1380px;
            margin: 3.5rem auto 0;
            padding: 0 5rem;
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            border: 1px solid rgba(0, 0, 0, 0.08);
            border-radius: 5px;
            overflow: hidden;
        }

        .gt-how-step {
            padding: 2.2rem 1.7rem;
            border-right: 1px solid rgba(0, 0, 0, 0.08);
            background: #fff;
            transition: background .28s;
        }

        .gt-how-step:last-child {
            border-right: none;
        }

        .gt-how-step:hover {
            background: rgba(31, 58, 46, 0.04);
        }

        .gt-how-step-n {
            font-family: var(--font-heading);
            font-size: 3rem;
            color: rgba(198, 139, 89, 0.15);
            line-height: 1;
            margin-bottom: 0.9rem;
        }

        .gt-how-step-icon {
            font-size: 1.5rem;
            margin-bottom: 0.65rem;
            display: block;
        }

        .gt-how-step-title {
            font-size: 0.96rem;
            font-weight: 500;
            color: var(--deep-forest);
            margin-bottom: 0.38rem;
        }

        .gt-how-step-desc {
            font-size: 0.85rem;
            color: #666;
            line-height: 1.8;
        }

        /* TESTIMONIALS */
        .gt-t-section {
            background: #fff;
            padding: 7rem 0;
        }

        .gt-t-grid {
            max-width: 1380px;
            margin: 3.5rem auto 0;
            padding: 0 5rem;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.4rem;
        }

        .gt-t-card {
            background: var(--soft-beige);
            border: 1px solid rgba(0, 0, 0, 0.05);
            border-radius: 5px;
            padding: 2rem;
            transition: transform .3s, box-shadow .3s;
            position: relative;
        }

        .gt-t-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 30px rgba(30, 77, 58, 0.08);
        }

        .gt-t-type {
            position: absolute;
            top: 1.2rem;
            right: 1.2rem;
            font-size: 0.56rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--copper-solid);
            background: #fff;
            padding: .28rem .65rem;
            border-radius: 3px;
            border: 1px solid rgba(198, 139, 89, 0.3);
        }

        .gt-t-qm {
            font-family: var(--font-heading);
            font-size: 4.5rem;
            font-weight: 600;
            color: rgba(31, 58, 46, 0.2);
            line-height: .7;
            margin-bottom: 0.9rem;
        }

        .gt-t-text {
            font-size: 0.96rem;
            color: #444;
            line-height: 1.85;
            margin-bottom: 1.4rem;
            font-style: italic;
        }

        .gt-t-author {
            display: flex;
            align-items: center;
            gap: .75rem;
        }

        .gt-t-avatar {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: var(--deep-forest);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: .68rem;
            color: var(--copper-solid);
            flex-shrink: 0;
        }

        .gt-t-name {
            font-size: .9rem;
            font-weight: 500;
            color: var(--deep-forest);
        }

        .gt-t-meta {
            font-size: .77rem;
            color: #888;
        }

        /* CTA */
        .gt-cta-section {
            background: var(--deep-forest);
            padding: 8rem 0;
            position: relative;
            overflow: hidden;
            text-align: center;
        }

        .gt-cta-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: repeating-linear-gradient(-45deg, transparent, transparent 60px, rgba(255, 255, 255, 0.013) 60px, rgba(255, 255, 255, 0.013) 120px);
        }

        .gt-cta-wm {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            font-family: var(--font-heading);
            font-size: clamp(140px, 25vw, 380px);
            font-weight: 600;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 2px rgba(198, 139, 89, 0.1);
            user-select: none;
            pointer-events: none;
        }

        .gt-cta-inner {
            position: relative;
            z-index: 2;
            max-width: 660px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .gt-cta-eyebrow {
            font-size: 0.62rem;
            letter-spacing: 0.4em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 1.4rem;
            display: block;
        }

        .gt-cta-title {
            font-family: var(--font-heading);
            font-size: clamp(2.8rem, 5vw, 4.8rem);
            line-height: 1.05;
            color: #fff;
            margin-bottom: 1.6rem;
        }

        .gt-cta-title em {
            font-style: italic;
            color: var(--copper-solid);
        }

        .gt-cta-sub {
            font-size: .88rem;
            color: rgba(255, 255, 255, 0.52);
            line-height: 1.85;
            margin-bottom: 2.8rem;
        }

        .gt-cta-btns {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .gt-cb-gold {
            display: flex;
            align-items: center;
            gap: .5rem;
            padding: .95rem 2.2rem;
            background: var(--primary-pink);
            color: var(--dark-brown);
            font-size: .72rem;
            font-weight: 600;
            text-transform: uppercase;
            border-radius: 5px;
            text-decoration: none;
            transition: background .25s, transform .2s;
        }

        .gt-cb-gold:hover {
            background: #e0607f;
            color: #fff;
            transform: translateY(-2px);
        }

        .gt-cb-ghost {
            padding: .95rem 2.2rem;
            background: transparent;
            color: #fff;
            font-size: .72rem;
            font-weight: 500;
            text-transform: uppercase;
            border: 1px solid var(--primary-pink);
            border-radius: 5px;
            text-decoration: none;
            transition: background .25s, transform .2s;
        }

        .gt-cb-ghost:hover {
            background: var(--primary-pink);
            color: var(--dark-brown);
            transform: translateY(-2px);
        }

        /* MOBILE ADJUSTMENTS */
        @media(max-width:1100px) {
            .gt-gp-feat-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .gt-dest-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media(max-width:900px) {

            .gt-container,
            .gt-hero-inner,
            .gt-strip-inner,
            .gt-groups-header,
            .gt-incl-inner {
                padding-left: 2rem;
                padding-right: 2rem;
            }

            .gt-group-panels {
                padding: 0 2rem;
            }

            .gt-groups-header {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .gt-how-grid {
                grid-template-columns: repeat(3, 1fr);
                margin-left: 2rem;
                margin-right: 2rem;
            }

            .gt-t-grid {
                grid-template-columns: 1fr 1fr;
                padding-left: 2rem;
                padding-right: 2rem;
            }

            .gt-incl-header {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .gt-incl-cards {
                grid-template-columns: 1fr 1fr;
            }

            .gt-gp-dest-cta {
                flex-direction: column;
                text-align: center;
                gap: 1.5rem;
                padding: 1.5rem;
            }
        }

        @media(max-width:620px) {
            .gt-hero-inner {
                padding: 4rem 1.5rem;
            }

            .gt-gp-trigger {
                grid-template-columns: 50px 1fr;
                gap: 1rem;
            }

            .gt-gp-right {
                display: none;
            }

            .gt-dest-grid {
                grid-template-columns: 1fr 1fr;
            }

            .gt-how-grid {
                grid-template-columns: 1fr 1fr;
            }

            .gt-t-grid {
                grid-template-columns: 1fr;
                padding-left: 1.5rem;
                padding-right: 1.5rem;
            }

            .gt-incl-cards {
                grid-template-columns: 1fr;
            }

            .gt-cta-btns {
                flex-direction: column;
                width: 100%;
            }
        }



























        /* ==========================================================================
   FLIGHTS PAGE SPECIFIC UI (TABLES & AIRLINES)
   ========================================================================== */
        .compare-section {
            padding: 0 2.5rem 2.5rem;
            margin-top: 1rem;
            background-color: var(--deep-forest);
        }

        .gt-table-label {
            font-size: 0.62rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: var(--copper-solid);
            margin-bottom: 1.5rem;
            display: block;
        }

        .feat-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 16px;
            overflow: hidden;
            background: #11221b;
            /* box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); */
        }

        .feat-table th {
            background: linear-gradient(180deg, rgba(198, 139, 89, 0.15) 0%, rgba(198, 139, 89, 0.05) 100%);
            color: var(--copper-solid);
            font-weight: 600;
            font-size: 0.72rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 1.6rem 1.8rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            text-align: left;
        }

        .feat-table td {
            padding: 1.4rem 1.8rem;
            text-align: left;
            font-size: 0.88rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.65);
            line-height: 1.6;
        }

        .feat-table td:first-child {
            color: #fff;
            font-weight: 600;
            background: rgba(255, 255, 255, 0.02);
            width: 260px;
        }

        .feat-table tr:last-child td {
            border-bottom: none;
        }

        .feat-table tr:hover td {
            background: rgba(255, 255, 255, 0.03);
        }

        .gp-airlines {
            padding: 2.4rem 0 0 0;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            margin-top: 2rem;
            background-color: var(--deep-forest);
        }

        .airline-region-label {
            font-size: 0.65rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 1rem;
            display: block;
            margin-top: 1.5rem;
        }

        .airline-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
        }

        .airline-card {
            background: #11221b;
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            overflow: hidden;
            padding: 1.1rem 1.2rem;
            display: flex;
            align-items: center;
            gap: 0.85rem;
            transition: all 0.3s ease;
        }

        .airline-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
            border-color: var(--primary-pink);
        }

        .airline-card-icon {
            width: 46px;
            height: 46px;
            border-radius: 8px;
            background: rgba(198, 139, 89, 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            line-height: 1;
            flex-shrink: 0;
            color: var(--copper-solid);
            box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.05);
        }

        .airline-card-info {
            display: flex;
            flex-direction: column;
            gap: 0.2rem;
        }

        .airline-card-name {
            font-family: var(--font-heading);
            font-size: 1.15rem;
            color: #fff;
            line-height: 1.1;
            color: #f1f3f5;
        }

        .airline-card-hub {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.4);
            line-height: 1.3;
        }

        @media(max-width: 1100px) {
            .airline-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media(max-width: 900px) {
            .airline-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .feat-table td:first-child {
                white-space: normal;
                width: auto;
            }
        }

        @media(max-width: 620px) {
            .airline-grid {
                grid-template-columns: 1fr;
            }
        }

        /* --- DYNAMIC FLIGHT LEGS STYLING --- */
        @media (min-width: 768px) {
            .border-end-md {
                border-right: 1px solid #eaeaea;
            }
        }

        .flight-leg-card {
            transition: all 0.3s ease;
            animation: slideDownFade 0.4s ease forwards;
        }

        .remove-leg-btn {
            position: absolute;
            top: -12px;
            right: -12px;
            width: 30px;
            height: 30px;
            background: #ffffff;
            border: 1px solid #eaeaea;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--deep-forest);
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
            z-index: 10;
            transition: all 0.2s ease;
        }

        .remove-leg-btn:hover {
            background: var(--primary-pink);
            color: #ffffff;
            border-color: var(--primary-pink);
            transform: scale(1.1);
        }

        #add-flight-btn-wrapper button:hover {
            background: rgba(198, 139, 89, 0.05);
        }

        @keyframes slideDownFade {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }




















        /* --- DYNAMIC FLIGHT LEGS & AUTOCOMPLETE --- */
        @media (min-width: 768px) {
            .border-end-md {
                border-right: 1px solid #eaeaea;
            }
        }

        .flight-leg-card {
            transition: all 0.3s ease;
            animation: slideDownFade 0.4s ease forwards;
        }

        @keyframes slideDownFade {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .remove-leg-btn {
            position: absolute;
            top: -12px;
            right: -12px;
            width: 32px;
            height: 32px;
            background: #ffffff;
            border: 1px solid #eaeaea;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--deep-forest);
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
            z-index: 10;
            transition: all 0.2s ease;
        }

        .remove-leg-btn:hover {
            background: var(--primary-pink);
            color: #ffffff;
            border-color: var(--primary-pink);
            transform: scale(1.1);
        }

        /* Custom Autocomplete Dropdown */
        .autocomplete-dropdown {
            position: absolute;
            top: calc(100% + 5px);
            left: 0;
            width: 100%;
            background: #fff;
            border: 1px solid #eaeaea;
            border-radius: 8px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            max-height: 220px;
            overflow-y: auto;
            z-index: 1050;
            display: none;
            padding: 0;
            margin: 0;
            list-style: none;
        }

        .autocomplete-dropdown.show {
            display: block;
            animation: slideDownFade 0.2s ease forwards;
        }

        .autocomplete-item {
            padding: 10px 15px;
            cursor: pointer;
            font-size: 13px;
            color: var(--deep-forest);
            border-bottom: 1px solid #f9f9f9;
            display: flex;
            align-items: center;
            gap: 10px;
            transition: background 0.2s;
        }

        .autocomplete-item:hover {
            background: var(--soft-beige);
            color: var(--copper-solid);
        }

        /* Custom Scrollbar for Dropdown */
        .autocomplete-dropdown::-webkit-scrollbar {
            width: 5px;
        }

        .autocomplete-dropdown::-webkit-scrollbar-track {
            background: transparent;
        }

        .autocomplete-dropdown::-webkit-scrollbar-thumb {
            background-color: var(--copper-solid);
            border-radius: 10px;
        }












































































        /* ==========================================================================
   PACKAGE INNER TABS & DETAILS UI
   ========================================================================== */

        /* Inner Tabs Navigation */
        .vp-inner-tabs {
            display: flex;
            border: 2px solid var(--deep-forest);
            border-radius: 8px;
            margin-bottom: 2.5rem;
            overflow: hidden;
        }

        .vp-tab-btn {
            flex: 1;
            padding: 16px;
            background: transparent;
            border: none;
            font-family: var(--font-heading);
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--deep-forest);
            cursor: pointer;
            transition: all 0.3s ease;
            border-right: 1px solid rgba(0, 0, 0, 0.1);
        }

        .vp-tab-btn:last-child {
            border-right: none;
        }

        .vp-tab-btn.active {
            background: var(--deep-forest);
            color: #fff;
        }

        .vp-tab-btn:hover:not(.active) {
            background: rgba(31, 58, 46, 0.05);
        }

        /* Tab Content Areas */
        .vp-tab-pane {
            display: none;
            animation: fadeIn 0.4s ease forwards;
        }

        .vp-tab-pane.active {
            display: block;
        }

        /* Updated Itinerary Timeline */
        .day-content {
            background: var(--soft-beige);
            border-radius: 12px;
            padding: 1.8rem;
            border: none;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
        }

        .day-title {
            font-family: var(--font-heading);
            font-size: 1.3rem;
            color: var(--deep-forest);
            margin-bottom: 0.8rem;
            font-weight: 600;
        }

        .day-marker {
            background: var(--copper-solid);
            color: #fff;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 11px;
            border: 3px solid #fff;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            top: 15px;
            /* Aligns better with content */
        }

        /* Dates & Prices Section */
        .dp-wrapper {
            display: flex;
            gap: 3rem;
            flex-wrap: wrap;
            align-items: flex-start;
        }

        .dp-selectors {
            flex: 1;
            min-width: 300px;
        }

        .dp-label {
            font-family: var(--font-heading);
            font-size: 1.4rem;
            color: var(--deep-forest);
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .dp-year-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-top: 10px;
        }

        .dp-year-item {
            font-size: 1.4rem;
            font-weight: 600;
            color: var(--deep-forest);
            cursor: pointer;
            padding: 8px 12px;
            border-radius: 6px;
            transition: background 0.2s;
            width: max-content;
        }

        .dp-year-item.active {
            background: rgba(198, 139, 89, 0.1);
            color: var(--copper-solid);
        }

        .dp-month-select {
            border: 1px solid var(--copper-solid);
            border-radius: 6px;
            padding: 14px 16px;
            font-size: 14px;
            width: 100%;
            outline: none;
            color: var(--deep-forest);
            background-color: #fff;
            cursor: pointer;
        }

        /* Price Card */
        .dp-price-card {
            background: var(--deep-forest);
            color: #fff;
            padding: 2.5rem 2rem;
            border-radius: 12px;
            text-align: center;
            width: 320px;
            flex-shrink: 0;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
        }

        .dp-price-label {
            font-family: var(--font-heading);
            font-size: 1.8rem;
            margin-bottom: 1rem;
        }

        .dp-price-val {
            font-size: 3rem;
            font-family: var(--font-body);
            font-weight: 600;
            color: var(--copper-solid);
            margin: 5px 0;
            line-height: 1;
        }

        .dp-price-sub {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: rgba(255, 255, 255, 0.7);
        }

        .dp-price-btn {
            background: var(--primary-pink);
            color: var(--dark-brown);
            border: none;
            padding: 14px 24px;
            width: 100%;
            border-radius: 6px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-top: 20px;
            transition: all 0.3s;
        }

        .dp-price-btn:hover {
            background: #fff;
            color: var(--deep-forest);
        }

        /* Included & Excluded Section */
        .ie-grid {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr;
            gap: 3rem;
        }

        .ie-box {
            background: #fdfbf7;
            border-radius: 12px;
            padding: 2rem;
            border: 1px solid #eaeaea;
        }

        .ie-heading {
            font-family: var(--font-heading);
            font-size: 1.6rem;
            color: var(--deep-forest);
            margin-bottom: 1.8rem;
        }

        .ie-block {
            display: flex;
            gap: 15px;
            margin-bottom: 1.8rem;
            align-items: flex-start;
        }

        .ie-icon {
            color: var(--deep-forest);
            flex-shrink: 0;
            margin-top: 2px;
        }

        .ie-content h5 {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--deep-forest);
            margin-bottom: 5px;
        }

        .ie-content p {
            font-size: 0.9rem;
            color: #555;
            line-height: 1.6;
            margin: 0;
        }

        .ie-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .ie-list li {
            font-size: 0.9rem;
            color: #555;
            margin-bottom: 12px;
            display: flex;
            gap: 10px;
            align-items: flex-start;
            line-height: 1.5;
        }

        .ie-list li i {
            flex-shrink: 0;
            margin-top: 2px;
        }

        .ie-list.inc li i {
            color: var(--deep-forest);
        }

        /* Excluded X styling matching client doc */
        .ie-list.exc li i {
            color: #8e651a;
            background: #f5edd8;
            border-radius: 50%;
            padding: 3px;
            width: 18px;
            height: 18px;
        }

        @media(max-width: 992px) {
            .ie-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .dp-wrapper {
                flex-direction: column;
            }

            .dp-price-card {
                width: 100%;
            }

            .vp-inner-tabs {
                flex-direction: column;
            }

            .vp-tab-btn {
                border-right: none;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
            }
        }






























        /* ==========================================================================
   PREMIUM TOUR DETAIL PAGE (INTREPID STYLE)
   ========================================================================== */

        /* --- Typography & Branding Variables --- */
        .text-copper {
            color: var(--copper-solid);
        }

        .text-forest {
            color: var(--deep-forest);
        }

        .text-pink {
            color: var(--primary-pink);
        }

        .bg-forest {
            background-color: var(--deep-forest);
        }

        .bg-copper {
            background-color: var(--copper-solid);
        }

        .bg-beige {
            background-color: var(--soft-beige);
        }

        body {
            background-color: #ffffff;
            font-family: var(--font-body);
        }

        /* --- Layout Grid --- */
        .tour-page-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 100px 20px 0px 20px;
            /* Accounts for fixed navbar */
        }

        /* Header Area */
        .tour-header {
            margin-bottom: 2rem;
        }

        .tour-breadcrumbs {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 1rem;
            color: #666;
            font-weight: 500;
        }

        .tour-breadcrumbs a {
            color: var(--copper-solid);
            text-decoration: none;
        }

        .tour-breadcrumbs a:hover {
            color: var(--deep-forest);
        }

        .tour-title {
            font-family: var(--font-heading);
            font-size: clamp(2.5rem, 4vw, 3.5rem);
            color: var(--deep-forest);
            font-weight: 700;
            line-height: 1.1;
            margin-bottom: 0.5rem;
        }

        .tour-subtitle {
            font-size: 1.1rem;
            color: #555;
        }

        /* --- Top Split Section (Gallery/Desc + Sidebar) --- */
        .tour-top-grid {
            display: grid;
            grid-template-columns: 1fr 380px;
            gap: 3rem;
            align-items: stretch;
            margin-bottom: 4rem;
        }

        /* --- Left Column: Gallery --- */
        .tour-left-col {
            min-width: 0;
        }

        .tour-gallery-wrapper {
            margin-bottom: 2.5rem;
        }

        .main-image-container {
            position: relative;
            width: 100%;
            height: 380px;
            border-radius: 8px;
            overflow: hidden;
            margin-bottom: 10px;
        }

        .main-image-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: opacity 0.3s ease;
        }

        .btn-view-all-photos {
            position: absolute;
            bottom: 20px;
            right: 20px;
            background: #ffffff;
            color: var(--deep-forest);
            border: 1px solid #eaeaea;
            padding: 8px 16px;
            border-radius: 30px;
            font-size: 0.85rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
            transition: background 0.3s ease;
        }

        .btn-view-all-photos:hover {
            background: var(--primary-pink);
            color: var(--dark-brown);
        }

        .thumbnail-carousel-container {
            position: relative;
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 15px;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            overflow: hidden;
        }

        .thumbnail-track {
            flex: 1;
            display: flex;
            gap: 12px;
            overflow-x: auto;
            scroll-behavior: smooth;
            padding: 4px 2px;
            -ms-overflow-style: none;
            /* IE and Edge */
            scrollbar-width: none;
            /* Firefox */
            cursor: grab;
            user-select: none;
            min-width: 0;
        }

        .thumbnail-track.dragging {
            cursor: grabbing;
            scroll-behavior: auto !important;
            /* Extremely important: disables scroll inertia lag while actively dragging */
        }

        .thumbnail-track::-webkit-scrollbar {
            display: none;
            /* Hide scrollbar for Chrome/Safari/Opera */
        }

        .thumbnail-track img {
            width: 100px;
            height: 68px;
            object-fit: cover;
            border-radius: 6px;
            cursor: pointer;
            opacity: 0.55;
            transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            border: 2px solid transparent;
            flex-shrink: 0;
        }

        .thumbnail-track img:hover {
            opacity: 0.9;
            transform: translateY(-2px);
        }

        .thumbnail-track img.active {
            opacity: 1;
            border-color: var(--copper-solid);
            box-shadow: 0 4px 10px rgba(184, 134, 84, 0.15);
        }

        /* --- Navigation Button Styling --- */
        .thumb-carousel-btn {
            display: none;
            /* Managed dynamically via JavaScript on overflow */
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.08);
            color: var(--deep-forest);
            width: 32px;
            height: 32px;
            border-radius: 50%;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
            flex-shrink: 0;
            z-index: 10;
        }

        .thumb-carousel-btn:hover {
            background: var(--primary-pink);
            border-color: var(--primary-pink);
            color: var(--dark-brown);
            box-shadow: 0 4px 12px rgba(234, 144, 173, 0.25);
            transform: scale(1.05);
        }

        /* --- Main Image Hover Nav Buttons --- */
        .main-nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(4px);
            border: none;
            color: var(--deep-forest);
            width: 44px;
            height: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            z-index: 5;
            opacity: 0;
        }

        .main-image-container:hover .main-nav-btn {
            opacity: 1;
        }

        .main-prev-btn {
            left: 15px;
        }

        .main-next-btn {
            right: 15px;
        }

        .main-nav-btn:hover {
            background: var(--primary-pink);
            border-color: var(--primary-pink);
            color: var(--dark-brown);
            box-shadow: 0 6px 20px rgba(234, 144, 173, 0.35);
            transform: translateY(-50%) scale(1.05);
        }

        /* --- Premium 3D Vertical Gallery Modal --- */
        .vertical-3d-modal .modal-dialog {
            max-width: 650px;
            /* Elegant, medium sized layout */
            margin: 2rem auto;
        }

        .vertical-3d-modal .modal-content {
            background: #ffffff;
            /* Clean, pristine white modal card background */
            border: 1px solid rgba(0, 0, 0, 0.08);
            /* Soft subtle light border */
            border-radius: 16px;
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
            /* Soft, luxurious shadow */
            overflow: hidden;
        }

        .vertical-3d-modal .modal-header {
            background: transparent;
            border: none;
            padding: 1.2rem 1.2rem 0 1.2rem;
            display: flex;
            justify-content: flex-end;
        }

        .modal-close-btn {
            background: transparent;
            border: none;
            color: var(--deep-forest);
            /* Match website brand dark forest color */
            width: 38px;
            height: 38px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            outline: none;
        }

        .modal-close-btn:hover {
            background-color: var(--primary-pink);
            color: var(--dark-brown);
            transform: rotate(90deg);
        }

        /* 3D Scroll Container */
        .vertical-3d-gallery-container {
            perspective: 1200px;
            /* Setup the camera perspective context */
            max-height: 60vh;
            overflow-y: scroll;
            padding: 80px 40px;
            /* Gives margin breathing room for rotating elements */
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            gap: 45px;
            -ms-overflow-style: none;
            /* Hide scrollbar on IE/Edge */
            scrollbar-width: none;
            /* Hide scrollbar on Firefox */
        }

        .vertical-3d-gallery-container::-webkit-scrollbar {
            display: none;
            /* Hide scrollbar to preserve immersive UI */
        }

        /* 3D Item Wrapper */
        .gallery-3d-item {
            position: relative;
            width: 100%;
            height: 280px;
            /* Medium landscape photo block */
            border-radius: 12px;
            overflow: hidden;
            transform-style: preserve-3d;
            /* Allows child translations in Z-axis */
            transition: transform 0.1s ease-out, opacity 0.1s ease-out;
            /* Fluid dynamic scroll translation */
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
            flex-shrink: 0;
        }

        .gallery-3d-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Luxury Card Text Overlays */
        .gallery-3d-item .item-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 20px 25px;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0));
            color: #ffffff;
            font-family: var(--font-heading);
            font-size: 1.1rem;
            font-weight: 500;
            letter-spacing: 0.5px;
            transform: translateZ(30px);
            /* Extends out slightly further in 3D perspective layer! */
            text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
        }

        /* --- Left Column: Description & Highlights --- */
        .tour-desc-text {
            font-size: 1.05rem;
            line-height: 1.7;
            color: #444;
            margin-bottom: 3rem;
        }

        .section-title {
            font-family: var(--font-heading);
            font-size: 2rem;
            color: var(--deep-forest);
            margin-bottom: 1.5rem;
            font-weight: 600;
        }

        .highlights-list {
            list-style: none;
            padding: 0;
            margin: 0 0 2rem 0;
        }

        .highlight-item {
            display: flex;
            gap: 15px;
            margin-bottom: 1.5rem;
        }

        .highlight-item i {
            color: var(--copper-solid);
            flex-shrink: 0;
            margin-top: 3px;
        }

        .highlight-item p {
            font-size: 1rem;
            color: #444;
            line-height: 1.6;
            margin: 0;
        }

        .sticky-sidebar {
            position: sticky;
            top: 130px;
            /* Stays below navbar */
        }

        .booking-widget {
            border: 1px solid rgba(0, 0, 0, 0.05);
            border-radius: 16px;
            padding: 2rem;
            background: #ffffff;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.03), 0 1px 3px rgba(0, 0, 0, 0.01);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .booking-widget:hover {
            box-shadow: 0 20px 45px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.01);
        }

        /* Premium Pricing Header (at the top) */
        .widget-pricing-header {
            margin-bottom: 1.75rem;
            padding-bottom: 1.25rem;
            border-bottom: 1px solid #f1eeea;
        }

        .price-strike-wrapper {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 0.25rem;
        }

        .price-label {
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            background: #fff0ed;
            color: #E26D5C;
            padding: 3px 8px;
            border-radius: 4px;
        }

        .price-strike {
            font-size: 0.9rem;
            color: #999;
            text-decoration: line-through;
            font-weight: 500;
        }

        .price-strike-currency {
            font-size: 0.85em;
            text-decoration: line-through;
        }

        .price-main-wrapper {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .price-main {
            font-family: var(--font-body);
            font-size: 3rem;
            font-weight: 600;
            color: var(--deep-forest);
            line-height: 1;
            letter-spacing: -0.5px;
        }

        .price-currency {
            font-size: 0.55em;
            font-weight: 600;
            vertical-align: super;
            position: relative;
            top: -0.15em;
            margin-right: 1px;
        }

        .price-meta {
            font-size: 0.75rem;
            color: #777;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        /* Modern 2-Column Stats Grid */
        .widget-stats-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.25rem;
            margin-bottom: 1.75rem;
            padding: 0;
            border-top: none;
            border-bottom: none;
        }

        .w-stat-row {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            border-bottom: none;
            padding: 0;
        }

        .w-stat-row i {
            color: var(--copper-solid);
            margin-top: 2px;
            flex-shrink: 0;
        }

        .w-stat-text {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .w-stat-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #888;
            font-weight: 600;
            line-height: 1;
        }

        .w-stat-value {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--deep-forest);
            line-height: 1.2;
        }

        /* Full-width Stat Row for style/theme */
        .w-stat-row.style-full-width {
            grid-column: span 2;
            padding-top: 0.75rem;
            border-top: 1px dashed #eaeaea;
        }

        /* CTA Wrapper styling */
        .widget-cta-wrapper {
            margin-top: 1.5rem;
        }

        .btn-enquire-full {
            display: block;
            width: 100%;
            background: var(--copper-solid);
            color: #fff;
            text-align: center;
            padding: 15px;
            border-radius: 8px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-size: 0.9rem;
            text-decoration: none;
            border: 1px solid var(--copper-solid);
            box-shadow: 0 4px 15px rgba(184, 134, 84, 0.2);
            transition: all 0.3s ease;
        }

        .btn-enquire-full:hover {
            background: var(--primary-pink) !important;
            border-color: var(--primary-pink) !important;
            color: var(--dark-brown) !important;
            box-shadow: 0 8px 20px rgba(234, 144, 173, 0.3) !important;
            transform: translateY(-1px);
        }

        /* --- Full Width Bottom Sections --- */
        .full-width-section {
            border-top: 1px solid rgba(0, 0, 0, 0.06);
            padding-top: 4.5rem;
            margin-bottom: 4.5rem;
        }

        /* --- Premium Timeline Itinerary (Redesigned & Ultra-Clean) --- */
        .itinerary-grid {
            display: grid;
            grid-template-columns: 320px 1fr;
            gap: 4rem;
            align-items: start;
            margin-top: 2rem;
        }

        .itinerary-left-image-col {
            position: sticky;
            top: 120px;
            /* Aligns perfectly with the scrolled sticky navbar */
        }

        .itinerary-sticky-image-wrapper {
            width: 100%;
            height: 300px;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
        }

        .itinerary-sticky-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .accordion-timeline {
            position: relative;
            padding-left: 0;
        }

        /* Continuous background vertical line */
        .accordion-timeline::before {
            content: '';
            position: absolute;
            left: 11px;
            /* Centered with the 24px marker */
            top: 24px;
            bottom: 24px;
            width: 2px;
            background-color: var(--copper-solid);
            opacity: 0.15;
        }

        .accordion-timeline .timeline-item {
            border: none;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
            border-radius: 0;
            background: transparent;
            position: relative;
            padding-left: 0;
            margin-bottom: 0;
        }

        .accordion-timeline .timeline-item:last-child {
            border-bottom: none;
        }

        /* Flex-based Header with marker alignment */
        .accordion-timeline .accordion-button {
            padding: 1.5rem 0;
            background: transparent !important;
            border: none;
            box-shadow: none !important;
            display: flex;
            align-items: flex-start;
            gap: 1.25rem;
            width: 100%;
            text-align: left;
            color: inherit;
        }

        /* Hide default Bootstrap chevron */
        .accordion-timeline .accordion-button::after {
            display: none !important;
        }

        .accordion-timeline .accordion-button:not(.collapsed) {
            background: transparent !important;
        }

        /* Marker containing the node */
        .timeline-marker {
            width: 24px;
            height: 24px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
            margin-top: 4px;
            /* Align nicely with stacked header text */
            position: relative;
            z-index: 2;
        }

        .timeline-node {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #ffffff;
            border: 2px solid var(--copper-solid);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .accordion-timeline .accordion-button:not(.collapsed) .timeline-node {
            background-color: var(--copper-solid);
            transform: scale(1.15);
            box-shadow: 0 0 0 4px rgba(184, 134, 84, 0.15);
        }

        /* Stacked text layout (Best UX Practice) */
        .timeline-header-content {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .timeline-day {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--copper-solid);
            line-height: 1.2;
        }

        .timeline-title-text {
            font-family: var(--font-heading);
            font-size: 1.3rem;
            font-weight: 600;
            color: var(--deep-forest);
            line-height: 1.3;
            transition: color 0.3s;
        }

        .accordion-timeline .accordion-button:not(.collapsed) .timeline-title-text {
            color: var(--copper-solid);
        }

        /* Custom interactive dropdown button on the far right */
        .timeline-dropdown-btn {
            margin-left: auto;
            /* Pushes the dropdown button to the far right */
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background-color: #fcfaf7;
            border: 1px solid #eaeaea;
            color: var(--copper-solid);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            flex-shrink: 0;
            margin-top: 4px;
        }

        .timeline-dropdown-btn i {
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* Hover effects */
        .accordion-timeline .accordion-button:hover .timeline-dropdown-btn {
            border-color: var(--copper-solid);
            background-color: #fffaf5;
        }

        /* Expanded styles */
        .accordion-timeline .accordion-button:not(.collapsed) .timeline-dropdown-btn {
            background-color: var(--copper-solid);
            border-color: var(--copper-solid);
            color: #ffffff;
        }

        .accordion-timeline .accordion-button:not(.collapsed) .timeline-dropdown-btn i {
            transform: rotate(180deg);
        }

        /* Clean, simplified body content aligned with the text */
        .accordion-timeline .accordion-body {
            padding: 0 0 2rem 40px;
            /* Align perfectly with .timeline-header-content */
            font-size: 0.95rem;
            color: #555;
            line-height: 1.7;
        }

        .accordion-timeline .meals-included {
            margin-top: 1rem;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #666;
        }

        .accordion-timeline .meals-included strong {
            color: var(--deep-forest);
        }

        /* --- Premium Bento Inclusions Grid --- */
        .bento-inclusions-container {
            display: grid;
            grid-template-columns: 1.25fr 1fr;
            gap: 4rem;
            margin-top: 2rem;
            background: #FAF8F5;
            /* Extremely premium ivory/warm cream background */
            border-radius: 16px;
            padding: 3.5rem;
            border: 1px solid rgba(0, 0, 0, 0.04);
        }

        .inclusions-column {
            display: flex;
            flex-direction: column;
        }

        .inclusions-row-top {
            display: grid;
            grid-template-columns: 1.2fr 1fr;
            gap: 3rem;
            margin-bottom: 2.5rem;
        }

        .bento-card {
            background: transparent;
        }

        .bento-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 1.2rem;
        }

        .bento-card-header h3 {
            font-family: var(--font-body);
            font-size: 1rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            color: var(--deep-forest);
            margin: 0;
        }

        .icon-copper {
            color: var(--copper-solid);
            flex-shrink: 0;
        }

        .bento-card-content p {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.6;
            margin: 0;
        }

        .bento-card-content p.bold-text {
            font-weight: 600;
            color: var(--deep-forest);
            margin-bottom: 0.4rem;
        }

        .bento-card-content p.sub-text {
            font-size: 0.85rem;
            color: #777;
            margin-top: 0.25rem;
        }

        .meals-highlight {
            font-size: 1.05rem;
            font-weight: 500;
            color: var(--deep-forest);
        }

        .transport-block,
        .accommodation-block {
            border-top: 1px solid rgba(0, 0, 0, 0.06);
            padding-top: 2.5rem;
            margin-bottom: 2.5rem;
        }

        .accommodation-block {
            margin-bottom: 0;
        }

        /* Right Column: Activities */
        .activities-column {
            border-left: 1px solid rgba(0, 0, 0, 0.06);
            padding-left: 4rem;
            display: flex;
            flex-direction: column;
        }

        .activities-block {
            flex: none;
        }

        .activities-divider {
            height: 1px;
            background-color: rgba(0, 0, 0, 0.06);
            margin: 2.5rem 0;
        }

        .activity-list {
            list-style: none;
            padding: 0;
            margin: 0 0 1.5rem 0;
        }

        .activity-list li {
            position: relative;
            padding-left: 20px;
            margin-bottom: 0.8rem;
            font-size: 0.95rem;
            color: #555;
            line-height: 1.6;
        }

        .activity-list li::before {
            content: '•';
            position: absolute;
            left: 5px;
            color: var(--copper-solid);
            font-weight: bold;
        }

        .show-all-link {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--copper-solid);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: color 0.3s;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .show-all-link:hover {
            color: var(--primary-pink);
        }

        .activity-list li.hidden-activity {
            display: none !important;
        }

        .activities-block.show-all .activity-list li.hidden-activity {
            display: list-item !important;
            animation: fadeInActivity 0.4s ease forwards;
        }

        @keyframes fadeInActivity {
            from {
                opacity: 0;
                transform: translateY(-4px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* --- Refined Exclusions --- */
        .exclusions-list {
            list-style: none;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem 4rem;
            margin-top: 2rem;
        }

        .exclusions-list li {
            display: flex;
            gap: 16px;
            margin-bottom: 0;
            font-size: 0.95rem;
            color: #555;
            line-height: 1.6;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        }

        .exclusions-list li:nth-last-child(-n+2) {
            border-bottom: none;
        }

        .exclusions-list li i {
            color: #E26D5C;
            /* Elegant soft coral instead of harsh red */
            flex-shrink: 0;
            margin-top: 4px;
        }

        /* Bento Exclusions Block under Accommodation */
        .bento-card.exclusions-block {
            border-top: 1px solid rgba(0, 0, 0, 0.06);
            padding-top: 2.5rem;
            margin-top: 2.5rem;
        }

        .icon-red {
            color: #D32F2F;
            flex-shrink: 0;
        }

        .red-title {
            color: #D32F2F !important;
        }

        .bento-exclusions-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .bento-exclusions-list li {
            display: flex;
            gap: 18px;
            padding-bottom: 1.25rem;
            border-bottom: 1px dashed #E5DFD5;
            align-items: flex-start;
        }

        .bento-exclusions-list li:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

        .bento-exclusions-list .exclusion-icon-wrapper {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background-color: #FFF3F1;
            color: #E26D5C;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .bento-exclusions-list .exclusion-icon-wrapper i {
            width: 13px;
            height: 13px;
            stroke-width: 3px;
        }

        .bento-exclusions-list .exclusion-text {
            font-size: 0.95rem;
            color: #4A4A4A;
            line-height: 1.6;
        }

        .bento-exclusions-list .exclusion-text strong {
            color: var(--deep-forest);
            font-weight: 600;
            margin-right: 4px;
        }


        /* CTA Form Area */
        .cta-form-container {
            background: var(--deep-forest);
            padding: 4rem;
            border-radius: 16px;
            color: #fff;
        }

        .cta-form-title {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            margin-bottom: 1rem;
        }

        .cta-form-subtitle {
            color: rgba(255, 255, 255, 0.7);
            margin-bottom: 2.5rem;
        }

        .custom-input {
            width: 100%;
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.3);
            color: #fff;
            padding: 12px 0;
            outline: none;
            font-size: 1rem;
            transition: border-color 0.3s;
        }

        .custom-input:focus {
            border-bottom-color: var(--copper-solid);
        }

        .custom-input::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }

        .btn-submit-cta {
            background: var(--copper-solid);
            color: #fff;
            border: none;
            padding: 14px 40px;
            border-radius: 8px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            cursor: pointer;
            transition: background 0.3s;
        }

        .btn-submit-cta:hover {
            background: var(--primary-pink) !important;
            border-color: var(--primary-pink) !important;
            color: var(--dark-brown) !important;
            box-shadow: 0 8px 20px rgba(234, 144, 173, 0.3) !important;
        }

        /* --- Responsiveness --- */
        @media(max-width: 992px) {
            .tour-top-grid {
                grid-template-columns: minmax(0, 1fr);
            }

            .sticky-sidebar {
                position: relative;
                top: 0;
                max-width: 500px;
                margin: 0 auto;
            }

            .main-image-container {
                height: 350px;
            }

            .bento-inclusions-container {
                grid-template-columns: 1fr;
                padding: 2.5rem;
                gap: 3rem;
            }

            .activities-column {
                border-left: none;
                padding-left: 0;
                border-top: 1px solid rgba(0, 0, 0, 0.06);
                padding-top: 2.5rem;
            }

            .exclusions-list {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .cta-form-container {
                padding: 2rem;
            }

            .itinerary-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .itinerary-left-image-col {
                position: static;
                display: none;
            }
        }

        @media(max-width: 768px) {
            .accordion-timeline::before {
                display: none;
            }

            .timeline-marker {
                display: none;
            }

            .accordion-timeline .accordion-button {
                gap: 0.5rem;
                padding: 1.25rem 0;
            }

            .accordion-timeline .accordion-body {
                padding-left: 0;
            }

            .timeline-dropdown-btn {
                margin-top: 0;
            }

            /* Main Gallery Navigation on Touch Screens */
            .main-nav-btn {
                opacity: 1 !important;
                width: 36px !important;
                height: 36px !important;
            }

            .main-prev-btn {
                left: 8px !important;
            }

            .main-next-btn {
                right: 8px !important;
            }

            /* Touch Friendly Thumbnail Track (edge-to-edge scroll) */
            .thumb-carousel-btn {
                display: none !important;
                /* Hide arrows on touch screens */
            }

            .thumbnail-carousel-container {
                gap: 0 !important;
            }

            .thumbnail-track {
                padding: 4px 0 !important;
            }
        }

        @media(max-width: 576px) {
            .main-image-container {
                height: 250px;
            }

            .btn-view-all-photos {
                bottom: 12px !important;
                right: 12px !important;
                padding: 6px 12px !important;
                font-size: 0.78rem !important;
            }

            .tour-main-title {
                font-size: 2rem;
            }

            .widget-stats-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .w-stat-row.style-full-width {
                border-top: none;
                padding-top: 0;
            }

            .inclusions-row-top {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .bento-inclusions-container {
                padding: 1.5rem;
            }
        }

        /* --- Premium Luxury Upgrade & Private Groups Section --- */
        .luxury-enhancements-section {
            padding: 80px 0;
            background-color: #ffffff;
        }

        .luxury-stacked-container {
            max-width: 800px;
            width: 100%;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 3rem;
        }

        .luxury-block {
            position: relative;
            background: #FAF9F6;
            border: 1px solid #EAE6DF;
            border-radius: 16px;
            padding: 3.5rem 3rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.015);
        }

        .luxury-block-title {
            font-family: var(--font-heading);
            font-size: 1.65rem;
            color: var(--deep-forest);
            font-weight: 700;
            margin-bottom: 1.25rem;
            line-height: 1.3;
        }

        .luxury-block-text {
            font-size: 1.05rem;
            color: #4A4A4A;
            line-height: 1.8;
            margin-bottom: 1.5rem;
        }

        .luxury-block-text:last-child {
            margin-bottom: 0;
        }

        .luxury-subblock {
            margin-top: 2rem;
            padding-top: 1.5rem;
            border-top: 1px dashed rgba(166, 124, 82, 0.25);
        }

        .luxury-subblock-title {
            font-family: var(--font-heading);
            font-size: 1.35rem;
            color: var(--deep-forest);
            font-weight: 700;
            margin-bottom: 1rem;
            line-height: 1.3;
        }

        .group-features-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            margin-top: 1.25rem;
            margin-bottom: 1.5rem;
        }

        .feature-item {
            display: flex;
            gap: 10px;
            align-items: flex-start;
        }

        .feature-icon i {
            color: var(--copper-solid);
            width: 16px;
            height: 16px;
            margin-top: 3px;
        }

        .feature-item p {
            font-size: 0.95rem;
            color: #4A4A4A;
            line-height: 1.65;
            margin: 0;
        }

        .min-passengers-notice {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(198, 139, 89, 0.08);
            color: var(--copper-solid);
            padding: 6px 14px;
            border-radius: 30px;
            font-size: 0.85rem;
            font-weight: 600;
            margin-top: 1rem;
            align-self: flex-start;
        }

        .min-passengers-notice i {
            width: 15px;
            height: 15px;
        }

        .luxury-cta-block {
            max-width: 800px;
            margin: 4.5rem auto 0 auto;
            background: linear-gradient(135deg, #1F3A2E 0%, #12241D 100%);
            color: #ffffff;
            border-radius: 24px;
            padding: 3.5rem 3rem;
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(198, 139, 89, 0.3);
            box-shadow: 0 20px 40px rgba(12, 36, 29, 0.12);
            transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .luxury-cta-block:hover {
            transform: translateY(-4px);
            border-color: rgba(198, 139, 89, 0.6);
            box-shadow: 0 25px 50px rgba(198, 139, 89, 0.15);
        }

        .luxury-cta-block::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 100% 100%, rgba(198, 139, 89, 0.2) 0%, transparent 50%),
                radial-gradient(circle at 0% 0%, rgba(198, 139, 89, 0.1) 0%, transparent 40%);
            pointer-events: none;
            z-index: 1;
        }

        .luxury-cta-block::after {
            content: '';
            position: absolute;
            top: 20px;
            right: 20px;
            width: 40px;
            height: 40px;
            border-top: 1px solid rgba(198, 139, 89, 0.25);
            border-right: 1px solid rgba(198, 139, 89, 0.25);
            pointer-events: none;
            transition: all 0.5s ease;
        }

        .luxury-cta-block:hover::after {
            width: 50px;
            height: 50px;
            border-color: rgba(198, 139, 89, 0.5);
        }

        .cta-eyebrow {
            display: block;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--copper-solid);
            font-weight: 600;
            margin-bottom: 0.75rem;
            position: relative;
            z-index: 2;
        }

        .cta-title {
            font-family: var(--font-heading);
            font-size: 1.85rem;
            font-weight: 700;
            color: #ffffff;
            margin-bottom: 1.25rem;
            position: relative;
            z-index: 2;
            line-height: 1.3;
        }

        .cta-message {
            font-size: 1.05rem;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.88);
            margin-bottom: 2.25rem;
            max-width: 650px;
            margin-left: auto;
            margin-right: auto;
            position: relative;
            z-index: 2;
        }

        .cta-button-container {
            display: flex;
            justify-content: center;
            position: relative;
            z-index: 2;
        }

        .btn-primary-copper.luxury-cta-btn {
            padding: 14px 32px;
            font-size: 0.95rem;
            letter-spacing: 0.5px;
        }

        @media (max-width: 768px) {
            .luxury-block {
                padding: 2.25rem 1.75rem;
            }

            .luxury-block-title {
                font-size: 1.4rem;
            }

            .luxury-subblock-title {
                font-size: 1.2rem;
            }

            .luxury-block-text {
                font-size: 0.98rem;
            }

            .luxury-cta-block {
                padding: 2.5rem 1.75rem;
                margin: 3rem 1.5rem 0 1.5rem;
            }
        }

        /* ==========================================================================
   LUXURY QUICK NAV TABS BAR (DATES, ITINERARY, INCLUSIONS)
   ========================================================================== */
        .luxury-tabs-section {
            background-color: var(--deep-forest);
            padding: 24px;
            border-radius: 16px;
            margin-top: 35px;
            margin-bottom: 35px;
            display: flex;
            justify-content: center;
            box-shadow:
                inset 0 0 30px rgba(0, 0, 0, 0.3),
                0 8px 24px rgba(31, 58, 46, 0.12);
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(198, 139, 89, 0.15);
        }

        .luxury-tabs-outer {
            width: 100%;
            border: 1.5px solid rgba(198, 139, 89, 0.45);
            border-radius: 50px;
            padding: 4px;
            background: transparent;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
        }

        .luxury-tabs-inner {
            background-color: #FAF6EE;
            border: 1px solid var(--copper-solid);
            border-radius: 46px;
            display: flex;
            align-items: center;
            padding: 6px 36px 6px 8px;
            /* Symmetrical: Left is 8px + 28px (ornament) = 36px. Right is 36px padding. */
        }

        .luxury-tabs-ornament {
            background-color: var(--deep-forest);
            border: 1px solid var(--copper-solid);
            border-radius: 30px;
            height: 48px;
            width: 28px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 0;
            flex-shrink: 0;
            box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.4);
        }

        .luxury-tabs-ornament-star {
            color: var(--copper-solid);
            font-size: 13px;
            line-height: 1;
            text-shadow: 0 0 3px rgba(198, 139, 89, 0.6);
        }

        .luxury-tabs-links {
            display: flex;
            align-items: center;
            justify-content: space-evenly;
            flex: 1;
        }

        .luxury-tab-item {
            text-align: center;
            text-decoration: none !important;
            color: var(--deep-forest) !important;
            font-family: var(--font-heading);
            font-size: 1.12rem;
            font-weight: 500;
            padding: 8px 12px;
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border-radius: 30px;
            white-space: nowrap;
            flex: none;
        }

        .luxury-tab-item:hover {
            color: var(--copper-solid) !important;
            transform: translateY(-1px);
            text-shadow: 0 1px 2px rgba(198, 139, 89, 0.15);
        }

        .luxury-tab-item.active {
            color: var(--copper-solid) !important;
            font-weight: 700;
        }

        .luxury-tab-divider {
            width: 1px;
            height: 38px;
            background: linear-gradient(to bottom, transparent, var(--copper-solid) 30%, var(--copper-solid) 70%, transparent);
            opacity: 0.7;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .luxury-tab-divider-diamond {
            position: absolute;
            color: var(--copper-solid);
            font-size: 9px;
            background: #FAF6EE;
            padding: 4px 0;
            line-height: 1;
            text-shadow: 0 0 2px rgba(198, 139, 89, 0.5);
        }

        /* Responsiveness for tabs */
        @media (max-width: 768px) {
            .luxury-tabs-section {
                padding: 16px 12px;
                border-radius: 12px;
                margin-top: 25px;
                margin-bottom: 25px;
            }

            .luxury-tabs-outer {
                border-radius: 30px;
                padding: 2px;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                /* Hide scrollbar for clean premium look */
            }

            .luxury-tabs-outer::-webkit-scrollbar {
                display: none;
                /* Hide scrollbar Chrome/Safari/Opera */
            }

            .luxury-tabs-inner {
                border-radius: 28px;
                padding: 4px 16px;
                width: max-content;
                min-width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
            }

            .luxury-tabs-ornament {
                display: none;
                /* Hide ornament on mobile to save space */
            }

            .luxury-tabs-ornament-star {
                font-size: 10px;
            }

            .luxury-tab-item {
                font-size: 0.9rem;
                padding: 6px 8px;
                white-space: nowrap;
                /* Keep tabs on a single row */
            }

            .luxury-tab-divider {
                height: 28px;
            }

            .luxury-tab-divider-diamond {
                font-size: 7px;
            }
        }


        /* --- Premium Booking CTA Banner Section --- */
        .booking-cta-section {
            position: relative;
            padding: 0 15px;
            margin-top: 3.5rem;
            margin-bottom: 5.5rem;
        }

        .booking-cta-banner {
            position: relative;
            background: radial-gradient(circle at 75% 50%, #03341b 0%, #011108 100%);
            border: 1.5px solid #8c6527;
            border-radius: 15px;
            /* Slight corner radius exactly as in image */
            padding: 3.5rem 3.5rem 4rem 3.5rem;
            overflow: visible;
            /* allows Quick Quote button to align beautifully at bottom */
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6), 0 0 30px rgba(4, 46, 26, 0.45);
        }

        /* Inner gold border */
        .booking-cta-banner::before {
            content: '';
            position: absolute;
            top: 5px;
            left: 5px;
            right: 5px;
            bottom: 5px;
            border: 1.5px solid #8c6527;
            border-radius: 10px;
            /* inner border corner radius perfectly parallel */
            pointer-events: none;
            z-index: 2;
        }

        .banner-bg-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at center, transparent 35%, rgba(0, 0, 0, 0.5) 100%);
            z-index: 1;
            pointer-events: none;
            border-radius: 15px;
        }

        .banner-bg-silhouette {
            position: absolute;
            bottom: 12px;
            left: 30px;
            z-index: 1;
            pointer-events: none;
            opacity: 0.18;
        }

        .banner-container {
            position: relative;
            display: grid;
            grid-template-columns: 1.4fr auto 1fr;
            align-items: center;
            gap: 1.5rem;
            z-index: 3;
        }

        /* --- Left Column styles --- */
        .banner-left {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: center;
            gap: 1.8rem;
            padding-left: 0.5rem;
        }

        .star-ornament-container {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 120px;
        }

        .star-ornament-container .divider-line {
            position: absolute;
            z-index: 1;
        }

        .star-ornament-container svg {
            position: relative;
            z-index: 2;
        }

        .booking-text-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            width: 100%;
        }

        .booking-main-title {
            font-family: var(--font-heading);
            /* Playfair Display */
            font-size: 4.8rem;
            /* Massive title as in image */
            font-weight: 600;
            background: linear-gradient(to bottom, #fff3d1 0%, #dda244 50%, #966b24 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin: 0;
            letter-spacing: 1px;
            line-height: 1.05;
            text-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
        }

        .booking-subtitle {
            font-family: var(--font-body);
            /* Poppins */
            font-size: 0.95rem;
            font-weight: 500;
            color: #ffffff;
            margin: 0.25rem 0 0 0;
            letter-spacing: 2px;
            text-transform: uppercase;
            opacity: 0.85;
        }

        .gold-line-ornament {
            margin-top: 1rem;
            display: flex;
            justify-content: center;
            width: 100%;
        }

        /* --- Divider line in center --- */
        .banner-divider {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            height: 150px;
            width: 40px;
        }

        .divider-line {
            width: 1px;
            height: 100%;
            background: linear-gradient(to bottom, transparent, rgba(140, 101, 39, 0.6) 15%, rgba(140, 101, 39, 0.6) 85%, transparent);
        }

        .divider-ornament {
            position: absolute;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 2;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        /* --- Right Column styles --- */
        .banner-right {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 1.2rem;
            padding-right: 0.5rem;
        }

        .seats-alert-container {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .seats-alert {
            font-family: var(--font-body);
            font-size: 0.95rem;
            font-weight: 500;
            color: #dfba73;
            letter-spacing: 2px;
            margin: 0;
            text-transform: uppercase;
        }

        .seats-sparkle {
            display: flex;
            align-items: center;
        }

        /* ✦ ENQUIRE NOW Button - MATCHES DESIGN EXACTLY ✦ */
        .btn-gold-enquire {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            background: linear-gradient(to bottom, #ffebc2 0%, #dda244 40%, #b27a23 90%, #835411 100%);
            border: 1.5px solid #fff5cc;
            border-radius: 12px;
            /* Slight rounded rectangle as in image */
            padding: 16px 48px;
            color: #01140b !important;
            /* dark forest green text */
            font-family: var(--font-heading);
            font-size: 1.9rem;
            font-weight: 700;
            text-transform: uppercase;
            text-decoration: none;
            letter-spacing: 1px;
            white-space: nowrap;
            /* Keep enquire now content strictly on a single line */
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5),
                0 0 20px rgba(221, 162, 68, 0.2),
                inset 0 1.5px 0 rgba(255, 255, 255, 0.6),
                inset 0 -1.5px 0 rgba(0, 0, 0, 0.2);
            transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
            cursor: pointer;
            z-index: 1;
        }

        /* Inner thin border inside the button */
        .btn-gold-enquire::before {
            content: '';
            position: absolute;
            top: 3px;
            left: 3px;
            right: 3px;
            bottom: 3px;
            border: 1px solid rgba(1, 20, 11, 0.4);
            /* Thin line border inside the button */
            border-radius: 9px;
            pointer-events: none;
            z-index: 2;
            transition: border-color 0.3s ease;
        }

        /* Rose Pink Hover Effect */
        .btn-gold-enquire:hover {
            transform: translateY(-2px);
            background: linear-gradient(to bottom, #ffccd5 0%, #ff6b8b 40%, #d81b60 90%, #880e4f 100%);
            border-color: #ffb3c1;
            color: #ffffff !important;
            box-shadow: 0 12px 28px rgba(216, 27, 96, 0.45),
                0 0 25px rgba(255, 107, 139, 0.4),
                inset 0 1.5px 0 rgba(255, 255, 255, 0.6);
        }

        .btn-gold-enquire:hover::before {
            border-color: rgba(255, 255, 255, 0.45);
        }

        .btn-gold-enquire:hover .btn-emblem-svg {
            fill: #ffffff;
        }

        .btn-emblem-svg {
            fill: #01140b;
            opacity: 0.95;
            flex-shrink: 0;
            transition: fill 0.3s ease;
        }

        .availability-alert {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-family: var(--font-body);
            font-size: 0.85rem;
            font-weight: 500;
            color: #dfba73;
            margin: 0;
            letter-spacing: 1.5px;
            opacity: 0.85;
            text-transform: uppercase;
        }

        .availability-alert svg {
            flex-shrink: 0;
        }

        /* Overlapping Quick Quote Static Label Centered */
        .quick-quote-container {
            position: absolute;
            bottom: -18px;
            /* sits perfectly overlapping the bottom border */
            left: 50%;
            /* Centered horizontally under the entire banner! */
            transform: translateX(-50%);
            z-index: 5;
        }

        .quick-quote-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background-color: #011108;
            /* Fuses into the banner color style */
            border: 1.5px solid #8c6527;
            border-radius: 8px;
            /* Slightly rounded corners */
            padding: 8px 22px;
            color: #dfba73 !important;
            font-family: var(--font-body);
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
            pointer-events: none;
            /* It is not a button, disables click and default pointer cursor */
        }

        /* Responsive adjustment for CTA Banner */
        @media (max-width: 992px) {
            .banner-container {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }

            .booking-cta-banner {
                padding: 3rem 2rem 4rem 2rem;
            }

            .banner-left {
                grid-template-columns: 1fr;
                gap: 1rem;
                padding-left: 0;
            }

            .star-ornament-container {
                display: none;
                /* Hide vertical sparkle line on mobile for clean layout */
            }

            .banner-divider {
                height: auto;
                width: 100%;
                margin: 0.5rem 0;
            }

            .banner-divider .divider-line {
                width: 100%;
                height: 1px;
                background: linear-gradient(to right, transparent, rgba(140, 101, 39, 0.8) 20%, rgba(140, 101, 39, 0.8) 80%, transparent);
            }

            .banner-divider .divider-ornament {
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
                flex-direction: row;
            }

            .quick-quote-container {
                position: static;
                transform: none;
                margin-top: 1.5rem;
                display: flex;
                justify-content: center;
                width: 100%;
            }

            .booking-main-title {
                font-size: 3.5rem;
            }

            .btn-gold-enquire {
                font-size: 1.6rem;
                padding: 14px 36px;
            }
        }

        /* Mobile responsive adjustment for CTA Banner (down to 320px) */
        @media (max-width: 576px) {
            .booking-cta-banner {
                padding: 2.25rem 1rem 3.25rem 1rem !important;
            }

            .booking-cta-banner::before {
                top: 4px !important;
                left: 4px !important;
                right: 4px !important;
                bottom: 4px !important;
            }

            .booking-main-title {
                font-size: 2.2rem !important;
            }

            .booking-subtitle {
                font-size: 0.78rem !important;
                letter-spacing: 1px !important;
            }

            .btn-gold-enquire {
                font-size: 1.15rem !important;
                padding: 12px 18px !important;
                gap: 8px !important;
                border-radius: 10px !important;
            }

            .btn-gold-enquire::before {
                top: 3px !important;
                left: 3px !important;
                right: 3px !important;
                bottom: 3px !important;
                border-radius: 7px !important;
            }

            .btn-gold-enquire .btn-emblem-svg {
                width: 14px !important;
                height: 14px !important;
            }

            .seats-alert-container {
                gap: 6px !important;
            }

            .seats-alert {
                font-size: 0.8rem !important;
                letter-spacing: 1px !important;
            }

            .seats-sparkle svg {
                width: 16px !important;
                height: 16px !important;
            }

            .availability-alert {
                font-size: 0.72rem !important;
                letter-spacing: 0.8px !important;
                gap: 6px !important;
            }

            .availability-alert svg {
                width: 12px !important;
                height: 14px !important;
            }

            .quick-quote-container {
                margin-top: 1rem !important;
            }

            .quick-quote-label {
                padding: 6px 16px !important;
                font-size: 0.75rem !important;
                letter-spacing: 1px !important;
            }
        }

        /* Extreme Narrow Screen Adjustments (down to 320px) */
        @media (max-width: 500px) {
            .tour-page-container {
                padding: 110px 12px 0px 12px !important;
            }

            .tour-breadcrumbs {
                white-space: normal !important;
                word-break: break-word !important;
                display: flex !important;
                flex-wrap: wrap !important;
                line-height: 1.4 !important;
                gap: 2px !important;
            }

            .tour-main-title {
                font-size: 1.7rem !important;
                line-height: 1.2 !important;
            }

            .main-image-container {
                height: 200px !important;
            }

            .luxury-tabs-section {
                display: block !important;
                /* Force block layout so children are strictly bounded by parents */
                padding: 12px 8px !important;
            }

            .luxury-tabs-outer {
                width: 100% !important;
                max-width: 100% !important;
            }

            .luxury-tabs-inner {
                padding: 4px 10px !important;
            }

            .luxury-tab-item {
                font-size: 0.8rem !important;
                padding: 6px 6px !important;
            }

            .luxury-tab-divider {
                height: 22px !important;
            }

            .luxury-tab-divider-diamond {
                font-size: 6px !important;
            }

            .tour-desc-text {
                font-size: 0.95rem !important;
                line-height: 1.6 !important;
            }

            .section-title {
                font-size: 1.6rem !important;
            }

            .highlight-item {
                gap: 10px !important;
            }

            .highlight-item p {
                font-size: 0.92rem !important;
                line-height: 1.5 !important;
            }
        }

        /* Custom Header Navbar Responsiveness (down to 320px) */
        @media (max-width: 576px) {
            .top-navbar {
                height: 70px !important;
            }

            .navbar-grid {
                gap: 12px !important;
            }

            .main-logo {
                height: 44px !important;
            }

            .top-navbar .container-fluid {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }

            .menu-trigger {
                font-size: 11px !important;
                gap: 4px !important;
            }

            .nav-btn {
                font-size: 11px !important;
                padding: 6px 12px !important;
                border-radius: 6px !important;
            }
        }

        @media (max-width: 400px) {
            .tour-page-container {
                padding: 95px 10px 0px 10px !important;
            }

            .luxury-tabs-section {
                padding: 10px 4px !important;
                margin-top: 20px !important;
                margin-bottom: 20px !important;
            }

            .luxury-tab-item {
                font-size: 0.72rem !important;
                padding: 4px 4px !important;
            }

            .top-navbar {
                height: 60px !important;
            }

            .main-logo {
                height: 38px !important;
            }

            .navbar-grid {
                gap: 8px !important;
            }

            .menu-trigger {
                font-size: 10px !important;
            }

            .nav-btn {
                font-size: 10px !important;
                padding: 5px 10px !important;
            }
        }

        /* ==========================================================================
   Header Mobile Responsiveness (Aligns index.html with Vietnam.html mobile)
   ========================================================================== */
        @media (max-width: 991px) {
            .header-wrapper {
                position: sticky !important;
                top: 0 !important;
                z-index: 4050 !important;
            }

            .top-bar {
                height: 70px !important;
                padding: 0 15px !important;
                display: grid !important;
                grid-template-columns: auto 1fr auto !important;
                align-items: center !important;
                justify-content: stretch !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
            }

            .header-left {
                gap: 10px !important;
                justify-content: flex-start !important;
            }

            .header-right {
                gap: 10px !important;
                justify-content: flex-end !important;
            }

            /* Hide social icons on mobile to match Vietnam.html layout */
            .header-right .d-flex {
                display: none !important;
            }

            /* Transform centered logo from absolute hanging plate to inline flex-centered cell */
            .center-logo-wrapper {
                position: static !important;
                transform: none !important;
                background: transparent !important;
                padding: 0 !important;
                border-radius: 0 !important;
                display: flex !important;
                justify-content: center !important;
                align-items: center !important;
                height: 100% !important;
                z-index: auto !important;
            }

            .hanging-logo {
                width: auto !important;
                height: 44px !important;
                /* Matches .main-logo height on mobile */
                object-fit: contain !important;
            }

            /* Align scroll shrink state to match normal on mobile */
            .header-wrapper.scrolled .hanging-logo {
                height: 44px !important;
                width: auto !important;
                top: 0 !important;
            }
        }

        @media (max-width: 400px) {
            .top-bar {
                height: 60px !important;
            }

            .hanging-logo {
                height: 38px !important;
            }

            .header-wrapper.scrolled .hanging-logo {
                height: 38px !important;
            }
        }

        /* ==========================================================================
   FLIGHTS & GROUP TOUR PAGES RESPONSIVENESS OVERRIDES
   ========================================================================== */

        @media (max-width: 991px) {

            /* 1. Hero Section Layout Adjustments */
            .gt-hero {
                margin-top: 0 !important;
                padding-top: 1.5rem !important;
            }

            .gt-hero-inner {
                flex-direction: column !important;
                align-items: flex-start !important;
                text-align: left !important;
                gap: 1.5rem !important;
                padding-top: 2rem !important;
                padding-bottom: 2rem !important;
            }

            .gt-hero-left {
                padding-top: 0 !important;
                width: 100% !important;
            }

            .gt-hero-title {
                font-size: clamp(2.2rem, 5vw, 3.2rem) !important;
                line-height: 1.2 !important;
            }

            /* 2. Selection Grids Scaling */
            .selection-grid,
            .selection-grid.columns-3,
            .selection-grid.columns-4 {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 12px !important;
            }
        }

        @media (max-width: 768px) {

            /* 1. Section Title Downscaling (Overrides Inline Styles) */
            .gt-sec-title {
                font-size: 2.2rem !important;
                line-height: 1.2 !important;
            }

            .gt-how-section {
                padding: 4rem 0 !important;
            }

            /* 2. Selection Grids collapsing to 1 Column */
            .selection-grid,
            .selection-grid.columns-2,
            .selection-grid.columns-3,
            .selection-grid.columns-4 {
                grid-template-columns: 1fr !important;
            }

            /* 3. Flights Feature Grid Stacking & Destinations Spacing */
            .gt-gp-feat-section,
            .gt-gp-destinations {
                padding: 1.5rem 1.2rem !important;
            }

            .gt-gp-feat-grid {
                grid-template-columns: 1fr !important;
                gap: 1rem !important;
            }

            /* Hide the panel Close button inside the accordion body on mobile */
            .gt-gp-close,
            .gt-group-panel.open .gt-gp-close {
                display: none !important;
            }

            /* 4. "How It Works" Steps - 2-Column Responsive Cards on Mobile */
            .gt-how-grid {
                grid-template-columns: repeat(2, 1fr) !important;
                margin-left: 1rem !important;
                margin-right: 1rem !important;
                padding: 0 !important;
                /* Removes desktop 5rem side padding that squeezed mobile cards */
                gap: 12px !important;
                border: none !important;
                background: transparent !important;
                border-radius: 0 !important;
            }

            .gt-how-step {
                border: 1px solid rgba(0, 0, 0, 0.08) !important;
                border-radius: 8px !important;
                padding: 1.5rem 1.2rem !important;
                border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
            }

            .gt-how-step:last-child {
                grid-column: span 2 !important;
            }

            /* 5. Feature Comparison Tables Collapse (No horizontal scrolling) */
            .compare-section {
                padding: 0 1.5rem 2rem !important;
            }

            .feat-table {
                border: none !important;
                background: transparent !important;
                border-radius: 0 !important;
                box-shadow: none !important;
            }

            .feat-table thead,
            .feat-table th {
                display: none !important;
            }

            .feat-table tbody {
                display: flex !important;
                flex-direction: column !important;
                gap: 1.25rem !important;
            }

            .feat-table tr {
                display: flex !important;
                flex-direction: column !important;
                background: rgba(255, 255, 255, 0.03) !important;
                border: 1px solid rgba(255, 255, 255, 0.08) !important;
                border-radius: 12px !important;
                padding: 1.25rem !important;
                gap: 0.65rem !important;
            }

            .feat-table td {
                display: block !important;
                padding: 0 !important;
                border: none !important;
                font-size: 0.85rem !important;
                width: 100% !important;
                background: transparent !important;
                color: rgba(255, 255, 255, 0.75) !important;
            }

            /* First td becomes the primary header card label */
            .feat-table td:first-child {
                font-size: 0.95rem !important;
                color: var(--copper-solid) !important;
                font-weight: 600 !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
                padding-bottom: 0.5rem !important;
                margin-bottom: 0.25rem !important;
                background: transparent !important;
                width: 100% !important;
            }

            /* Column labels injection for the 3-column table (Full-service vs Budget) */
            #panel-fullservice .feat-table tr td:nth-child(2)::before {
                content: "Full-Service Airlines:" !important;
                display: block !important;
                font-size: 0.68rem !important;
                font-weight: 600 !important;
                text-transform: uppercase !important;
                letter-spacing: 0.05em !important;
                color: var(--primary-pink) !important;
                margin-bottom: 0.2rem !important;
            }

            #panel-fullservice .feat-table tr td:nth-child(3)::before {
                content: "Budget Airlines:" !important;
                display: block !important;
                font-size: 0.68rem !important;
                font-weight: 600 !important;
                text-transform: uppercase !important;
                letter-spacing: 0.05em !important;
                color: rgba(255, 255, 255, 0.4) !important;
                margin-bottom: 0.2rem !important;
                margin-top: 0.6rem !important;
            }
        }

        @media (max-width: 576px) {

            /* 1. Downscale Header Overlay Text to Prevent Clamping/Wrapping */
            .gt-gp-hero-title {
                font-size: 1.5rem !important;
            }

            .gt-gp-hero-sub {
                font-size: 0.78rem !important;
                margin-bottom: 0.8rem !important;
            }

            .gt-gp-hero-content {
                padding: 1.25rem !important;
            }

            /* 2. Hero Section Buttons - Premium Stacked Thumb CTA Controls */
            .gt-hero-ctas {
                display: flex !important;
                flex-direction: column !important;
                width: 100% !important;
                gap: 0.8rem !important;
            }

            .gt-hero-ctas .gt-btn-gold,
            .gt-hero-ctas .gt-btn-ghost {
                width: 100% !important;
                text-align: center !important;
                padding: 1rem 1.5rem !important;
            }

            /* 3. Enquiry Wizard Spacing Adjustments */
            .wizard-container {
                padding: 24px 16px !important;
            }

            .counter-controls {
                gap: 8px !important;
            }

            .btn-counter {
                width: 32px !important;
                height: 32px !important;
            }

            .counter-input {
                width: 36px !important;
            }

            .guest-counter-wrapper {
                padding: 12px !important;
            }

            /* 4. Wizard Navigation Footer Stacking */
            .wizard-footer {
                flex-direction: column-reverse !important;
                gap: 12px !important;
                align-items: stretch !important;
                padding-top: 20px !important;
            }

            .wizard-footer .btn-outline-copper,
            .wizard-footer .btn-primary-copper {
                width: 100% !important;
                text-align: center !important;
                margin: 0 !important;
                /* Clears ms-auto */
            }
        }

        @media (max-width: 480px) {

            /* 1. Downscale section Title more for extremely narrow viewports */
            .gt-sec-title {
                font-size: 1.8rem !important;
            }

            /* 2. Feat Strip items visual refinement */
            .gt-gp-feat-strip-item {
                padding: 0.5rem !important;
            }

            .gt-gp-feat-strip-item i {
                width: 18px !important;
                height: 18px !important;
            }

            .fs-label {
                font-size: 0.6rem !important;
            }

            .fs-sub {
                display: none !important;
                /* Hide details on super narrow screen */
            }

            /* 3. Steps list margin scaling for extreme mobile screens */
            .gt-how-grid {
                margin-left: 0.5rem !important;
                margin-right: 0.5rem !important;
                gap: 8px !important;
            }

            .gt-how-step {
                padding: 1.2rem 1rem !important;
            }
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            background: var(--bg);
            color: var(--ink);
            font-family: 'Poppins', sans-serif;
            font-weight: 300;
            overflow-x: hidden;
        }

        /* ── NAV ── */
        .logo {
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            color: #fff;
            text-decoration: none;
        }

        .logo span {
            color: var(--gold-lt);
        }

        .nav-back {
            padding: 0.45rem 1.4rem;
            border: 1.5px solid var(--pink);
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--pink-dark);
            background: var(--pink);
            text-decoration: none;
            font-weight: 600;
            border-radius: 2px;
            transition: background 0.2s;
        }

        .nav-back:hover {
            background: #fff;
        }

        /* ── HERO ── */
        .hero {
            position: relative;
            height: 400px;
            overflow: hidden;
        }

        .hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(10, 28, 20, 0.2) 0%, rgba(10, 28, 20, 0.82) 100%);
        }

        .hero-content {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 2.5rem 4rem;
        }

        .hero-eyebrow {
            font-size: 0.72rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: var(--gold-lt);
            margin-bottom: 0.6rem;
        }

        .hero-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.8rem, 4vw, 2.8rem);
            font-weight: 400;
            color: #fff;
            line-height: 1.15;
        }

        .hero-title em {
            font-style: italic;
            color: var(--gold-lt);
        }

        /* ── STATS BAR ── */
        .stats-bar {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            background: var(--deep-forest);
        }

        .stat-item {
            padding: 1.2rem 1rem;
            text-align: center;
            border-right: 1px solid rgba(255, 255, 255, 0.08);
        }

        .stat-item:last-child {
            border-right: none;
        }

        .stat-val {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--gold-lt);
            display: block;
            line-height: 1;
        }

        .stat-lbl {
            font-size: 0.65rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.4);
            margin-top: 0.35rem;
            display: block;
        }

        /* ── CONTENT ── */
        .content {
            max-width: 1020px;
            margin: 0 auto;
            padding: 4rem 2.5rem;
        }

        /* Section label */
        .sec-label {
            font-size: 0.82rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--gold);
            display: flex;
            align-items: center;
            gap: 0.7rem;
            margin-bottom: 1.6rem;
            font-weight: 700;
        }


        /* ── ABOUT SECTION ── */
        .about-full {
            margin-bottom: 4rem;
        }

        .about-full h2 {
            font-family: var(--font-heading);
            font-size: 2.1rem;
            font-weight: 400;
            color: var(--ink);
            line-height: 1.3;
            margin-bottom: 1.6rem;
        }

        .about-full h2 em {
            font-style: italic;
            color: var(--gold);
        }

        .about-cols {
            columns: 2;
            column-gap: 3rem;
        }

        .about-cols p {
            font-family: 'Poppins', sans-serif;
            font-size: 1.05rem;
            opacity: 0.85;
            color: var(--muted);
            line-height: 1.95;
            margin-bottom: 1rem;
            break-inside: avoid;
            font-weight: 300;
        }

        .about-cols p:last-child {
            margin-bottom: 0;
        }

        .about-reg-inline {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.6rem;
            margin-top: 1.4rem;
            padding: 1rem 1.8rem 0.9rem;
            background: var(--deep-forest);
            border-radius: 4px;
            box-shadow: 0 3px 14px rgba(30, 77, 59, 0.22);
        }

        .ari-since {
            font-family: 'Poppins', sans-serif;
            font-size: 1.15rem;
            color: var(--gold-lt);
            font-weight: 700;
            letter-spacing: 0.06em;
            line-height: 1;
            border-bottom: 1px solid rgba(181, 146, 74, 0.3);
            padding-bottom: 0.55rem;
            width: 100%;
        }

        .ari-since span {
            font-size: 0.6rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            font-family: 'Poppins', sans-serif;
            color: var(--gold-lt);
            opacity: 0.7;
            font-weight: 600;
            margin-right: 0.45rem;
            vertical-align: middle;
        }

        .ari-row {
            display: flex;
            align-items: baseline;
            gap: 1.6rem;
        }

        .ari-item {
            display: flex;
            align-items: baseline;
            gap: 0.5rem;
        }

        .ari-key {
            font-family: 'Poppins', sans-serif;
            font-size: 0.62rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--gold-lt);
            font-weight: 700;
        }

        .ari-val {
            font-family: 'Poppins', sans-serif;
            font-size: 0.95rem;
            color: var(--gold-lt);
            font-weight: 600;
            letter-spacing: 0.03em;
        }

        .ari-sep {
            width: 1px;
            height: 18px;
            background: rgba(181, 146, 74, 0.3);
        }

        /* ── QUICK CONTACT CARDS ── */
        .qc-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.2rem;
            margin-bottom: 4rem;
        }

        .qc-card {
            background: var(--deep-forest);
            padding: 1.6rem 1.5rem;
            border-radius: 3px;
            border-left: 3px solid var(--gold);
        }

        .qc-card.gold {
            border-left-color: var(--pink);
        }

        .qc-card.pink-top {
            border-top: 3px solid var(--pink);
            border-left: none;
        }

        .qc-icon {
            font-size: 1.4rem;
            margin-bottom: 0.7rem;
            display: block;
        }

        .qc-lbl {
            font-size: 0.72rem;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--gold-lt);
            font-weight: 600;
            margin-bottom: 0.45rem;
            opacity: 0.85;
        }

        .qc-main {
            font-size: 1rem;
            color: #fff;
            line-height: 1.7;
        }

        .qc-link {
            color: var(--alt);
            text-decoration: none;
            font-weight: 500;
        }

        .qc-link:hover {
            color: var(--gold-lt);
        }


                .qc-link-pink {
            color: var(--pink);
            text-decoration: none;
            font-weight: 500;
        }

        .qc-link-pink:hover {
            color: var(--gold-lt);
        }

        .qc-sub {
            font-size: 0.85rem;
            color: var(--gold-lt);
            margin-top: 0.4rem;
            line-height: 1.6;
            font-weight: 500;
        }

        /* ── FORMS ACCORDION ── */
        .forms-grid {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-bottom: 4.5rem;
        }

        .form-card {
            background: #fff;
            border-radius: 3px;
            overflow: hidden;
        }

        .form-hd {
            padding: 1.1rem 1.6rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            cursor: pointer;
            user-select: none;
            position: relative;
        }

        .form-hd::after {
            content: '';
            position: absolute;
            right: 1.6rem;
            top: 50%;
            transform: translateY(-50%) rotate(0deg);
            width: 10px;
            height: 10px;
            border-right: 2px solid rgba(255, 255, 255, 0.6);
            border-bottom: 2px solid rgba(255, 255, 255, 0.6);
            transform-origin: center;
            transition: transform 0.35s ease;
            transform: translateY(-65%) rotate(45deg);
        }

        .form-card.open .form-hd::after {
            transform: translateY(-35%) rotate(225deg);
        }

        .form-hd:hover {
            filter: brightness(1.08);
        }

        .hd-tour {
            background: var(--deep-forest);
        }

        .hd-flight {
            background: var(--bg-secondary);
        }

        .hd-gen {
            background: #4a3220;
        }

        .fh-icon {
            font-size: 1.3rem;
        }

        .fh-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.15rem;
            color: #fff;
            font-weight: 400;
            line-height: 1.2;
        }

        .fh-title em {
            color: var(--gold-lt);
            font-style: italic;
        }

        .fh-sub {
            font-size: 0.72rem;
            color: rgba(255, 255, 255, 0.48);
            margin-top: 2px;
            letter-spacing: 0.04em;
        }

        .form-body {
            padding: 0 1.6rem;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.45s ease, padding 0.3s ease;
        }

        .form-card.open .form-body {
            max-height: 1200px;
            padding: 1.4rem 1.6rem;
        }

        .form-success {
            display: none;
            text-align: center;
            padding: 0 1.6rem;
           
            overflow: hidden;
            transition: max-height 0.45s ease, padding 0.3s ease;
        }

        .form-card.open .form-success.show {
            max-height: 400px;
            padding: 2.5rem 1.6rem;
        }

        .form-row {
            margin-bottom: 0.9rem;
        }

        .form-r2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.65rem;
            margin-bottom: 0.9rem;
        }

        label {
            display: block;
            font-size: 0.72rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--muted);
            font-weight: 600;
            margin-bottom: 0.35rem;
        }

        input[type=text],
        input[type=email],
        input[type=tel],
        input[type=number],
        input[type=date],
        select,
        textarea {
            width: 100%;
            padding: 0.55rem 0.8rem;
            border: 1px solid rgba(181, 146, 74, 0.28);
            background: var(--bg);
            color: var(--ink);
            font-family: 'Poppins', sans-serif;
            font-size: 0.93rem;
            font-weight: 300;
            border-radius: 2px;
            outline: none;
            transition: border-color 0.2s;
        }

        input:focus,
        select:focus,
        textarea:focus {
            border-color: var(--gold);
        }

        select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23B5924A'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.75rem center;
            padding-right: 2rem;
        }

        textarea {
            resize: vertical;
            min-height: 78px;
            line-height: 1.65;
        }

        .form-note {
            font-size: 0.8rem;
            color: var(--muted);
            margin-bottom: 0.9rem;
            line-height: 1.65;
            padding: 0.55rem 0.8rem;
            background: rgba(181, 146, 74, 0.07);
            border-left: 2px solid var(--gold);
            border-radius: 0 2px 2px 0;
        }

        .btn-submit {
            width: 100%;
            padding: 0.82rem;
            font-family: 'Poppins', sans-serif;
            font-size: 0.8rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            font-weight: 700;
            border: none;
            cursor: pointer;
            border-radius: 2px;
            transition: background 0.2s;
            margin-top: 0.2rem;
        }

        .btn-t {
            background: var(--pink);
            color: var(--pink-dark);
        }

        .btn-t:hover {
            background: var(--gold-lt);
        }

        .btn-f {
            background: #2563eb;
            color: #fff;
        }

        .btn-f:hover {
            background: #1d4ed8;
        }

        .btn-g {
            background: #4a3220;
            color: #D4AE6A;
        }

        .btn-g:hover {
            background: #6b4a2f;
        }

        .form-success {
            display: none;
            text-align: center;
            padding: 2.5rem 1.2rem;
            flex: 1;
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .form-success.show {
            display: flex;
        }

        .fs-icon {
            font-size: 2.6rem;
            margin-bottom: 0.8rem;
        }

        .form-success h4 {
            font-family: 'Playfair Display', serif;
            font-size: 1.1rem;
            color: var(--deep-forest);
            margin-bottom: 0.5rem;
        }

        .form-success p {
            font-size: 0.88rem;
            color: var(--muted);
            line-height: 1.85;
        }

        /* ── PHONE NUMBERS ── */
        .phones-wrap {
            margin-bottom: 2rem;
        }

        .phones-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
        }

        .phone-card {
            background: var(--deep-forest);
            border-radius: 3px;
            padding: 1.8rem 1.7rem;
            border-left: 3px solid var(--gold);
        }

        .phone-card.flight-card {
            border-left-color: var(--pink);
        }

        .pc-head {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.2rem;
        }

        .pc-icon {
            font-size: 1.5rem;
        }

        .pc-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.15rem;
            color: var(--gold-lt);
            font-weight: 400;
        }

        .pc-title em {
            font-style: italic;
            color: var(--pink);
        }

        .pc-sub {
            font-size: 0.78rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            margin-top: 2px;
        }

        .phone-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .phone-list li {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
            padding: 9px 0;
            border-bottom: 1px solid rgba(181, 146, 74, 0.18);
        }

        .phone-list li:last-child {
            border-bottom: none;
        }

        .ph-num {
            font-weight: 600;
            color: var(--gold-lt);
            font-size: 1.02rem;
            letter-spacing: 0.02em;
        }

        .phone-card.flight-card .ph-num {
            color: var(--alt);
        }

        .ph-tag {
            font-size: 0.74rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.4);
            white-space: nowrap;
        }

        .wa-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            margin-top: 0.9rem;
            padding: 0.55rem 1.1rem;
            background: #25D366;
            color: #fff;
            font-family: 'Poppins', sans-serif;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            text-decoration: none;
            border-radius: 3px;
            transition: background 0.2s;
        }

        .wa-btn:hover {
            background: #1ebe5d;
        }

        .wa-btn svg {
            flex-shrink: 0;
        }

        /* ── REGION SUB-LABEL ── */
        .region-label {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            margin-bottom: 1rem;
            padding: 0.45rem 0;
        }

        .region-flag {
            font-size: 1.3rem;
        }

        .region-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.05rem;
            font-weight: 600;
            color: var(--ink);
            letter-spacing: 0.04em;
        }

        /* ── INDIA ACCORDION ── */
        .india-accordion {
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 0;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
        }

        .india-hd {
            background: linear-gradient(135deg, #8B3A0F 0%, #C05621 60%, #E07B39 100%);
            padding: 1.1rem 1.6rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            user-select: none;
            transition: filter 0.2s;
        }

        .india-hd:hover {
            filter: brightness(1.08);
        }

        .india-hd-left {
            display: flex;
            align-items: center;
            gap: 0.85rem;
        }

        .india-flag {
            font-size: 1.6rem;
        }

        .india-hd-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.15rem;
            color: #fff;
            font-weight: 400;
        }

        .india-hd-sub {
            font-size: 0.78rem;
            color: rgba(255, 255, 255, 0.85);
            margin-top: 2px;
            letter-spacing: 0.04em;
            font-weight: 500;
        }

        .india-chevron {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.7);
            transition: transform 0.35s ease;
        }

        .india-accordion.open .india-chevron {
            transform: rotate(180deg);
        }

        .india-body {
            background: #fff;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease, padding 0.3s ease;
            padding: 0 1.8rem;
        }

        .india-accordion.open .india-body {
            max-height: 1000px;
            padding: 1.8rem;
        }

        /* Staff grid */
        .india-staff-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
            margin-bottom: 1.4rem;
        }

        .india-staff-card {
            background: var(--bg);
            border-radius: 3px;
            padding: 1.1rem 1.2rem;
            border-left: 3px solid #C05621;
        }

        .india-staff-name {
            font-family: 'Playfair Display', serif;
            font-size: 1rem;
            color: var(--ink);
            font-weight: 600;
            margin-bottom: 2px;
        }

        .india-staff-role {
            font-size: 0.72rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #C05621;
            font-weight: 600;
            margin-bottom: 0.7rem;
        }

        .india-staff-contacts {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }

        .india-contact-row {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.88rem;
        }

        .india-contact-flag {
            font-size: 0.95rem;
        }

        .india-contact-label {
            font-size: 0.68rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--muted);
            font-weight: 600;
            min-width: 34px;
        }

        .india-contact-num {
            color: var(--bg-secondary);
            font-weight: 500;
            text-decoration: none;
        }

        .india-contact-num:hover {
            color: #C05621;
        }

        /* Office box */
        .india-office-box {
            background: linear-gradient(135deg, rgba(139, 58, 15, 0.06), rgba(192, 86, 33, 0.04));
            border: 1px solid rgba(192, 86, 33, 0.2);
            border-radius: 3px;
            padding: 1.2rem 1.4rem;
        }

        .india-office-head {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: 'Playfair Display', serif;
            font-size: 1rem;
            font-weight: 600;
            color: #8B3A0F;
            margin-bottom: 0.9rem;
        }

        .india-office-body {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        .india-office-addr {
            font-size: 0.9rem;
            color: var(--muted);
            line-height: 1.85;
        }

        .india-office-meta {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            justify-content: center;
        }

        .india-meta-key {
            font-size: 0.68rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #C05621;
            font-weight: 700;
            margin-right: 0.5rem;
        }

        .india-meta-val {
            font-size: 0.88rem;
            color: var(--ink);
        }

        @media(max-width:768px) {
            .india-staff-grid {
                grid-template-columns: 1fr;
            }

            .india-office-body {
                grid-template-columns: 1fr;
            }
        }

        /* ── DIVIDER ── */
        .divider {
            height: 1px;
            background: var(--border);
            margin: 3.5rem 0;
        }

        /* ── CTA BAR ── */
        .cta-bar {
            background: var(--deep-forest);
            padding: 2.8rem 4rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            flex-wrap: wrap;
        }

        .cta-left h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            color: #fff;
            font-weight: 400;
            margin-bottom: 0.4rem;
        }

        .cta-left p {
            font-size: 0.92rem;
            color: rgba(255, 255, 255, 0.55);
        }

        .cta-btns {
            display: flex;
            gap: 1rem;
            align-items: center;
            flex-wrap: wrap;
        }

        .btn-call {
            padding: 0.8rem 2rem;
            background: var(--pink);
            color: var(--pink-dark);
            font-size: 0.84rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            font-weight: 700;
            border-radius: 2px;
            text-decoration: none;
            display: inline-block;
            transition: background 0.2s;
        }

        .btn-call:hover {
            background: #fff;
        }

        .btn-wa {
            padding: 0.8rem 2rem;
            background: #25D366;
            color: #fff;
            font-size: 0.72rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            font-weight: 700;
            border-radius: 2px;
            text-decoration: none;
            display: inline-block;
            transition: background 0.2s;
        }

        .btn-wa:hover {
            background: #1ebe5d;
        }

        .btn-em {
            font-size: 0.84rem;
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
        }

        .btn-em:hover {
            color: var(--gold-lt);
        }

        /* ── WORKING HOURS ── */
        .hours-section {
            background: var(--bg-secondary);
            padding: 3.5rem 4rem;
        }

        .hours-inner {
            max-width: 1020px;
            margin: 0 auto;
        }

        .hours-header {
            display: flex;
            align-items: center;
            gap: 0.8rem;
            margin-bottom: 2rem;
        }

        .hours-icon {
            font-size: 1.5rem;
        }

        .hours-title {
            font-family: 'Playfair Display', serif;
            font-size: 1.55rem;
            color: #fff;
            font-weight: 400;
        }

        .hours-title em {
            color: var(--gold-lt);
            font-style: italic;
        }

        .hours-tz {
            font-size: 0.78rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--gold-lt);
            opacity: 0.85;
            margin-top: 5px;
        }

        .hours-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.2rem;
            margin-bottom: 1.8rem;
        }

        .hours-card {
            background: var(--deep-forest);
            border-radius: 4px;
            padding: 1.5rem 1.6rem;
            border-left: 3px solid var(--gold);
        }

        .hours-card.emergency {
            background: var(--deep-forest);
            border-left-color: var(--pink);
        }

        .hc-day {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.76rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--gold-lt);
            font-weight: 700;
            margin-bottom: 0.6rem;
        }

        .hc-time {
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            color: #fff;
            font-weight: 400;
            line-height: 1.3;
            margin-bottom: 0.45rem;
        }

        .hc-sub {
            font-size: 0.84rem;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.7;
        }

        .hc-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.28rem 0.7rem;
            background: rgba(234, 144, 173, 0.2);
            border: 1px solid var(--pink);
            border-radius: 20px;
            font-size: 0.72rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--pink);
            font-weight: 700;
            margin-bottom: 0.6rem;
        }

        .hours-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
            flex-wrap: wrap;
            padding: 1.2rem 1.5rem;
            background: rgba(181, 146, 74, 0.12);
            border: 1px solid rgba(181, 146, 74, 0.3);
            border-radius: 3px;
        }

        .hf-item {
            display: flex;
            align-items: center;
            gap: 0.55rem;
            font-size: 0.9rem;
            color: #fff;
            font-weight: 400;
            line-height: 1.5;
        }

        .hf-item span:first-child {
            font-size: 1.1rem;
        }

        @media(max-width:768px) {
            .hours-section {
                padding: 2.5rem 1.5rem;
            }

            .hours-grid {
                grid-template-columns: 1fr;
            }

            .hours-footer {
                flex-direction: column;
                align-items: flex-start;
            }
        }

        /* ── REGISTRATION STRIP ── */
        .reg-strip {
            background: #1A1814;
            padding: 2.8rem 4rem;
        }

        .reg-strip-inner {
            max-width: 1020px;
            margin: 0 auto;
            display: flex;
            align-items: flex-start;
            gap: 4rem;
            flex-wrap: wrap;
        }

        .rs-brand {
            flex-shrink: 0;
            min-width: 160px;
        }

        .rs-logo {
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            color: #fff;
            display: block;
            margin-bottom: 0.5rem;
        }

        .rs-logo span {
            color: var(--gold-lt);
        }

        .rs-tagline {
            font-size: 0.7rem;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.3);
            line-height: 1.6;
            display: block;
        }

        .rs-fields {
            display: flex;
            flex-wrap: wrap;
            gap: 0 3rem;
            flex: 1;
        }

        .rs-item {
            display: flex;
            flex-direction: column;
            gap: 4px;
            padding: 0.7rem 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            min-width: 140px;
            flex: 1;
        }

        .rs-key {
            font-size: 0.7rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--gold);
            font-weight: 600;
        }

        .rs-val {
            font-size: 0.96rem;
            color: rgba(255, 255, 255, 0.75);
            font-weight: 300;
        }

        /* ── RESPONSIVE ── */
        @media(max-width:900px) {
            .phones-grid {
                grid-template-columns: 1fr;
            }

            .qc-grid {
                grid-template-columns: 1fr;
            }
        }

        @media(max-width:768px) {
            .reg-strip {
                padding: 2rem 1.5rem;
            }

            .reg-strip-inner {
                flex-direction: column;
                gap: 1.5rem;
            }

            .rs-fields {
                gap: 0 1.5rem;
            }

            .about-cols {
                columns: 1;
            }

            nav {
                padding: 0.7rem 1.5rem;
            }

            .hero {
                height: 180px;
            }

            .hero-content {
                padding: 1.5rem;
            }

            .content {
                padding: 2.5rem 1.5rem;
            }

            .stats-bar {
                grid-template-columns: repeat(2, 1fr);
            }

            .form-r2 {
                grid-template-columns: 1fr;
            }

            .cta-bar {
                padding: 2rem 1.5rem;
                flex-direction: column;
                align-items: flex-start;
            }
        }

        /* ── OFFICE PHOTO SECTION ── */
        .office-photo-section {
            width: 100%;
            margin: 0;
            padding: 0;
        }

        .office-photo-wrap {
            position: relative;
            width: 100%;
            height: 420px;
            overflow: hidden;
        }

        .office-photo {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 40%;
            display: block;
            filter: brightness(0.88);
        }

        .office-photo-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(10, 28, 20, 0.82) 0%, rgba(10, 28, 20, 0.15) 55%, transparent 100%);
        }

        .office-photo-inner {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 2.5rem 4rem;
        }

        .office-eyebrow {
            font-size: 0.72rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: var(--gold-lt);
            display: block;
            margin-bottom: 0.6rem;
        }

        .office-photo-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.6rem, 3.5vw, 2.4rem);
            font-weight: 400;
            color: #fff;
            line-height: 1.2;
            margin-bottom: 0.5rem;
        }

        .office-photo-title em {
            font-style: italic;
            color: var(--gold-lt);
        }

        .office-photo-addr {
            font-size: 0.88rem;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: 0.06em;
        }
