/* =====================================================================
   Magnum Destination Management — public website
   Brand: TRAVEL. MANAGED DIFFERENTLY.
   Palette: Magnum Navy #0B1F33 · Charcoal #1C1C1C · Warm White #F7F5F0 · Gold #B9975B · White
   Type: Manrope throughout (800 headlines · 700 section heads · 600 buttons/subheads · 400 body)
   Grid/utilities: Bootstrap 5.3
   ===================================================================== */

:root {
    --navy: #0b1f33;
    --navy-2: #12304a;
    --navy-3: #1b4062;
    --ink: #1c1c1c;               /* charcoal */
    --text: #2f3338;
    --muted: #5d646d;
    --ivory: #efebe2;             /* alternate section ground */
    --ivory-2: #e6e0d3;
    --paper: #f7f5f0;             /* warm white — page ground */
    --white: #ffffff;
    --gold: #b9975b;
    --gold-2: #d2b987;
    --gold-ink: #7c6030;          /* gold for small text on light grounds (AA) */
    --teal: #2a7f7a;
    --line: rgba(11, 31, 51, .12);
    --line-2: #d9d3c6;
    --line-light: rgba(255, 255, 255, .16);
    --danger: #a8322a;
    --success: #2a7f5a;
    --whatsapp: #1f9e57;

    --ff-display: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --ff-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    --radius: 4px;
    --radius-sm: 2px;
    --shadow-sm: 0 1px 2px rgba(11, 31, 51, .06), 0 2px 8px rgba(11, 31, 51, .05);
    --shadow: 0 10px 30px -12px rgba(11, 31, 51, .22);
    --ease: cubic-bezier(.22, .61, .36, 1);
    --header-h: 76px;
    --gutter: clamp(20px, 4vw, 48px);
    --section-y: clamp(36px, 4.2vw, 56px);
}
/* ---------------------------------------------------------------------
   Base
   --------------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust: 100%; }
body.site,
.site button,
.site input,
.site select,
.site textarea,
.site .btn,
.site .btn-mg,
.site .form-control,
.site .form-select,
.site .nav-link,
.site .dropdown-item,
.site table {
    font-family: var(--ff-body);
}
body.site {
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--text);
    background: var(--paper);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
body.nav-open, body.modal-open { overflow: hidden; }
.site h1, .site h2, .site h3, .site h4, .site h5, .site h6,
.site .h1, .site .h2, .site .h3, .site .h4, .site .h5, .site .h6,
.section-title, .section-heading, .stats-title, .bestseller-main-title {
    color: var(--ink);
    font-family: var(--ff-display);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.12;
}
.site a { color: var(--navy); text-decoration: none; transition: color .2s var(--ease); }
.site a:hover { color: var(--gold-ink); }
.site img { max-width: 100%; height: auto; }
.site ::selection { background: var(--gold-2); color: var(--navy); }
.site :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
#main:focus { outline: none; }

.skip-link {
    position: fixed; left: 16px; top: -60px; z-index: 2000;
    background: var(--navy); color: #fff !important; padding: 10px 18px; border-radius: var(--radius);
    font-weight: 600; transition: top .2s;
}
.skip-link:focus { top: 12px; }

.wrap { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: var(--gutter); }
.wrap.narrow, .narrow { max-width: 860px; }
.narrow-center { max-width: 860px; margin-inline: auto; text-align: center; }

.section { padding-block: var(--section-y); position: relative; }
.section-tight { padding-block: clamp(22px, 2.6vw, 36px); }
.section-tight-top { padding-top: 0; }
.section-ivory { background: var(--ivory); }
.section-navy { background: var(--navy); color: rgba(255, 255, 255, .78); }
.section-navy h2, .section-navy h3 { color: #fff; }
.section-listing { padding-top: clamp(24px, 2.8vw, 38px); }

/* ---------------------------------------------------------------------
   Typography
   --------------------------------------------------------------------- */
.eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    font-family: var(--ff-body); font-size: 11.5px; font-weight: 700;
    letter-spacing: .22em; text-transform: uppercase; color: var(--gold-ink);
    margin: 0 0 14px;
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; flex: none; }
.eyebrow-light { color: var(--gold); }
.align-center .eyebrow, .narrow-center .eyebrow { justify-content: center; }
a.eyebrow-link:hover { color: #fff; }

.section-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: clamp(22px, 2.8vw, 36px); }
.section-head.align-center { text-align: center; align-items: center; }
.section-head.align-center .section-head-main { max-width: 760px; }
.section-head.align-split { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 32px; }
.section-head.align-split .section-head-main { max-width: 720px; }
.section-head .link-arrow { flex: none; }
.section-title { font-size: clamp(2rem, 3.6vw, 3.1rem); margin: 0; }
.section-text { margin: 16px 0 0; font-size: 1.05rem; color: var(--muted); max-width: 640px; }
.align-center .section-text { margin-inline: auto; }
.section-head.is-light .section-title { color: #fff; }
.section-head.is-light .section-text { color: rgba(255, 255, 255, .72); }

.lead-text { font-family: var(--ff-display); font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.5; color: var(--ink); font-weight: 400; }
.lead-text p { margin: 0 0 .8em; }
.lead-xl { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.rule-gold { display: block; width: 56px; height: 1px; background: var(--gold); margin: 0 auto 28px; }
.small-muted { color: var(--muted); font-size: .9rem; }
.block-title { font-family: var(--ff-body); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-ink); margin: 0 0 18px; }
.block-title-lg { font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin: 0 0 22px; }
.panel-title { font-size: 1.6rem; margin: 0 0 18px; }

.prose { color: var(--text); }
.prose > *:first-child { margin-top: 0; }
.prose h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin: 1.6em 0 .6em; }
.prose h3 { font-size: 1.45rem; margin: 1.4em 0 .5em; }
.prose h4 { font-family: var(--ff-body); font-size: 1rem; font-weight: 700; margin: 1.4em 0 .4em; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.1em; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: .35em; }
.prose li::marker { color: var(--gold); }
.prose a { color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; }
.prose blockquote { margin: 1.8em 0; padding: 4px 0 4px 26px; border-left: 2px solid var(--gold); font-family: var(--ff-display); font-size: 1.5rem; line-height: 1.45; color: var(--ink); font-style: normal; }
.prose img { border-radius: var(--radius); margin: 1.4em 0; }
.prose figure { margin: 1.8em 0; }
.prose figcaption { font-size: .85rem; color: var(--muted); margin-top: 8px; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .95rem; display: block; overflow-x: auto; }
.prose th, .prose td { border-bottom: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.prose th { font-weight: 700; color: var(--ink); background: var(--ivory); }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; opacity: 1; }
.prose-lg { font-size: 1.06rem; line-height: 1.8; }
.prose.small, .small { font-size: .9rem; }

/* ---------------------------------------------------------------------
   Buttons & links
   --------------------------------------------------------------------- */
.btn-mg {
    --bg: var(--navy); --fg: #fff; --bd: var(--navy);
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 50px; padding: 12px 28px;
    font-family: var(--ff-body); font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
    color: var(--fg) !important; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--radius-sm);
    cursor: pointer; text-align: center; line-height: 1.2; position: relative;
    transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.btn-mg:hover { transform: translateY(-1px); }
.btn-mg:active { transform: translateY(0); }
.btn-navy { --bg: var(--navy); --fg: #fff; --bd: var(--navy); }
.btn-navy:hover { --bg: var(--navy-3); --bd: var(--navy-3); }
.btn-gold { --bg: var(--gold); --fg: var(--navy); --bd: var(--gold); }
.btn-gold:hover { --bg: var(--gold-2); --bd: var(--gold-2); }
.btn-outline { --bg: transparent; --fg: var(--navy); --bd: rgba(11, 31, 51, .35); }
.btn-outline:hover { --bg: var(--navy); --fg: #fff; --bd: var(--navy); }
.btn-outline-light { --bg: transparent; --fg: #fff; --bd: rgba(255, 255, 255, .5); }
.btn-outline-light:hover { --bg: #fff; --fg: var(--navy); --bd: #fff; }
.btn-whatsapp { --bg: var(--whatsapp); --fg: #fff; --bd: var(--whatsapp); }
.btn-whatsapp:hover { --bg: #188a4b; --bd: #188a4b; }
.btn-sm { min-height: 42px; padding: 9px 20px; font-size: 11.5px; }
.btn-block { width: 100%; }
.btn-mg[disabled], .btn-mg.is-loading { pointer-events: none; opacity: .85; }
.btn-spinner { display: none; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: mg-spin .7s linear infinite; }
.btn-mg.is-loading .btn-spinner { display: inline-block; }
@keyframes mg-spin { to { transform: rotate(360deg); } }

.link-arrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
    color: var(--navy); padding-bottom: 4px; position: relative; width: fit-content;
}
.link-arrow::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold); transform: scaleX(.35); transform-origin: left; transition: transform .35s var(--ease); }
.link-arrow:hover::after, a:hover > .link-arrow::after, a:focus-visible .link-arrow::after { transform: scaleX(1); }
.link-arrow i { transition: transform .3s var(--ease); }
.link-arrow:hover i, a:hover .link-arrow i { transform: translateX(4px); }
.link-arrow-light, .site .link-arrow-light { color: #fff; }
.link-arrow-light:hover { color: var(--gold-2); }
.link-btn { background: none; border: 0; padding: 0; color: var(--navy); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; cursor: pointer; }

/* ---------------------------------------------------------------------
   Header
   --------------------------------------------------------------------- */
.site-header {
    position: sticky; top: 0; z-index: 1000; height: var(--header-h);
    color: var(--navy); background: #ffffff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 1px 4px rgba(11, 31, 51, 0.05);
    transition: box-shadow .3s var(--ease);
}
.site-header::before {
    display: none !important;
}
.site-header.is-solid, .site-header.is-menu-open, .site-header:has(.has-mega:hover), .site-header:has(.nav-item:focus-within), body.header-solid .site-header {
    background: #ffffff; color: var(--navy);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 2px 14px rgba(11, 31, 51, 0.08);
}
.site-header.is-solid::before, .site-header.is-menu-open::before, .site-header:has(.has-mega:hover)::before, .site-header:has(.nav-item:focus-within)::before, body.header-solid .site-header::before { opacity: 0; display: none !important; }
.site-header.is-solid { --header-h: var(--header-h); height: var(--header-h); }
.header-inner { position: relative; height: 100%; display: flex; align-items: center; gap: 28px; max-width: 1440px; }

.brand-link { display: inline-flex; color: inherit !important; flex: none; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 42px; height: 42px; color: var(--gold); flex: none; transition: transform .6s var(--ease); }
.brand-link:hover .brand-mark { transform: rotate(45deg); }
.brand-words { display: flex; flex-direction: column; line-height: 1; }
.brand-name { font-family: var(--ff-display); font-weight: 800; font-size: 24px; letter-spacing: .22em; text-transform: uppercase; color: var(--navy); }
.brand-sub { font-size: 8.5px; font-weight: 700; letter-spacing: .48em; text-transform: uppercase; color: var(--gold-ink); margin-top: 6px; padding-left: 2px; }
.brand-light { color: #fff; }
.brand-light .brand-name,
.site-footer .brand-name,
.mobile-nav-head .brand-name {
    color: #ffffff !important;
}
.brand-light .brand-sub,
.site-footer .brand-sub,
.mobile-nav-head .brand-sub {
    color: #d2b987 !important;
}

.main-nav { flex: 1; display: none; justify-content: center; }
.nav-list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.nav-item { position: relative; }
.nav-item.has-mega { position: static; }
.nav-link {
    display: inline-flex; align-items: center; gap: 6px; height: var(--header-h);
    padding: 0 14px; background: none; border: 0; color: inherit !important;
    font-family: var(--ff-body); font-size: 13px; font-weight: 600; letter-spacing: .06em;
    position: relative; cursor: pointer; white-space: nowrap;
}
.nav-link::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: calc(50% - 16px); height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.nav-link:hover::after, .nav-item.is-active > .nav-link::after, .nav-item.is-open > .nav-link::after, .nav-link[aria-current="page"]::after { transform: scaleX(1); }
.nav-link .bi { font-size: 10px; transition: transform .3s var(--ease); }
.nav-item.is-open > .nav-link .bi { transform: rotate(180deg); }

/* Mega panel */
.mega {
    position: absolute; left: 0; right: 0; top: 100%;
    background: #ffffff; color: var(--text); border-top: 1px solid var(--line);
    box-shadow: 0 24px 50px -12px rgba(11, 31, 51, .22);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s;
}
.nav-item.is-open > .mega,
.no-js .has-mega:hover > .mega, .no-js .has-mega:focus-within > .mega {
    opacity: 1; visibility: visible; transform: none; transition-delay: 0s;
}
.mega-inner { display: grid; grid-template-columns: 1fr; gap: 40px; padding-block: 36px 40px; max-width: 1320px; }
.mega-inner.has-feature { grid-template-columns: 1fr 340px; }
.mega-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 28px; }
.mega-cols.is-flat { display: block; }
.mega-col {
    position: relative;
    padding-right: 14px;
}
.mega-col:not(:last-child) {
    border-right: 1px solid rgba(11, 31, 51, 0.08);
}
.mega-heading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--gold-ink) !important;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gold);
    width: 100%;
}
a.mega-heading {
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s var(--ease), border-color 0.2s var(--ease);
}
a.mega-heading:hover {
    color: var(--navy) !important;
    border-bottom-color: var(--navy);
}
.mega-col ul, .mega-flat { list-style: none; padding: 0; margin: 0; }
.mega-col li a {
    display: inline-flex;
    align-items: center;
    padding: 6.5px 0;
    font-family: var(--ff-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    line-height: 1.35;
    transition: color 0.2s var(--ease), transform 0.2s var(--ease);
}
.mega-col li a:hover, .mega-col li a[aria-current="page"] {
    color: var(--gold-ink);
    transform: translateX(4px);
}
.mega-flat { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 36px; }
.mega-flat a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); }
.mega-flat a span { display: block; font-family: var(--ff-body); font-size: 14px; font-weight: 600; color: var(--ink); }
.mega-flat a small { display: block; color: var(--muted); font-size: .82rem; margin-top: 2px; }
.mega-flat a:hover span { color: var(--gold-ink); }
.mega-feature {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 12px;
    overflow: hidden;
    min-height: 290px;
    color: #fff !important;
    background: var(--navy);
    box-shadow: 0 10px 28px rgba(11, 31, 51, 0.16);
    border: 1px solid rgba(185, 151, 91, 0.3);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
}
.mega-feature:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px rgba(11, 31, 51, 0.25);
    border-color: var(--gold);
}
.mega-feature-media, .mega-feature-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mega-feature-media img { transition: transform 1.2s var(--ease); }
.mega-feature:hover .mega-feature-media img { transform: scale(1.05); }
.mega-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5, 16, 28, .92) 15%, rgba(5, 16, 28, .5) 60%, rgba(5, 16, 28, .15) 100%); }
.mega-feature-body {
    position: relative;
    z-index: 2;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mega-feature-text {
    font-family: var(--ff-body);
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}
.mega-feature .eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.18em;
    color: var(--gold-2);
    margin: 0;
}
.mega-feature .link-arrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
}
.mega-feature .link-arrow i {
    color: var(--gold);
}
.mega-foot { align-self: end; }

/* Simple dropdown */
.dropdown-panel {
    position: absolute; top: 100%; left: 0; min-width: 240px;
    background: var(--paper); color: var(--text); border: 1px solid var(--line); border-radius: 0 0 var(--radius) var(--radius);
    box-shadow: var(--shadow); padding: 10px 0;
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .2s var(--ease), transform .2s var(--ease), visibility 0s linear .2s;
}
.nav-item.is-open > .dropdown-panel, .no-js .has-drop:hover > .dropdown-panel, .no-js .has-drop:focus-within > .dropdown-panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.dropdown-panel ul { list-style: none; margin: 0; padding: 0; }
.dropdown-panel a { display: block; padding: 9px 22px; font-size: 14px; color: var(--ink); }
.dropdown-panel a:hover, .dropdown-panel a[aria-current="page"] { background: var(--ivory); color: var(--gold-ink); }

.header-actions { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.header-phone { display: none; align-items: center; gap: 8px; color: inherit !important; font-size: 13px; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.header-phone .bi { color: var(--gold); }
.header-cta { display: none; }

.nav-burger { width: 44px; height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: inherit !important; }
.nav-burger span { display: block; width: 24px; height: 1.5px; background: currentColor; transition: transform .3s var(--ease), opacity .3s; }
.nav-burger span:nth-child(2) { width: 16px; margin-left: 8px; }

@media (min-width: 1200px) {
    .main-nav { display: flex; }
    .nav-burger { display: none; }
    .header-cta { display: inline-flex; }
}
@media (min-width: 1200px) and (max-width: 1360px) {
    .header-inner { gap: 14px; }
    .nav-link { padding: 0 9px; font-size: 12.5px; }
    .header-actions { gap: 12px; }
    .header-cta { padding: 8px 14px; font-size: 11.5px; }
    .mega-inner { gap: 24px; padding-block: 28px 32px; }
    .mega-inner.has-feature { grid-template-columns: 1fr 280px; }
    .mega-cols { gap: 18px; }
    .mega-col { padding-right: 8px; }
    .mega-heading { font-size: 10px; margin-bottom: 12px; padding-bottom: 8px; }
    .mega-col li a { font-size: 13px; padding: 5px 0; }
}
@media (min-width: 1400px) { .header-phone { display: inline-flex; } }
@media (min-width: 768px) and (max-width: 1199.98px) { .header-cta { display: inline-flex; } }

@media (max-width: 480px) {
    .brand-mark { width: 34px; height: 34px; }
    .brand-name { font-size: 18px; letter-spacing: .16em; }
    .brand-sub { font-size: 7.5px; letter-spacing: .36em; margin-top: 4px; }
    .header-inner { gap: 12px; }
    .nav-burger { width: 38px; height: 38px; }
}
@media (max-width: 360px) {
    .brand-mark { width: 30px; height: 30px; }
    .brand-name { font-size: 16px; letter-spacing: .12em; }
    .brand-sub { display: none; }
}

/* Mobile off-canvas (Clean & Compact Font Sizes matching Desktop) */
.mobile-nav {
    position: fixed; inset: 0 0 0 auto; z-index: 1100; width: min(380px, 100%);
    background: var(--navy); color: rgba(255, 255, 255, .85);
    display: flex; flex-direction: column;
    transform: translateX(100%); visibility: hidden;
    transition: transform .45s var(--ease), visibility 0s linear .45s;
}
.mobile-nav.is-open, .mobile-nav:target { transform: none; visibility: visible; transition-delay: 0s; }
.mobile-nav-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--line-light); min-height: 68px; }
.mobile-nav-head .brand-mark { width: 34px; height: 34px; }
.mobile-nav-head .brand-name { font-size: 20px; }
.mobile-nav-close { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; font-size: 18px; }
.mobile-nav-body { flex: 1; overflow-y: auto; padding: 8px 20px 24px; overscroll-behavior: contain; }
.m-list { list-style: none; margin: 0; padding: 0; }
.m-item { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.m-link {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    padding: 13px 0; background: none; border: 0; color: #fff !important;
    font-family: var(--ff-body); font-size: 14.5px; font-weight: 600; letter-spacing: 0.03em;
    text-align: left; transition: color 0.2s;
}
.m-link:hover, .m-link[aria-current="page"] { color: var(--gold) !important; }
.m-toggle .bi { font-size: 13px; color: var(--gold); transition: transform .3s var(--ease); }
.m-toggle[aria-expanded="true"] .bi { transform: rotate(45deg); }
.m-sub { display: none; padding: 4px 0 16px 8px; }
.m-sub.is-open, .no-js .m-sub { display: block; }
.m-sub ul { list-style: none; margin: 0 0 8px; padding: 0; }
.m-sub li a {
    display: block; padding: 7px 0 7px 12px; color: rgba(255, 255, 255, .82) !important;
    font-size: 13.5px; border-left: 2px solid rgba(185, 151, 91, 0.25);
    transition: color 0.2s, border-left-color 0.2s, padding-left 0.2s;
}
.m-sub li a:hover { color: var(--gold) !important; border-left-color: var(--gold); padding-left: 16px; }
.m-sub-heading {
    margin: 12px 0 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .2em;
    text-transform: uppercase; color: var(--gold); padding-left: 4px;
}
a.m-sub-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}
a.m-sub-heading:hover { color: #fff !important; }
.m-sub-all {
    display: inline-flex; gap: 8px; align-items: center; margin: 6px 0 8px 4px;
    font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    color: var(--gold) !important;
}
.mobile-nav-foot { padding-top: 22px; display: grid; gap: 16px; }
.mobile-nav-contact { display: grid; gap: 10px; }
.mobile-nav-contact a { display: inline-flex; gap: 10px; align-items: center; color: rgba(255, 255, 255, .85) !important; font-size: 13.5px; }
.mobile-nav-contact .bi { color: var(--gold); }
.nav-scrim { position: fixed; inset: 0; z-index: 1090; background: rgba(5, 16, 28, .55); opacity: 0; visibility: hidden; transition: opacity .35s, visibility 0s linear .35s; }
body.nav-open .nav-scrim, .mobile-nav:target ~ .nav-scrim { opacity: 1; visibility: visible; transition-delay: 0s; }

/* ---------------------------------------------------------------------
   Heroes & Banners (Unified 1920x800 Ratio & Home-Page Matching Top Gap)
   --------------------------------------------------------------------- */
.page-hero, .article-hero, .thanks-hero, .error-hero {
    position: relative; overflow: hidden; isolation: isolate;
    background: var(--navy); color: rgba(255, 255, 255, .86);
    display: flex; align-items: flex-end; width: 100%;
    min-height: clamp(560px, calc(100vh - var(--header-h, 72px)), 700px);
}
/* Unified proportional ratio matching 1920x800 canvas and home page height */
.page-hero.has-image,
.page-hero.size-lg,
.page-hero.size-md.has-image {
    min-height: clamp(560px, calc(100vh - var(--header-h, 72px)), 700px);
    aspect-ratio: 1920 / 800;
}
.page-hero.size-sm.has-image { min-height: clamp(480px, 36vw, 640px); }
.page-hero.no-image.size-sm { min-height: clamp(320px, 24vw, 440px); }
.page-hero.no-image.size-md { min-height: clamp(400px, 30vw, 540px); }
.page-hero.no-image.size-lg { min-height: clamp(480px, 36vw, 640px); }
.page-hero.size-md:not(.has-image) { min-height: clamp(400px, 30vw, 540px); }
.page-hero.size-sm:not(.has-image) { min-height: clamp(320px, 24vw, 440px); }

.page-hero-media, .home-hero-media, .cta-band-media, .article-hero-media, .detail-hero-media, .dmc-hero-media {
    position: absolute; inset: 0; z-index: -2; overflow: hidden;
    background-color: #0b1f33; /* Fallback navy ensures zero layout breaks */
}
.page-hero-media picture,
.home-hero-media picture,
.cta-band-media picture,
.article-hero-media picture,
.detail-hero-media picture,
.dmc-hero-media picture {
    display: block;
    width: 100% !important;
    height: 100% !important;
}
.page-hero-media img,
.home-hero-media img,
.cta-band-media img,
.article-hero-media img,
.detail-hero-media img,
.dmc-hero-media img,
.hero-media-img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    image-rendering: auto !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    filter: none !important;
    animation: none !important;
    will-change: auto !important;
}
.home-hero-shade, .page-hero.has-image .page-hero-shade, .article-hero.has-image .page-hero-shade { position: absolute; inset: 0; z-index: -1; background: none !important; display: none !important; }
.page-hero-shade { position: absolute; inset: 0; z-index: -1; display: none !important; }
.page-hero.no-image .page-hero-shade, .article-hero:not(.has-image) .page-hero-shade { display: block !important; background: radial-gradient(120% 90% at 85% 0%, rgba(42, 127, 122, .18), transparent 60%), linear-gradient(160deg, var(--navy-2), var(--navy) 60%); }
.page-hero-pattern { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.hero-watermark { position: absolute; right: -6%; top: 50%; width: min(620px, 70vw); height: auto; aspect-ratio: 1; transform: translateY(-50%); color: var(--gold); opacity: .07; }

/* Guaranteed top bar gap matching home page overlay spacing */
.page-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-top: clamp(100px, 12vh, 150px);
    padding-bottom: clamp(36px, 4.5vh, 60px);
}

/* Text-Only Gradient Overlay: Seamless directional fade with zero visible right edge */
.page-hero-copy,
.article-hero-copy {
    position: relative;
    width: fit-content;
    max-width: min(780px, 100%);
    padding: 25px 30px;
    color: #fff;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.page-hero-copy::before,
.article-hero-copy::before {
    content: "";
    position: absolute;
    inset: 0 -120px 0 0;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(
        90deg,
        rgba(7, 25, 43, 0.78) 0%,
        rgba(7, 25, 43, 0.58) 45%,
        rgba(7, 25, 43, 0.25) 75%,
        rgba(7, 25, 43, 0.05) 90%,
        transparent 100%
    );
    z-index: -1;
    pointer-events: none;
}
.page-hero.align-center .page-hero-copy::before { 
    inset: 0 -40px 0 -40px;
    border-radius: 4px;
    background: radial-gradient(ellipse at center, rgba(7, 25, 43, 0.75) 0%, rgba(7, 25, 43, 0.35) 65%, transparent 100%);
}
.page-hero-title { 
    color: #F7F5F0 !important; 
    font-size: clamp(2.3rem, 5vw, 4.2rem); 
    font-weight: 800; 
    line-height: 1.05; 
    margin: 0 0 16px; 
    letter-spacing: -.03em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
.page-hero.size-sm .page-hero-title { font-size: clamp(2.4rem, 4.6vw, 3.8rem); }
.page-hero-sub { 
    font-size: clamp(1.02rem, 1.35vw, 1.18rem); 
    line-height: 1.58; 
    max-width: 640px; 
    color: #F7F5F0 !important; 
    margin: 0; 
}
.page-hero-copy .eyebrow,
.article-hero-copy .eyebrow,
.page-hero-copy .eyebrow-light {
    color: #B9975B !important;
}
.page-hero-copy .eyebrow::before,
.article-hero-copy .eyebrow::before {
    background: #B9975B !important;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.hero-meta { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 14px; }
.hero-meta li { display: inline-flex; gap: 8px; align-items: center; color: #F7F5F0 !important; }
.hero-meta .bi { color: #B9975B !important; }

/* Page Hero Action Buttons matching design */
.page-hero .hero-actions .btn-mg,
.article-hero .hero-actions .btn-mg {
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.04em;
    padding: 12px 24px;
    border-radius: 4px;
    text-transform: uppercase;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.page-hero .hero-actions .btn-gold,
.article-hero .hero-actions .btn-gold {
    background: #B9975B !important;
    color: #0c1c2e !important;
    border: 1.5px solid #B9975B !important;
    box-shadow: 0 4px 14px rgba(185, 151, 91, 0.3) !important;
}
.page-hero .hero-actions .btn-gold:hover,
.article-hero .hero-actions .btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(185, 151, 91, 0.45) !important;
    background: #c8a76d !important;
    border-color: #c8a76d !important;
    color: #0c1c2e !important;
}
.page-hero .hero-actions .btn-outline-light,
.page-hero .hero-actions .btn-glass-navy,
.article-hero .hero-actions .btn-outline-light,
.article-hero .hero-actions .btn-glass-navy {
    background: transparent !important;
    border: 1.5px solid #F7F5F0 !important;
    color: #F7F5F0 !important;
    backdrop-filter: blur(4px);
}
.page-hero .hero-actions .btn-outline-light:hover,
.page-hero .hero-actions .btn-glass-navy:hover,
.article-hero .hero-actions .btn-outline-light:hover,
.article-hero .hero-actions .btn-glass-navy:hover {
    background: rgba(247, 245, 240, 0.15) !important;
    border-color: #F7F5F0 !important;
    color: #F7F5F0 !important;
    transform: translateY(-2px);
}

/* Breadcrumbs in Crisp White / Warm White for maximum visibility */
.breadcrumbs,
.breadcrumbs * {
    color: #F7F5F0 !important;
}
.breadcrumbs ol {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
    line-height: 1.4 !important;
}
.breadcrumbs li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #F7F5F0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.breadcrumbs a {
    color: #F7F5F0 !important;
    text-decoration: none !important;
    opacity: 0.88 !important;
    transition: color 0.18s ease, opacity 0.18s ease, text-decoration 0.18s ease !important;
}
.breadcrumbs a:hover,
.breadcrumbs a:focus {
    color: #B9975B !important;
    opacity: 1 !important;
    text-decoration: underline !important;
}
.breadcrumbs [aria-current="page"] {
    color: #ffffff !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    max-width: 42ch !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.breadcrumbs li + li::before {
    content: "/" !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 11px !important;
    margin-right: 2px !important;
}

/* Home hero */
.home-hero { position: relative; isolation: isolate; min-height: max(680px, 100svh); display: flex; align-items: flex-end; color: #fff; background: var(--navy); overflow: hidden; }
.home-hero-media img { animation: none !important; transform: translate3d(0, 0, 0) !important; image-rendering: -webkit-optimize-contrast !important; image-rendering: crisp-edges !important; image-rendering: auto !important; }
.home-hero-shade { background: none !important; display: none !important; }
.home-hero-inner { position: relative; padding-top: 36px; padding-bottom: 36px; width: 100%; }
.home-hero-copy { max-width: 860px; }
.home-hero-title { color: #fff !important; font-size: clamp(2.6rem, 6.2vw, 5.4rem); line-height: 1; font-weight: 800; letter-spacing: -.035em; margin: 0 0 24px; }
.home-hero-sub { font-size: clamp(1.05rem, 1.5vw, 1.25rem); color: rgba(255, 255, 255, .86); max-width: 620px; margin: 0; }
.hero-rise { animation: mg-rise 1s var(--ease) both; }
.home-hero-copy .hero-rise:nth-child(2) { animation-delay: .12s; }
.home-hero-copy .hero-rise:nth-child(3) { animation-delay: .24s; }
.home-hero-copy .hero-rise:nth-child(4) { animation-delay: .36s; }
.journey-search.hero-rise { animation-delay: .45s; }
@keyframes mg-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.journey-search {
    margin-top: 48px; display: grid; grid-template-columns: 1fr; gap: 0;
    background: var(--paper); color: var(--text); border-radius: var(--radius); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
    overflow: hidden;
}
.js-field { padding: 14px 22px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.js-field label { font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 2px; }
.js-field select { border: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230b1a33' stroke-width='1.5' d='M3 6l5 5 5-5'/%3E%3C/svg%3E") no-repeat right center; appearance: none; -webkit-appearance: none; padding: 4px 22px 4px 0; font-family: var(--ff-display); font-size: 1.3rem; color: var(--ink); cursor: pointer; width: 100%; }
.js-field select:focus { outline: none; }
.js-field:focus-within { background: var(--ivory); }
.js-submit { padding: 16px 22px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.js-submit .btn-mg { width: 100%; min-height: 56px; }
.js-quick { background: none; border: 0; padding: 0; font-size: 13px; color: var(--muted); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; cursor: pointer; }
.js-quick:hover { color: var(--navy); }
.hero-quicklinks { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 26px; }
.hero-quicklinks a { color: rgba(255, 255, 255, .85) !important; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding-bottom: 3px; border-bottom: 1px solid rgba(185, 151, 91, .5); }
.hero-quicklinks a:hover { color: var(--gold) !important; border-bottom-color: var(--gold); }
@media (min-width: 768px) {
    .journey-search { grid-template-columns: 1fr 1fr; }
    .js-field:nth-child(odd) { border-right: 1px solid var(--line); }
    .js-submit { grid-column: 1 / -1; flex-direction: row; align-items: center; }
    .js-submit .btn-mg { width: auto; }
}
@media (min-width: 1100px) {
    .journey-search { grid-template-columns: 1.3fr 1fr 1fr auto; align-items: stretch; }
    .js-field { border-bottom: 0; border-right: 1px solid var(--line); padding: 18px 26px; }
    .js-submit { grid-column: auto; flex-direction: column; align-items: stretch; padding: 14px; gap: 6px; }
    .js-submit .btn-mg { min-height: 54px; }
}

/* ---------------------------------------------------------------------
   Grids & rails
   --------------------------------------------------------------------- */
.grid-3, .grid-4 { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 640px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .grid-3 { grid-template-columns: repeat(3, 1fr); gap: 32px; } }
@media (min-width: 1100px) { .grid-4 { grid-template-columns: repeat(4, 1fr); } }

.rail-wrap { position: relative; }
.rail {
    display: flex; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); -webkit-overflow-scrolling: touch;
    scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); padding-bottom: 6px;
}
.rail::-webkit-scrollbar { display: none; }
.rail > * { flex: 0 0 82%; scroll-snap-align: start; min-width: 0; }
@media (min-width: 640px) { .rail > * { flex-basis: 46%; } }
@media (min-width: 992px) { .rail > * { flex-basis: calc((100% - 2 * 24px) / 3); } .rail { gap: 24px; } }
@media (min-width: 1200px) { .rail-cards > * { flex-basis: calc((100% - 3 * 24px) / 4); } }
.rail-testi > * { flex-basis: 88%; }
@media (min-width: 768px) { .rail-testi > * { flex-basis: calc((100% - 24px) / 2); } }
@media (min-width: 1200px) { .rail-testi > * { flex-basis: calc((100% - 2 * 24px) / 3); } }

@media (min-width: 992px) {
    .rail-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; overflow: visible; margin-inline: 0; padding-inline: 0; }
    .rail-nav-mobile { display: none !important; }
}
.rail-nav { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; }
.rail-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(11, 31, 51, .25); background: transparent; color: var(--navy); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: all .25s var(--ease); }
.rail-btn:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.rail-btn[disabled] { opacity: .35; pointer-events: none; }
.section-navy .rail-btn { border-color: var(--line-light); color: #fff; }
.section-navy .rail-btn:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }

/* Destination mosaic (desktop), rail on mobile */
@media (min-width: 992px) {
    .dest-mosaic { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 420px; gap: 24px; overflow: visible; margin-inline: 0; padding-inline: 0; }
    .dest-mosaic > * { grid-column: span 4; }
    .dest-mosaic.count-1 > * { grid-column: span 12; }
    .dest-mosaic.count-2 > *, .dest-mosaic.count-5 > :nth-child(-n+2) { grid-column: span 6; }
    .dest-mosaic.count-4 > :nth-child(1), .dest-mosaic.count-4 > :nth-child(4),
    .dest-mosaic.count-6 > :nth-child(1), .dest-mosaic.count-6 > :nth-child(4) { grid-column: span 8; }
    .dest-mosaic.count-6 > :nth-child(5), .dest-mosaic.count-6 > :nth-child(6) { grid-column: span 6; }
    .dest-mosaic .card-dest, .dest-mosaic .card-dest-link, .dest-mosaic .card-dest-media { height: 100%; }
    .dest-mosaic .card-dest-media { aspect-ratio: auto; }
}

/* ---------------------------------------------------------------------
   Cards
   --------------------------------------------------------------------- */
.card-kicker { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-ink); margin: 0 0 10px; }
.card-title { font-size: 1.55rem; line-height: 1.2; margin: 0 0 10px; }
.card-title a { color: var(--ink); background: linear-gradient(var(--gold), var(--gold)) no-repeat 0 100% / 0 1px; transition: background-size .4s var(--ease); }
.card-title a:hover, article:hover .card-title a { background-size: 100% 1px; color: var(--ink); }
.card-text { color: var(--muted); font-size: .94rem; margin: 0 0 16px; }
.card-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--muted); margin: 0 0 12px; }
.card-meta .bi { color: var(--gold-ink); margin-right: 5px; }
.card-meta-cat { color: var(--gold-ink); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 11px; }
.card-cta { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.card-cta i { transition: transform .3s var(--ease); }
a:hover .card-cta i { transform: translateX(4px); }
.card-tag { position: absolute; left: 16px; top: 16px; z-index: 2; padding: 6px 12px; background: rgba(251, 250, 247, .94); color: var(--navy); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; border-radius: var(--radius-sm); }
.card-chip { position: absolute; right: 16px; bottom: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: rgba(11, 31, 51, .78); color: #fff; font-size: 12px; font-weight: 600; border-radius: var(--radius-sm); backdrop-filter: blur(4px); }
.card-chip .bi { color: var(--gold); }

/* image zoom */
.card-dest-media, .card-pkg-media, .card-exp-media, .card-cs-media, .card-blog-media, .industry-media, .promo-media, .feature-frame, .mini-pkg-media { overflow: hidden; position: relative; display: block; background: var(--navy-2); }
.card-dest-media img, .card-pkg-media img, .card-exp-media img, .card-cs-media img, .card-blog-media img, .industry-media img, .promo-media img, .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.card-dest:hover img, .card-pkg:hover .card-pkg-media img, .card-exp:hover img, .card-cs:hover img, .card-blog:hover img, .promo-banner:hover img, .gallery-item:hover img { transform: scale(1.04); }

/* destination */
.card-dest { position: relative; border-radius: var(--radius); overflow: hidden; }
.card-dest-link { display: block; position: relative; color: #fff !important; }
.card-dest-media { aspect-ratio: 4 / 5; }
.card-dest-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5, 16, 28, .88) 0%, rgba(5, 16, 28, .25) 50%, rgba(5, 16, 28, 0) 75%); }
.card-dest-body { position: absolute; inset: auto 0 0 0; padding: 26px; z-index: 1; }
.card-dest .card-kicker { color: var(--gold-2); }
.card-dest-title { color: #fff !important; font-size: clamp(1.8rem, 2.4vw, 2.3rem); margin: 0 0 6px; }
.card-dest-tag { margin: 0 0 14px; color: rgba(255, 255, 255, .8); font-size: .95rem; max-width: 46ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-dest .card-cta { color: #fff; border-bottom: 1px solid var(--gold); padding-bottom: 4px; }

/* package */
.card-pkg { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; height: 100%; transition: box-shadow .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease); }
.card-pkg:hover { box-shadow: var(--shadow); border-color: transparent; transform: translateY(-4px); }
.card-pkg-media { aspect-ratio: 4 / 3; }
.card-pkg-body {
    padding: 22px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-top: 0 none !important;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    margin: 0 -1px -1px -1px;
    position: relative;
    z-index: 2;
    transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.card-pkg:hover .card-pkg-body {
    border-left-color: var(--navy);
    border-right-color: var(--navy);
    border-bottom-color: var(--navy);
    border-top: 0 none !important;
}
.card-pkg-foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.price { display: flex; flex-direction: column; line-height: 1.2; }
.price-label { font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.price-value { font-family: var(--ff-display); font-size: 1.6rem; font-weight: 600; color: var(--navy); }
.price-basis { font-size: 12px; color: var(--muted); }
.price-onrequest { font-size: 1.3rem; }
.section-ivory .card-pkg, .section-ivory .card-blog { background: var(--white); }

/* experience - Upgraded Luxury Experience Card */
.card-exp {
    height: 100%;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(11, 31, 51, 0.08);
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}
.card-exp:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px -6px rgba(11, 31, 51, 0.12);
    border-color: rgba(185, 151, 91, 0.45);
}
.card-exp-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit !important;
    text-decoration: none;
}
.card-exp-media-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 11;
    background: var(--navy);
}
.card-exp-media {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
}
.card-exp-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.card-exp:hover .card-exp-media img {
    transform: scale(1.06);
}
.card-exp-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(11, 31, 51, 0.9);
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 2;
}
.card-exp-body {
    padding: 22px 20px 24px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    flex: 1;
    border: none !important;
}
.card-exp .card-title {
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0b1f33;
    margin: 0 0 8px;
}
.card-exp:hover .card-title {
    color: var(--navy);
}
.card-exp .card-text {
    font-size: 13.5px;
    line-height: 1.55;
    color: #4b5563;
    margin: 0 0 14px;
}
.card-exp-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 16px;
    padding-top: 10px;
    border-top: 1px solid rgba(11, 31, 51, 0.06);
}
.card-exp-meta-row i {
    color: var(--gold);
    font-size: 12px;
    margin-right: 4px;
}
.card-exp-footer {
    margin-top: auto;
    padding-top: 12px;
}
.card-exp-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
}
.card-exp-cta i {
    transition: transform 0.25s ease;
}
.card-exp:hover .card-exp-cta i {
    transform: translateX(4px);
}

/* case study */
.card-cs { height: 100%; }
.card-cs-link { display: flex; flex-direction: column; height: 100%; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: inherit !important; transition: box-shadow .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease); }
.card-cs:hover .card-cs-link { box-shadow: var(--shadow); border-color: transparent; transform: translateY(-4px); }
.card-cs-media { aspect-ratio: 16 / 10; }
.card-cs-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-top: 0 none !important;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    margin: 0 -1px -1px -1px;
    position: relative;
    z-index: 2;
    transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.card-cs:hover .card-cs-body {
    border-left-color: var(--navy);
    border-right-color: var(--navy);
    border-bottom-color: var(--navy);
    border-top: 0 none !important;
}
.card-cs .card-title { color: var(--ink); }
.card-cs .card-cta { margin-top: auto; color: var(--navy); padding-top: 16px; }
.card-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 4px; padding: 14px 0 0; border-top: 1px solid var(--line); }
.card-metrics dt { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); order: 2; }
.card-metrics dd { font-family: var(--ff-display); font-size: 1.55rem; font-weight: 600; color: var(--navy); margin: 0; line-height: 1.1; }
.card-metrics > div { display: flex; flex-direction: column-reverse; gap: 4px; }

/* blog - Upgraded Ultra-Luxury Blog Card */
.card-blog {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff !important;
    border: 1px solid rgba(11, 31, 51, 0.08);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
}
.card-blog:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px -6px rgba(11, 31, 51, 0.12);
    border-color: rgba(185, 151, 91, 0.45);
}
.card-blog-media-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--navy);
}
.card-blog-media {
    display: block;
    width: 100%;
    height: 100%;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}
.card-blog-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.card-blog:hover .card-blog-media img {
    transform: scale(1.06);
}
.card-blog-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(11, 31, 51, 0.9);
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 2;
    pointer-events: none;
}
.card-blog-body {
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.card-blog-meta-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 11.5px;
    font-weight: 600;
    color: #64748b;
}
.card-blog-meta-row i {
    color: var(--gold);
    font-size: 12px;
}
.card-blog .card-title {
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.3;
    color: #0b1f33;
    margin: 0 0 10px;
}
.card-blog .card-title a {
    color: #0b1f33;
    text-decoration: none;
    transition: color 0.2s ease;
}
.card-blog:hover .card-title a {
    color: var(--gold-ink);
}
.card-blog .card-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #4b5563;
    margin: 0 0 18px;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.card-blog-footer {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(11, 31, 51, 0.06);
}
.card-blog-cta {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.card-blog-cta i {
    transition: transform 0.25s ease;
}
.card-blog:hover .card-blog-cta i {
    transform: translateX(4px);
}
.card-blog.is-wide { display: grid; grid-template-columns: 1fr; gap: 0; background: var(--white); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.card-blog.is-wide .card-blog-media-wrap { aspect-ratio: 16 / 10; border-radius: 0; }
.card-blog.is-wide .card-blog-body { padding: clamp(24px, 4vw, 48px); align-self: center; }
.card-blog.is-wide .card-title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
@media (min-width: 992px) { .card-blog.is-wide { grid-template-columns: 1.25fr 1fr; } .card-blog.is-wide .card-blog-media-wrap { aspect-ratio: auto; min-height: 420px; } }
.blog-lead { margin-bottom: 36px; }

/* Demo labels */
.demo-badge {
    display: inline-flex; align-items: center; padding: 3px 8px; margin-left: 10px;
    font-family: var(--ff-body); font-size: 9.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    color: #6b4e12; background: #f3e6c4; border: 1px solid #e2cd93; border-radius: 2px; vertical-align: middle; line-height: 1.4;
}
.demo-badge.on-media { position: absolute; right: 14px; top: 16px; z-index: 2; margin: 0; }
.demo-badge.corner { position: absolute; right: 18px; top: 18px; margin: 0; }
.demo-badge.tiny { margin: 6px 0 0; font-size: 8.5px; padding: 1px 6px; }
.demo-note { margin: 28px 0 0; font-size: 12.5px; color: var(--muted); text-align: center; }
.demo-banner { background: #f3e6c4; color: #5a4210; font-size: 14px; padding: 12px 0; border-bottom: 1px solid #e2cd93; }
.demo-banner .bi { margin-right: 6px; }

/* ---------------------------------------------------------------------
   Home: feature split, services, why, banners
   --------------------------------------------------------------------- */
.feature-grid { display: grid; grid-template-columns: 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; }
@media (min-width: 992px) {
    .feature-grid { grid-template-columns: 1.1fr 1fr; }
    .feature-split.is-reverse .feature-media { order: 2; }
}
.feature-frame { border-radius: var(--radius); aspect-ratio: 5 / 4; }
.feature-frame img { width: 100%; height: 100%; object-fit: cover; }
.feature-media { position: relative; }
.feature-media::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; border: 1px solid var(--gold); border-radius: var(--radius); z-index: -1; opacity: .55; }
.feature-split.is-reverse .feature-media::before { inset: 24px 24px -24px -24px; }
.feature-split { isolation: isolate; }
.feature-text { margin-top: 20px; color: var(--muted); font-size: 1.04rem; }
.feature-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 32px; }
.tick-list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.tick-list li { position: relative; padding-left: 30px; color: var(--text); }
.tick-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 16px; height: 1px; background: var(--gold); }
@media (min-width: 640px) { .feature-copy .tick-list { grid-template-columns: 1fr 1fr; gap: 12px 24px; } }

.service-grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); }
@media (min-width: 640px) { .service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .service-grid { grid-template-columns: repeat(4, 1fr); } }
.service-tile { position: relative; display: block; background: var(--navy); color: rgba(255, 255, 255, .78) !important; min-height: 300px; overflow: hidden; isolation: isolate; }
.service-tile-media { position: absolute; inset: 0; z-index: -2; opacity: 0; transition: opacity .6s var(--ease); }
.service-tile-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.2s var(--ease); }
.service-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(5, 16, 28, .92), rgba(5, 16, 28, .55)); opacity: 0; transition: opacity .6s var(--ease); }
.service-tile:hover .service-tile-media, .service-tile:hover::after, .service-tile:focus-visible .service-tile-media, .service-tile:focus-visible::after { opacity: 1; }
.service-tile:hover .service-tile-media img { transform: scale(1.02); }
.service-tile-body { display: flex; flex-direction: column; height: 100%; padding: 32px 30px; gap: 12px; }
.service-num { font-size: 11px; font-weight: 700; letter-spacing: .2em; color: var(--gold); }
.service-icon { font-size: 28px; color: var(--gold); margin: 14px 0 6px; }
.service-title { font-family: var(--ff-display); font-size: 1.75rem; color: #fff; line-height: 1.15; }
.service-text { font-size: .93rem; }
.service-tile .link-arrow { margin-top: auto; padding-top: 12px; }

.why-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 992px) { .why-grid { grid-template-columns: 5fr 7fr; gap: 80px; } .why-intro { position: sticky; top: calc(var(--header-h) + 32px); align-self: start; } }
.why-media { border-radius: var(--radius); overflow: hidden; margin-bottom: 28px; aspect-ratio: 4 / 3; }
.why-media img { width: 100%; height: 100%; object-fit: cover; }
.pillars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--line); }
@media (min-width: 640px) { .pillars { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
.pillar { display: flex; gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.pillar-icon { flex: none; width: 52px; height: 52px; border: 1px solid var(--gold); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--gold-ink); font-size: 20px; }
.pillar-title { font-size: 1.45rem; margin: 2px 0 8px; }
.pillar p { margin: 0; color: var(--muted); font-size: .94rem; }

.banner-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px) { .banner-grid.count-2 { grid-template-columns: 1fr 1fr; } .banner-grid.count-3 { grid-template-columns: repeat(3, 1fr); } }
.promo-banner { position: relative; display: block; min-height: 260px; border-radius: var(--radius); overflow: hidden; color: #fff !important; background: var(--navy); isolation: isolate; }
.banner-grid.count-1 .promo-banner { min-height: 320px; }
.promo-media { position: absolute; inset: 0; z-index: -2; }
.promo-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(5, 16, 28, .85), rgba(5, 16, 28, .2)); }
.promo-body { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; height: 100%; min-height: inherit; padding: 32px; }
.promo-title { font-family: var(--ff-display); font-size: clamp(1.7rem, 2.6vw, 2.4rem); line-height: 1.1; max-width: 20ch; }
.promo-sub { max-width: 50ch; color: rgba(255, 255, 255, .82); }

/* ---------------------------------------------------------------------
   Testimonials, clients
   --------------------------------------------------------------------- */
.testi-card { position: relative; margin: 0; padding: 36px 32px 30px; background: var(--white); border: 2px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; height: 100%; transition: transform 0.35s var(--ease), border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease; }
.testi-card:hover { border-color: #0b1f33 !important; transform: translateY(-4px); }
.section-navy .testi-card { background: var(--navy-2); border-color: var(--line-light); color: rgba(255, 255, 255, .85); }
.testi-mark { font-size: 40px; line-height: 1; color: var(--gold); display: block; margin-bottom: 12px; }
.testi-card blockquote { margin: 0 0 26px; font-family: var(--ff-display); font-size: 1.32rem; line-height: 1.5; color: var(--ink); flex: 1; }
.testi-card blockquote p { margin: 0 0 .6em; }
.section-navy .testi-card blockquote { color: #fff; }
.testi-card figcaption { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--line); }
.section-navy .testi-card figcaption { border-top-color: var(--line-light); }
.testi-card figcaption strong { display: block; font-size: 14px; color: var(--ink); }
.section-navy .testi-card figcaption strong { color: #fff; }
.testi-card figcaption small { display: block; font-size: 12.5px; color: var(--muted); }
.section-navy .testi-card figcaption small { color: rgba(255, 255, 255, .62); }
.testi-avatar { flex: none; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: var(--ivory-2); display: inline-flex; align-items: center; justify-content: center; }
.testi-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testi-avatar.is-initials { font-family: var(--ff-display); font-size: 1.4rem; color: var(--navy); background: var(--gold-2); }
.testi-cat { color: var(--gold-ink) !important; text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px !important; margin-top: 3px; font-weight: 700; }
.testi-masonry { columns: 1; column-gap: 28px; }
.testi-masonry .testi-card { break-inside: avoid; margin-bottom: 28px; height: auto; }
@media (min-width: 768px) { .testi-masonry { columns: 2; } }
@media (min-width: 1200px) { .testi-masonry { columns: 3; } }
.section-testimonials { overflow: hidden; }

.client-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
@media (min-width: 640px) { .client-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .client-grid { grid-template-columns: repeat(6, 1fr); } }
.client-item { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 116px; padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.client-item > a, .client-item > span:not(.demo-badge) { display: flex; align-items: center; justify-content: center; width: 100%; color: var(--muted) !important; }
.client-logo { max-height: 46px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1) contrast(.9); opacity: .7; transition: filter .3s, opacity .3s; }
.client-item:hover .client-logo { filter: none; opacity: 1; }
.client-wordmark { font-family: var(--ff-display); font-size: 1.15rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); line-height: 1.2; transition: color .3s; }
.client-item:hover .client-wordmark { color: var(--navy); }

/* ---------------------------------------------------------------------
   CTA band
   --------------------------------------------------------------------- */
.cta-band { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(64px, 8vw, 110px); }
.cta-band.is-navy { background: var(--navy); color: rgba(255, 255, 255, .82); }
.cta-band.is-ivory { background: var(--ivory-2); }
.cta-band.has-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5, 16, 28, .92) 0%, rgba(5, 16, 28, .72) 55%, rgba(5, 16, 28, .45) 100%); }
.cta-band.is-navy:not(.has-image)::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border: 1px solid rgba(185, 151, 91, .25); border-radius: 50%; z-index: -1; box-shadow: 0 0 0 60px rgba(185, 151, 91, .04), 0 0 0 140px rgba(185, 151, 91, .03); }
.cta-band-inner { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: end; }
@media (min-width: 992px) { .cta-band-inner { grid-template-columns: 1.4fr auto; gap: 64px; } }
.cta-band-title { font-size: clamp(2.1rem, 4vw, 3.4rem); margin: 0 0 14px; }
.cta-band.is-navy .cta-band-title { color: #fff; }
.cta-band-text { margin: 0; max-width: 620px; font-size: 1.05rem; }
.cta-band-actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------------------------------------------------------------------
   Service / about / detail building blocks
   --------------------------------------------------------------------- */
.intro-split { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start; }
@media (min-width: 992px) { .intro-split { grid-template-columns: 1.55fr 1fr; gap: 80px; } .intro-split.is-single { grid-template-columns: 1fr; max-width: 900px; } }
.highlight-panel { background: var(--ivory); border-top: 2px solid var(--gold); padding: 34px 32px; border-radius: 0 0 var(--radius) var(--radius); }
.highlight-panel .tick-list { margin-top: 0; }

.section-stats { background: var(--navy); color: #fff; padding-block: 48px; }
.section-stats.is-ivory { background: var(--ivory); color: var(--ink); }
.stats-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
@media (min-width: 768px) { .stats-row { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); } }
.stat { display: flex; flex-direction: column; gap: 6px; padding-left: 20px; border-left: 1px solid rgba(185, 151, 91, .6); }
.stat-value { font-family: var(--ff-display); font-size: clamp(2.2rem, 3.6vw, 3.2rem); line-height: 1; color: var(--gold); font-weight: 800; }
.section-stats.is-ivory .stat-value { color: var(--navy); }
.stat-label { font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .8; }

.feature-cards { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) { .feature-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .feature-cards { grid-template-columns: repeat(3, 1fr); } }
.feature-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 34px 30px; transition: border-color .3s, transform .3s var(--ease); }
.feature-card:hover { border-color: var(--gold); transform: translateY(-3px); }
.feature-card > .bi { font-size: 28px; color: var(--gold-ink); display: inline-block; margin-bottom: 20px; }
.feature-card h3 { font-size: 1.5rem; margin: 0 0 10px; }
.feature-card p { margin: 0; color: var(--muted); font-size: .95rem; }

.process { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; counter-reset: step; }
@media (min-width: 768px) { .process { grid-template-columns: repeat(2, 1fr); gap: 0 40px; } }
@media (min-width: 1200px) { .process { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 32px; } }
.process-step { position: relative; padding: 28px 0 28px; border-top: 1px solid var(--line); }
.process-num { display: block; font-family: var(--ff-display); font-size: 3rem; line-height: 1; color: var(--gold); margin-bottom: 18px; font-weight: 500; }
.process-step h3 { font-size: 1.4rem; margin: 0 0 8px; }
.process-step p { margin: 0; color: var(--muted); font-size: .94rem; }
@media (min-width: 1200px) { .process-step::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); } }

.enquiry-split { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start; }
@media (min-width: 992px) { .enquiry-split { grid-template-columns: 1fr 1.15fr; gap: 72px; } }
.enquiry-aside .section-title { font-size: clamp(2rem, 3.2vw, 2.8rem); }
.enquiry-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(24px, 4vw, 44px); box-shadow: var(--shadow-sm); }
.section-ivory .enquiry-card { border-color: transparent; }
.assurance-list { list-style: none; padding: 0; margin: 28px 0; display: grid; gap: 14px; }
.assurance-list li { display: flex; gap: 14px; align-items: flex-start; }
.assurance-list .bi { color: var(--gold-ink); font-size: 18px; line-height: 1.5; }

.contact-mini { display: grid; gap: 12px; margin-top: 24px; }
.contact-mini a { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink) !important; background: rgba(255, 255, 255, .6); transition: border-color .25s, background .25s; }
.contact-mini a:hover { border-color: var(--gold); background: #fff; }
.contact-mini .bi { font-size: 20px; color: var(--gold-ink); }
.contact-mini span { display: flex; flex-direction: column; line-height: 1.3; font-weight: 600; font-size: 14.5px; word-break: break-word; }
.contact-mini small { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); font-weight: 700; }

.facts-bar { background: var(--white); border-bottom: 1px solid var(--line); }
.facts-row { display: grid; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 992px) { .facts-row { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }
.fact { display: flex; gap: 14px; align-items: flex-start; padding: 22px 12px 22px 0; border-bottom: 1px solid var(--line); }
@media (min-width: 992px) { .fact { border-bottom: 0; border-right: 1px solid var(--line); padding: 26px 24px; } .fact:first-child { padding-left: 0; } .fact:last-child { border-right: 0; } }
.fact > .bi { font-size: 20px; color: var(--gold-ink); line-height: 1.4; }
.fact span { display: flex; flex-direction: column; font-weight: 600; color: var(--ink); font-size: 14.5px; line-height: 1.4; }
.fact small { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 3px; }
.fact em { font-style: normal; font-weight: 500; color: var(--muted); font-size: 12.5px; }

.subnav { position: sticky; top: 72px; z-index: 50; background: rgba(251, 250, 247, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.subnav-inner { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.subnav-inner::-webkit-scrollbar { display: none; }
.subnav a { flex: none; padding: 16px 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid transparent; }
.subnav a:hover, .subnav a.is-active { color: var(--navy); border-bottom-color: var(--gold); }
.page-package .section-tight-top { padding-top: clamp(40px, 5vw, 64px); }

.detail-layout { display: grid; grid-template-columns: 1fr; gap: 56px; align-items: start; }
@media (min-width: 992px) { .detail-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 72px; } }
@media (min-width: 1200px) { .detail-layout { grid-template-columns: minmax(0, 1fr) 400px; gap: 96px; } }
.detail-main .section-title { margin-bottom: 20px; }
.detail-main .lead-text { margin-bottom: 24px; }
.sticky-card { position: sticky; top: calc(72px + 70px); }
.page-package .sticky-card { top: calc(72px + 70px); }
.detail-side .enquiry-card { padding: 28px; }
.side-actions { display: grid; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.anchor-block { margin-top: 56px; scroll-margin-top: calc(72px + 70px); }
.anchor-block:first-child { margin-top: 0; }
.highlights-block { margin-top: 40px; padding: 32px; background: var(--ivory); border-radius: var(--radius); }
.highlight-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px 32px; }
@media (min-width: 640px) { .highlight-grid { grid-template-columns: 1fr 1fr; } }
.highlight-grid li { display: flex; gap: 6px; align-items: flex-start; }
.highlight-grid .bi { color: var(--gold); font-size: 22px; line-height: 1.05; margin-left: -6px; }

.block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.itinerary-list .acc-trigger { gap: 18px; }
.day-num { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-ink); min-width: 52px; }
.day-title { flex: 1; font-family: var(--ff-display); font-size: 1.35rem; color: var(--ink); text-align: left; }
.day-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 13px; color: var(--muted); margin: 6px 0 0; }
.day-meta .bi { color: var(--gold-ink); margin-right: 6px; }

.incl-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 768px) { .incl-grid { grid-template-columns: 1fr 1fr; } }
.incl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.incl-list li { display: flex; gap: 12px; align-items: flex-start; }
.incl-list .bi { flex: none; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; margin-top: 2px; }
.incl-list.is-in .bi { background: rgba(42, 127, 122, .12); color: var(--teal); }
.incl-list.is-out .bi { background: rgba(168, 50, 42, .08); color: var(--danger); }
.terms-box { margin-top: 48px; border: 1px solid var(--line); border-radius: var(--radius); }
.terms-box summary { padding: 18px 22px; cursor: pointer; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; list-style: none; display: flex; justify-content: space-between; }
.terms-box summary::-webkit-details-marker { display: none; }
.terms-box summary::after { content: "+"; font-size: 18px; color: var(--gold-ink); line-height: 1; }
.terms-box[open] summary::after { content: "–"; }
.terms-box > .prose { padding: 0 22px 18px; color: var(--muted); }

.price-card { background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-sm); }
.price-card-label { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.price-card-value { margin: 4px 0 2px; font-family: var(--ff-display); font-size: 2.8rem; line-height: 1.05; font-weight: 600; color: var(--navy); }
.price-card-basis { margin: 0 0 22px; color: var(--muted); font-size: 13.5px; }
.price-card-actions { display: grid; gap: 12px; }
.price-card-actions .link-arrow { margin-top: 6px; justify-self: center; }
.price-card-notes { list-style: none; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: 13.5px; color: var(--muted); }
.price-card-notes .bi { color: var(--gold-ink); margin-right: 10px; }

/* Case study story */
.case-story { display: grid; gap: 56px; }
.story-block { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 768px) { .story-block { grid-template-columns: 200px 1fr; gap: 40px; } }
.story-label { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--gold); padding-top: 14px; align-self: start; }
.story-num { font-family: var(--ff-display); font-size: 2.4rem; color: var(--gold); line-height: 1; }
.story-label h2 { font-size: 1.5rem; margin: 0; }

/* Industries */
.industry-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 768px) { .industry-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .industry-grid { grid-template-columns: repeat(3, 1fr); } }
.industry-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; scroll-margin-top: 120px; }
.industry-media { aspect-ratio: 16 / 9; }
.industry-body { padding: 28px; }
.industry-icon { font-size: 26px; color: var(--gold-ink); display: block; margin-bottom: 14px; }
.industry-more { color: var(--muted); }

/* ---------------------------------------------------------------------
   Accordion / FAQ
   --------------------------------------------------------------------- */
.faq-block { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 992px) { .faq-block.is-split { grid-template-columns: 1fr 1.6fr; gap: 80px; } .faq-intro { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; } }
.faq-help { color: var(--muted); }
.faq-help a { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; }
.accordion-mg { border-top: 1px solid var(--line); }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-heading { margin: 0; font-size: inherit; font-family: inherit; }
.acc-trigger { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 22px 0; background: none; border: 0; text-align: left; cursor: pointer; color: var(--ink); font-family: var(--ff-display); font-size: 1.32rem; line-height: 1.35; }
.acc-trigger:hover { color: var(--gold-ink); }
.acc-trigger .bi { flex: none; font-size: 16px; color: var(--gold-ink); transition: transform .3s var(--ease); }
.acc-trigger[aria-expanded="true"] .bi { transform: rotate(45deg); }
.acc-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }
.acc-panel > .acc-panel-inner { overflow: hidden; }
.acc-panel.is-open, .no-js .acc-panel { grid-template-rows: 1fr; }
.acc-panel.is-open > .acc-panel-inner, .no-js .acc-panel > .acc-panel-inner { padding-bottom: 24px; }
.acc-panel-inner { color: var(--muted); max-width: 72ch; }

/* ---------------------------------------------------------------------
   Gallery + lightbox
   --------------------------------------------------------------------- */
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.gallery-item { position: relative; display: block; overflow: hidden; border-radius: var(--radius-sm); aspect-ratio: 1; background: var(--navy-2); }
.gallery-item.is-extra { display: none; }
@media (min-width: 768px) {
    .gallery-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 12px; }
    .gallery-item { aspect-ratio: auto; }
    .gallery-grid > :first-child { grid-column: span 2; grid-row: span 2; }
    .gallery-grid.count-1 > :first-child { grid-column: span 4; }
    .gallery-grid.count-2 > * { grid-column: span 2; grid-row: span 2; }
    .gallery-grid.count-3 > :not(:first-child) { grid-column: span 2; }
    .gallery-grid.count-4 > :last-child { grid-column: span 2; }
}
.gallery-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(5, 16, 28, .6); color: #fff; font-family: var(--ff-display); font-size: 1.6rem; }
.lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(5, 16, 28, .96); display: flex; align-items: center; justify-content: center; padding: 64px 16px 80px; opacity: 0; transition: opacity .25s; }
.lightbox.is-open { opacity: 1; }
.lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 2px; }
.lb-btn { position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(5, 16, 28, .5); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; }
.lb-btn:hover { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.lb-close { top: 14px; right: 14px; }
.lb-prev { left: 14px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 14px; top: 50%; transform: translateY(-50%); }
.lb-caption { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; color: rgba(255, 255, 255, .8); font-size: 14px; padding: 0 80px; }
.lb-count { position: absolute; top: 26px; left: 24px; color: var(--gold); font-size: 12px; letter-spacing: .2em; }

/* ---------------------------------------------------------------------
   Listings: filters, tabs, pagination, empty
   --------------------------------------------------------------------- */
.listing-intro { max-width: 860px; margin-bottom: 40px; }
.filter-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 28px; padding-bottom: 28px; margin-bottom: 40px; border-bottom: 1px solid var(--line); }
.filter-bar-wide { flex-direction: column; align-items: stretch; }
.chip-scroller { overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.chip-scroller::-webkit-scrollbar { display: none; }
.chip-group { display: flex; gap: 8px; border: 0; margin: 0; padding: 0; min-width: 0; flex-wrap: nowrap; }
@media (min-width: 992px) { .chip-group { flex-wrap: wrap; } }
.chip { position: relative; flex: none; cursor: pointer; margin: 0; }
.chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.chip span { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 18px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--text); background: var(--white); transition: all .2s var(--ease); white-space: nowrap; }
.chip:hover span { border-color: var(--navy); }
.chip input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.chip input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.filter-fields { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 24px; }
.filter-field { display: flex; flex-direction: column; gap: 6px; min-width: 200px; flex: 1 1 200px; max-width: 280px; }
.filter-field label { font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.filter-field select, .lead-form select { appearance: none; -webkit-appearance: none; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230b1a33' stroke-width='1.5' d='M3 6l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 38px !important; }
.filter-field select { height: 42px; border: 1px solid var(--line-2); border-radius: var(--radius-sm); padding: 0 14px; font-size: 14px; color: var(--ink); cursor: pointer; }
.filter-field select:focus { border-color: var(--navy); outline: none; box-shadow: 0 0 0 3px rgba(185, 151, 91, .3); }
.filter-summary { margin: 0 0 0 auto; font-size: 13px; color: var(--muted); align-self: center; }
.filter-bar-wide .filter-summary { margin: 0; }
.filter-reset { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; align-self: center; }
.results { position: relative; transition: opacity .25s; }
.results.is-loading { opacity: .45; pointer-events: none; }
.results .grid-3 > .empty-block, .results .grid-dest > .empty-block { grid-column: 1 / -1; }

.tabs-mg { display: flex; gap: 6px 30px; flex-wrap: wrap; margin-bottom: 44px; border-bottom: 1px solid var(--line); }
.tabs-mg a { padding: 0 0 14px; margin-bottom: -1px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid transparent; }
.tabs-mg a:hover { color: var(--navy); }
.tabs-mg a.is-active { color: var(--navy); border-bottom-color: var(--gold); }
.tabs-scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.tabs-scroll a { flex: none; }
.tabs-scroll::-webkit-scrollbar { display: none; }

.pager { margin-top: 56px; display: flex; justify-content: center; }
.pager ul { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; flex-wrap: wrap; justify-content: center; }
.pager a, .pager-gap { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; color: var(--ink); background: var(--white); }
.pager a:hover { border-color: var(--navy); }
.pager a.is-current { background: var(--navy); color: #fff; border-color: var(--navy); }
.pager a.is-disabled { opacity: .4; pointer-events: none; }
.pager-gap { border: 0; background: none; }

.empty-block { text-align: center; padding: 72px 24px; border: 1px dashed var(--line-2); border-radius: var(--radius); background: rgba(255, 255, 255, .5); }
.empty-mark { display: inline-flex; width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--gold); align-items: center; justify-content: center; color: var(--gold-ink); font-size: 26px; margin-bottom: 18px; }
.empty-block h3 { font-size: 1.8rem; margin: 0 0 8px; }
.empty-block p { color: var(--muted); max-width: 520px; margin: 0 auto 22px; }

.tag-cloud { margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--line); }
.tag-cloud ul, .article-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud a, .article-tags a { display: inline-block; padding: 6px 14px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; color: var(--text); }
.tag-cloud a:hover, .tag-cloud a[aria-current], .article-tags a:hover { border-color: var(--navy); color: var(--navy); background: var(--white); }

/* ---------------------------------------------------------------------
   Lead forms
   --------------------------------------------------------------------- */
.lead-form-head { margin-bottom: 24px; }
.lead-form-head .eyebrow { margin-bottom: 10px; }
.lead-form-title { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin: 0 0 8px; }
.lead-form-sub { color: var(--muted); margin: 0; font-size: .95rem; }
.form-grid { display: grid; grid-template-columns: 1fr; gap: 18px 18px; }
@media (min-width: 640px) {
    .form-grid:not(.is-compact) { grid-template-columns: 1fr 1fr; }
    .form-grid:not(.is-compact) .span-2 { grid-column: 1 / -1; }
}
.field { display: flex; flex-direction: column; min-width: 0; }
.field > label:not(.check), .field-phone > label { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin-bottom: 7px; }
.req { color: var(--gold-ink); }
.lead-form input[type="text"], .lead-form input[type="email"], .lead-form input[type="tel"], .lead-form input[type="number"], .lead-form input[type="date"], .lead-form select, .lead-form textarea {
    width: 100%; min-height: 50px; padding: 12px 14px; font: inherit; font-size: 15px; color: var(--ink);
    background-color: var(--white); border: 1px solid var(--line-2); border-radius: var(--radius-sm);
    transition: border-color .2s, box-shadow .2s;
}
.lead-form textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #9aa0ab; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(185, 151, 91, .3); }
.field.has-error input, .field.has-error select, .field.has-error textarea, .field-phone.has-error .phone-group { border-color: var(--danger) !important; }
.field-error { color: var(--danger); font-size: 12.5px; margin-top: 5px; min-height: 0; }
.field-error:empty { display: none; }
.field-hint { font-size: 12px; color: var(--muted); margin-top: 5px; }
.phone-group { display: flex; border: 1px solid var(--line-2); border-radius: var(--radius-sm); background: var(--white); transition: border-color .2s, box-shadow .2s; }
.phone-group:focus-within { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(185, 151, 91, .3); }
.lead-form .phone-group select { width: 128px; flex: none; border: 0; border-right: 1px solid var(--line-2); border-radius: 0; box-shadow: none !important; padding-right: 30px !important; background-position: right 10px center; font-size: 14px; }
.lead-form .phone-group input { border: 0; box-shadow: none !important; flex: 1; min-width: 0; }
.field-consent { margin-top: 2px; }
.check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; position: relative; font-size: 13.5px; color: var(--text); line-height: 1.5; text-transform: none; letter-spacing: 0; font-weight: 500; }
.check input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; cursor: pointer; }
.check-box { flex: none; width: 20px; height: 20px; border: 1px solid var(--line-2); border-radius: 2px; background: var(--white); margin-top: 1px; display: inline-flex; align-items: center; justify-content: center; transition: all .2s; }
.check input:checked + .check-box { background: var(--navy); border-color: var(--navy); }
.check input:checked + .check-box::after { content: ""; width: 10px; height: 5px; border-left: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(-45deg) translate(1px, -1px); }
.check input:focus-visible + .check-box { outline: 2px solid var(--gold); outline-offset: 2px; }
.field-consent.has-error .check-box { border-color: var(--danger); }
.form-actions { margin-top: 22px; }
.form-note { margin: 12px 0 0; font-size: 12px; color: var(--muted); text-align: center; }
.form-note .bi { color: var(--gold-ink); }
.form-alert { padding: 12px 16px; border-radius: var(--radius-sm); font-size: 14px; margin-bottom: 18px; }
.form-alert-error { background: rgba(168, 50, 42, .07); border-left: 3px solid var(--danger); color: #7d241e; }
.form-alert-info { background: rgba(42, 127, 122, .08); border-left: 3px solid var(--teal); color: #1d5b57; }
.form-success { text-align: center; padding: 28px 8px; }
.form-success:focus { outline: none; }
.form-success-mark { display: inline-flex; width: 72px; height: 72px; border-radius: 50%; border: 1px solid var(--gold); align-items: center; justify-content: center; color: var(--gold-ink); font-size: 34px; margin-bottom: 18px; animation: mg-pop .6s var(--ease); }
@keyframes mg-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.form-success h3 { font-size: 2rem; margin: 0 0 10px; }
.form-success p { color: var(--muted); margin: 0 auto 8px; max-width: 46ch; }
.form-success-ref strong { color: var(--navy); letter-spacing: .06em; }
.lead-form-wrap.is-done .lead-form-head .lead-form-sub { display: none; }
.hp-field { position: absolute !important; left: -9999px !important; }

.theme-dark .lead-form-title { color: #fff; }
.theme-dark .field > label, .theme-dark .check { color: rgba(255, 255, 255, .85); }

/* ---------------------------------------------------------------------
   Modals
   --------------------------------------------------------------------- */
.mg-modal { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100%; height: 100%; margin: 0; overflow: hidden; }
.mg-modal[open] { display: flex; align-items: flex-end; justify-content: center; }
.mg-modal::backdrop { background: rgba(5, 16, 28, .66); backdrop-filter: blur(2px); }
.mg-modal-box { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; overscroll-behavior: contain; background: var(--paper); border-radius: 8px 8px 0 0; padding: 36px 24px 28px; animation: mg-sheet .35s var(--ease); }
.mg-modal-sm .mg-modal-box { max-width: 460px; }
@media (min-width: 640px) {
    .mg-modal[open] { align-items: center; }
    .mg-modal-box { border-radius: var(--radius); padding: 44px 40px 36px; animation-name: mg-rise; }
}
@keyframes mg-sheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.mg-modal-close { position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; border: 0; background: none; color: var(--navy); font-size: 18px; border-radius: 50%; cursor: pointer; z-index: 2; }
.mg-modal-close:hover { background: var(--ivory-2); }
.mg-modal .lead-form-title { font-size: 1.9rem; padding-right: 32px; }

/* ---------------------------------------------------------------------
   Blog article
   --------------------------------------------------------------------- */
.article-hero { min-height: clamp(460px, 70vh, 700px); }
.article-hero:not(.has-image) { min-height: 420px; }
.article-hero-copy { max-width: 900px; }
.article-hero-copy .demo-badge { margin: 0 0 12px; }
.article-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 13px; letter-spacing: .04em; color: rgba(255, 255, 255, .8); margin: 0; }
.article-meta span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); margin-right: 22px; vertical-align: middle; position: relative; top: -2px; margin-left: -11px; }
.article-layout { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 1100px) { .article-layout { grid-template-columns: 64px minmax(0, 720px) 1fr; gap: 56px; } }
.article-share { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; order: 2; }
.article-share .eyebrow { margin: 0 8px 0 0; }
.article-share .eyebrow::before { display: none; }
.article-share a, .article-share button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-2); display: inline-flex; align-items: center; justify-content: center; color: var(--navy); background: var(--white); cursor: pointer; transition: all .2s; }
.article-share a:hover, .article-share button:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.article-share button.is-copied { background: var(--gold); border-color: var(--gold); }
@media (min-width: 1100px) {
    .article-share { order: 0; flex-direction: column; position: sticky; top: calc(var(--header-h) + 32px); align-self: start; }
    .article-share .eyebrow { margin: 0 0 6px; writing-mode: vertical-rl; transform: rotate(180deg); }
}
.article-body { order: 1; min-width: 0; }
.article-standfirst { font-family: var(--ff-display); font-size: clamp(1.4rem, 2.2vw, 1.75rem); line-height: 1.45; color: var(--ink); margin: 0 0 36px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.prose-article { font-size: 1.08rem; }
.prose-article > p:first-of-type::first-letter { font-family: var(--ff-display); float: left; font-size: 4.4em; line-height: .82; padding: 6px 12px 0 0; color: var(--navy); }
.article-tags { margin-top: 40px; }
.author-box { display: flex; gap: 20px; align-items: flex-start; margin-top: 48px; padding: 28px; background: var(--ivory); border-radius: var(--radius); }
.author-mark { flex: none; width: 60px; height: 60px; border-radius: 50%; background: var(--navy); display: inline-flex; align-items: center; justify-content: center; }
.author-svg { width: 40px; height: 40px; color: var(--gold); }
.author-name { font-family: var(--ff-display); font-size: 1.4rem; color: var(--ink); margin: 0 0 4px; }
.author-box .eyebrow { margin-bottom: 4px; }
.article-side { order: 3; }
.article-cta { background: var(--ivory); border-radius: var(--radius); padding: 30px; display: grid; gap: 12px; top: calc(var(--header-h) + 32px); }
.article-cta .panel-title { margin: 0; }
.mini-pkg { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink) !important; }
.mini-pkg-media { width: 76px; height: 60px; border-radius: var(--radius-sm); }
.mini-pkg-media img { width: 100%; height: 100%; object-fit: cover; }
.mini-pkg strong { display: block; font-size: 14px; line-height: 1.35; }
.mini-pkg small { color: var(--muted); font-size: 12px; }

/* ---------------------------------------------------------------------
   Proposal, contact, thank-you, legal, errors
   --------------------------------------------------------------------- */
.proposal-layout, .contact-layout { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start; }
@media (min-width: 992px) { .proposal-layout { grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 64px; } .contact-layout { grid-template-columns: 1fr 1.25fr; gap: 72px; } }
.proposal-form-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(24px, 4vw, 48px); box-shadow: var(--shadow-sm); }
.proposal-context { display: grid; grid-template-columns: 76px 1fr auto; gap: 16px; align-items: center; padding: 16px; margin-bottom: 28px; background: var(--ivory); border-radius: var(--radius); }
.proposal-context .eyebrow { margin: 0 0 2px; font-size: 10px; }
.proposal-context .eyebrow::before { display: none; }
.proposal-context-title { font-family: var(--ff-display); font-size: 1.3rem; color: var(--ink); margin: 0; line-height: 1.2; }
.proposal-context .small-muted { margin: 2px 0 0; font-size: 12.5px; }
.aside-panel { background: var(--ivory); border-radius: var(--radius); padding: 32px; }
.aside-panel hr { margin: 28px 0; border-color: var(--line); opacity: 1; }
.next-steps { list-style: none; counter-reset: ns; margin: 0; padding: 0; display: grid; gap: 22px; }
.next-steps li { counter-increment: ns; position: relative; padding-left: 50px; }
.next-steps li::before { content: counter(ns, decimal-leading-zero); position: absolute; left: 0; top: -2px; font-family: var(--ff-display); font-size: 1.7rem; color: var(--gold-ink); line-height: 1; }
.next-steps strong { display: block; font-size: 15px; color: var(--ink); }
.next-steps span { display: block; font-size: 13.5px; color: var(--muted); }

.contact-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.contact-card { display: flex; gap: 20px; align-items: flex-start; padding: 24px 0; border-bottom: 1px solid var(--line); }
.contact-card > .bi { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--gold); display: inline-flex; align-items: center; justify-content: center; color: var(--gold-ink); font-size: 18px; margin-top: 2px; }
.contact-card > div { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.contact-card .eyebrow { margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); line-height: 1.3; }
.contact-card .eyebrow::before { display: none; }
.contact-value { font-family: var(--ff-body); font-size: 1.25rem; font-weight: 700; color: var(--navy) !important; line-height: 1.35; word-break: break-word; margin: 0; font-style: normal; text-decoration: none; transition: color .2s; }
.contact-value:hover { color: var(--gold) !important; }
.contact-value.is-text { font-family: var(--ff-body); font-size: 15px; font-weight: 400; color: var(--text) !important; line-height: 1.6; }
.contact-routes { margin-top: 36px; display: grid; gap: 14px; }

.thanks-hero, .error-hero { min-height: max(560px, 72vh); align-items: center; }
.thanks-inner, .error-inner { position: relative; z-index: 1; padding-top: calc(var(--header-h) + 48px); padding-bottom: 72px; max-width: 860px; }
.thanks-mark { display: inline-flex; width: 76px; height: 76px; border-radius: 50%; border: 1px solid var(--gold); align-items: center; justify-content: center; color: var(--gold); font-size: 36px; margin-bottom: 26px; animation: mg-pop .7s var(--ease); }
.thanks-ref { margin-top: 22px; padding: 14px 20px; display: inline-block; border: 1px solid var(--line-light); border-radius: var(--radius); color: rgba(255, 255, 255, .8); }
.thanks-ref strong { color: var(--gold); letter-spacing: .08em; }
.error-hero { background: radial-gradient(120% 90% at 85% 0%, rgba(42, 127, 122, .18), transparent 60%), linear-gradient(160deg, var(--navy-2), var(--navy) 60%); }
.error-code { font-family: var(--ff-display); font-size: clamp(6rem, 18vw, 12rem); line-height: .8; color: transparent; -webkit-text-stroke: 1px rgba(185, 151, 91, .55); margin: 0 0 24px; }
.error-links { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--line-light); }
.error-links a { color: rgba(255, 255, 255, .8) !important; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.error-links a:hover { color: var(--gold) !important; }
.error-brand { display: inline-block; margin-bottom: 40px; }
.error-brand img { width: 220px; height: auto; }
.error-debug { margin-top: 32px; padding: 16px; background: rgba(0, 0, 0, .35); color: #f3c2bd; font-size: 12px; white-space: pre-wrap; border-radius: var(--radius); }
.is-standalone .error-inner { padding-top: 64px; }

.legal-layout { display: grid; grid-template-columns: 1fr; gap: 48px; max-width: 1100px; }
.legal-layout:not(.has-toc) { max-width: 860px; }
@media (min-width: 992px) { .legal-layout.has-toc { grid-template-columns: 260px minmax(0, 1fr); gap: 72px; } .legal-toc { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; } }
.legal-toc ol { list-style: none; counter-reset: toc; margin: 0; padding: 0; display: grid; gap: 4px; border-left: 1px solid var(--line); }
.legal-toc li { counter-increment: toc; }
.legal-toc a { display: block; padding: 6px 0 6px 16px; margin-left: -1px; border-left: 1px solid transparent; font-size: 14px; color: var(--muted); }
.legal-toc a::before { content: counter(toc, decimal-leading-zero) "  "; color: var(--gold-ink); font-size: 11px; font-weight: 700; }
.legal-toc a:hover, .legal-toc a.is-active { color: var(--navy); border-left-color: var(--gold); }
.legal-prose h2 { font-size: 1.8rem; padding-top: 12px; }

/* ---------------------------------------------------------------------
   Footer + floating actions
   --------------------------------------------------------------------- */
.site-footer { background: #081427; color: rgba(255, 255, 255, .66); padding-top: clamp(64px, 7vw, 100px); font-size: 14.5px; }
.footer-top { display: grid; grid-template-columns: 1fr; gap: 44px; padding-bottom: 56px; }
@media (min-width: 640px) { .footer-top { grid-template-columns: repeat(2, 1fr); } .footer-brand { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .footer-top { grid-template-columns: 1.6fr repeat(var(--footer-cols, 3), 1fr) 1.3fr; gap: 48px; } .footer-brand { grid-column: auto; } }
.footer-about { margin: 22px 0 24px; max-width: 380px; line-height: 1.75; }
.footer-heading { font-family: var(--ff-body) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--gold) !important; margin: 0 0 20px; }
.footer-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.footer-col a { color: rgba(255, 255, 255, .72) !important; }
.footer-col a:hover { color: #fff !important; }
.contact-list li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; }
.contact-list .bi { color: var(--gold); margin-top: 2px; }
.footer-contact .btn-mg { margin-top: 24px; }
.footer-social { list-style: none; padding: 0; margin: 0; display: flex; gap: 10px; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-light); display: inline-flex; align-items: center; justify-content: center; color: #fff !important; transition: all .2s; }
.footer-social a:hover { background: var(--gold); border-color: var(--gold); color: var(--navy) !important; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 26px 0 calc(26px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line-light); font-size: 12.5px; }
.footer-bottom p { margin: 0; }
.footer-legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-legal a { color: rgba(255, 255, 255, .6) !important; }
.footer-legal a:hover { color: #fff !important; }

.wa-float {
    position: fixed; right: 22px; bottom: 22px; z-index: 900;
    display: none; align-items: center; gap: 10px; height: 56px; padding: 0 18px 0 16px;
    background: var(--whatsapp); color: #fff !important; border-radius: 999px; box-shadow: 0 12px 30px -10px rgba(16, 90, 50, .6);
    font-weight: 600; font-size: 13.5px; transition: transform .3s var(--ease), box-shadow .3s;
}
.wa-float .bi { font-size: 24px; }
.wa-float:hover { transform: translateY(-2px); color: #fff !important; }
.wa-float-label { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .4s var(--ease); }
.wa-float:hover .wa-float-label, .wa-float:focus-visible .wa-float-label { max-width: 200px; }
@media (min-width: 992px) { .wa-float { display: inline-flex; } }

.mobile-cta {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
    display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
    background: var(--navy); border-top: 1px solid var(--line-light);
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateY(0); transition: transform .3s var(--ease);
}
.mobile-cta a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 60px; color: #fff !important; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-right: 1px solid var(--line-light); }
.mobile-cta a:last-child { border-right: 0; }
.mobile-cta .bi { font-size: 19px; color: var(--gold); }
.mobile-cta a.is-primary { background: var(--gold); color: var(--navy) !important; }
.mobile-cta a.is-primary .bi { color: var(--navy); }
body.nav-open .mobile-cta, body.modal-open .mobile-cta { transform: translateY(110%); }
@media (max-width: 991.98px) {
    body.site { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
    .site-footer .footer-bottom { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
@media (min-width: 992px) { .mobile-cta { display: none; } }

.toast-stack { position: fixed; z-index: 1500; left: 50%; top: calc(var(--header-h) + 12px); transform: translateX(-50%); width: min(560px, calc(100% - 32px)); display: grid; gap: 10px; }
.toast-mg { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 14px 18px; background: var(--white); border-left: 3px solid var(--teal); border-radius: var(--radius-sm); box-shadow: var(--shadow); font-size: 14px; color: var(--ink); }
.toast-danger { border-left-color: var(--danger); }
.toast-mg button { border: 0; background: none; font-size: 18px; line-height: 1; color: var(--muted); cursor: pointer; }

/* ---------------------------------------------------------------------
   Reveal on scroll (only when JS is running; respects reduced motion)
   --------------------------------------------------------------------- */
.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: none; }
.js .rail .reveal, .js .grid-3 .reveal:nth-child(3n+2), .js .grid-4 .reveal:nth-child(4n+2) { transition-delay: .08s; }
.js .grid-3 .reveal:nth-child(3n), .js .grid-4 .reveal:nth-child(4n+3) { transition-delay: .16s; }
.js .grid-4 .reveal:nth-child(4n) { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    .js .reveal { opacity: 1; transform: none; }
    .page-hero-media img, .home-hero-media img { animation: none; }
}

/* ---------------------------------------------------------------------
   Small-screen refinements
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    :root { --header-h: 64px; }
    .site-header { height: 64px; }
    .site-header.is-solid { height: 60px; --header-h: 60px; }
    .brand-mark { width: 34px; height: 34px; }
    .brand-name { font-size: 19px; letter-spacing: .16em; }
    .brand-sub { font-size: 7px; letter-spacing: .38em; margin-top: 3px; }
    .section-head.align-split { flex-direction: column; align-items: flex-start; gap: 16px; }
    .page-hero.size-lg, .page-hero.has-image { min-height: clamp(420px, 60vw, 560px); aspect-ratio: auto; }
    .page-hero-inner { padding-top: clamp(54px, 8vw, 84px); padding-bottom: 32px; }
    .hero-actions .btn-mg { flex: 1 1 auto; }
    .card-dest-body { padding: 20px; }
    .highlights-block { padding: 24px 20px; }
    .proposal-context { grid-template-columns: 60px 1fr; }
    .proposal-context .link-btn { display: none; }
    .subnav { top: 64px; }
    .sticky-card { position: static; }
    .filter-field { max-width: none; }
    .filter-summary { margin: 0; }
    .lb-prev, .lb-next { top: auto; bottom: 14px; transform: none; }
    .lb-caption { bottom: 80px; padding: 0 20px; }
    .footer-bottom { flex-direction: column; }
    .toast-stack { top: auto; bottom: 76px; }
}
@media (max-width: 991.98px) {
    .sticky-card { position: static; }
    .detail-side { order: 2; }
}
@media (max-width: 399.98px) {
    .lead-form .phone-group select { width: 104px; font-size: 13px; }
    .btn-mg { padding-inline: 18px; letter-spacing: .12em; }
}
@media print {
    .site-header, .mobile-nav, .mobile-cta, .wa-float, .site-footer, .mg-modal, .cta-band { display: none !important; }
    .page-hero { min-height: 0 !important; background: none; color: #000; }
    .page-hero-title { color: #000 !important; }
}

/* Collapsed accordion content is not focusable */
.js .acc-panel:not(.is-open) > .acc-panel-inner { visibility: hidden; transition: visibility 0s linear .35s; }
.js .acc-panel.is-open > .acc-panel-inner { visibility: visible; }

/* Consecutive feature splits share one rhythm instead of doubling the gap */
.feature-split + .feature-split { padding-top: 0; }

/* Guard against decorative offsets creating horizontal scroll */
html, body.site { overflow-x: clip; }
@media (max-width: 767.98px) {
    .feature-media::before { inset: 12px -10px -12px 12px; }
    .feature-split.is-reverse .feature-media::before { inset: 12px 12px -12px -10px; }
}

/* Comfortable reading measure for long-form CMS content */
.section-tight-top > .wrap > .prose-lg, .narrow-center .prose { max-width: 860px; }

/* Lining figures read better for prices, dates and metrics */
body.site { font-variant-numeric: lining-nums; }
.site .block-title { font-family: var(--ff-body); font-size: 12px; font-weight: 700; letter-spacing: .2em; line-height: 1.4; }
.day-num { font-family: var(--ff-body); }
.filter-bar-wide .filter-summary { align-self: flex-start; }

/* =====================================================================
   Magnum brand upgrade (2026) — typography, new homepage blocks, pathways
   ===================================================================== */
.btn-mg, .link-arrow, .link-btn { font-weight: 600; }
.section-title, .cta-band-title, .sports-title { font-weight: 800; letter-spacing: -.03em; }
.lead-text { font-weight: 400; letter-spacing: -.01em; }
.brand-sub { font-size: 7px; letter-spacing: .3em; white-space: nowrap; }
.brand-name { line-height: .9; }

/* Hero */
.hero-wordmark { font-size: 13px; letter-spacing: .5em; font-weight: 800; margin-bottom: 18px; }
.home-hero-tagline { font-size: clamp(1rem, 1.4vw, 1.2rem); font-weight: 600; letter-spacing: .02em; color: var(--gold-2); margin: 0 0 14px; }
.home-hero-sub { margin-bottom: 0; line-height: 1.65; }
.hero-proof { margin: 26px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .66); }
.hero-pillars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin-top: clamp(32px, 5vw, 56px); border-top: 1px solid var(--line-light); }
.hero-pillars a { display: flex; flex-direction: column; gap: 4px; padding: 16px 12px 14px 0; color: #fff !important; position: relative; border-bottom: 1px solid var(--line-light); }
.hero-pillars a::before { content: ""; position: absolute; left: 0; right: 100%; top: -1px; height: 2px; background: var(--gold); transition: right .45s var(--ease); }
.hero-pillars a:hover::before, .hero-pillars a:focus-visible::before { right: 12px; }
.hp-num { font-size: 11px; font-weight: 700; letter-spacing: .2em; color: var(--gold); }
.hp-label { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
@media (min-width: 900px) { .hero-pillars { grid-template-columns: repeat(5, 1fr); border-bottom: 0; } .hero-pillars a { border-bottom: 0; padding-right: 20px; } }

/* Pillars — "We manage more than travel" */
.pillars-section { background: var(--paper); }
.pillar-cards { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .pillar-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pillar-cards { grid-template-columns: repeat(4, 1fr); } }
.pillar-card { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 340px; padding: 34px 28px 30px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text) !important; overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease); }
.pillar-card::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.pillar-card:hover, .pillar-card:focus-visible { transform: translateY(-4px); box-shadow: var(--shadow); background: var(--navy); border-color: var(--navy); color: rgba(255, 255, 255, .78) !important; }
.pillar-card:hover::after, .pillar-card:focus-visible::after { transform: scaleX(1); }
.pillar-card-num { font-size: 12px; font-weight: 800; letter-spacing: .2em; color: var(--gold-ink); }
.pillar-card-tag { font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.pillar-card-title { font-size: 1.45rem; font-weight: 800; letter-spacing: -.025em; margin: 6px 0 0; transition: color .3s; }
.pillar-card-text { margin: 0; font-size: .95rem; line-height: 1.65; flex: 1; }
.pillar-card-cta { margin-top: 10px; }
.pillar-card:hover .pillar-card-title { color: #fff; }
.pillar-card:hover .pillar-card-num { color: var(--gold); }
.pillar-card:hover .pillar-card-tag { color: rgba(255, 255, 255, .6); }
.pillar-card:hover .pillar-card-cta { color: #fff; }

/* Proof band */
.proof-section { padding-block: clamp(56px, 7vw, 96px); }
.proof-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 20px; margin: 0 0 clamp(32px, 4vw, 52px); padding: 0 0 clamp(28px, 3vw, 40px); border-bottom: 1px solid var(--line-light); }
@media (min-width: 900px) { .proof-stats { grid-template-columns: repeat(4, 1fr); } }
.proof-stat { display: flex; flex-direction: column-reverse; gap: 8px; }
.proof-stat dd { margin: 0; font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; color: var(--gold); }
.proof-stat dt { font-size: 11.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.proof-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; align-items: center; }
@media (min-width: 640px) { .proof-logos { grid-template-columns: repeat(4, 1fr); } }
.proof-logos li { position: relative; display: flex; align-items: center; justify-content: center; min-height: 74px; padding: 14px; border: 1px solid var(--line-light); border-radius: var(--radius); text-align: center; transition: border-color .3s; }
.proof-logos li:hover { border-color: var(--gold); }
.proof-logos .client-logo { max-height: 40px; width: auto; filter: brightness(0) invert(1); opacity: .85; }
.proof-logos .client-wordmark { color: rgba(255, 255, 255, .85); }
.proof-section .demo-note { color: rgba(255, 255, 255, .55); }

/* Sports showcase */
.sports-section { position: relative; isolation: isolate; background: var(--navy); color: rgba(255, 255, 255, .8); overflow: hidden; }
.sports-media, .sports-shade { position: absolute; inset: 0; z-index: -2; }
.sports-media img { width: 100%; height: 100%; object-fit: cover; }
.sports-shade { z-index: -1; background: linear-gradient(100deg, rgba(11, 31, 51, .96) 0%, rgba(11, 31, 51, .86) 48%, rgba(11, 31, 51, .6) 100%); }
.sports-inner { display: grid; gap: clamp(36px, 5vw, 64px); }
@media (min-width: 992px) { .sports-inner { grid-template-columns: 1fr 1.1fr; align-items: center; } }
.sports-title { color: #fff !important; font-size: clamp(2.2rem, 4.6vw, 4rem); line-height: 1.02; margin: 0 0 22px; text-transform: uppercase; }
.sports-text p { font-size: 1.05rem; line-height: 1.7; margin: 0 0 1em; max-width: 52ch; }
.sports-copy .btn-mg { margin-top: 12px; }
.sports-blocks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; }
@media (min-width: 640px) { .sports-blocks { grid-template-columns: 1fr 1fr; } }
.sports-block { background: rgba(11, 31, 51, .78); padding: 24px 24px 22px; backdrop-filter: blur(2px); transition: background .3s; }
.sports-block:hover { background: var(--navy-2); }
.sports-block i { color: var(--gold); font-size: 22px; display: block; margin-bottom: 12px; }
.sports-block h3 { color: #fff !important; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 8px; }
.sports-block p { margin: 0; font-size: .9rem; color: rgba(255, 255, 255, .72); line-height: 1.55; }
@media (min-width: 640px) { .sports-block:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* Credentials */
.credentials-grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 992px) { .credentials-grid { grid-template-columns: 1fr 1.2fr; gap: 64px; } }
.credential-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.credential-list li { padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--white); font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--navy); }

/* Service pages: statement band + grouped lists */
.statement-band { background: var(--navy); padding-block: clamp(48px, 6vw, 84px); }
.statement-text { margin: 0; max-width: 18ch; font-size: clamp(2rem, 5vw, 4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.02; text-transform: uppercase; color: #fff; }
.statement-text::before { content: ""; display: block; width: 56px; height: 2px; background: var(--gold); margin-bottom: 26px; }
.list-groups { display: grid; gap: clamp(32px, 4vw, 52px); }
@media (min-width: 992px) { .list-groups { grid-template-columns: 1fr 1fr; } .list-groups .list-group-block:only-child { grid-column: 1 / -1; } }
.chip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.chip-list li { padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--white); font-size: 14px; font-weight: 600; color: var(--navy); transition: background .25s, color .25s, border-color .25s; }
.chip-list li:hover { background: var(--navy); color: #fff; border-color: var(--navy); }

/* Contact pathways */
.pathway-section {
    padding-top: clamp(28px, 3.5vw, 44px);
    padding-bottom: clamp(36px, 4vw, 56px);
    background: var(--ivory);
}
.contact-main-section {
    padding-top: clamp(48px, 5.5vw, 76px);
    padding-bottom: clamp(64px, 8vw, 100px);
}
.pathway-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .pathway-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pathway-grid { grid-template-columns: repeat(4, 1fr); } }
.pathway { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 26px 24px; background: var(--white); border: 1px solid var(--line); border-top: 3px solid transparent; border-radius: var(--radius); transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.pathway:hover, .pathway.is-active { border-top-color: var(--gold); transform: translateY(-3px); box-shadow: var(--shadow); }
.pathway > i { font-size: 24px; color: var(--gold-ink); }
.pathway-who { font-size: 11.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.pathway.is-active { background: var(--navy); border-color: var(--navy); border-top-color: var(--gold); }
.pathway.is-active .pathway-who { color: rgba(255, 255, 255, .62); }
.pathway.is-active .link-arrow { color: #fff; }
.pathway.is-active > i { color: var(--gold); }

/* Filter chips (testimonials) */
.filter-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; }
.filter-chips a { padding: 9px 20px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--navy); background: transparent; transition: background .25s, color .25s, border-color .25s; }
.filter-chips a:hover, .filter-chips a[aria-current="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.filter-chips-light { margin: 32px 0 0; justify-content: center; }
.filter-chips-light a { border-color: var(--line-light); color: rgba(255, 255, 255, .85); }
.filter-chips-light a:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }

/* Subtle premium interactions */
.feature-card, .pillar, .process-step, .service-tile, .testi-card { transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s; }
.feature-media img, .service-tile img, .card-media img { transition: transform .9s var(--ease); }
.feature-media:hover img, .service-tile:hover img, a:hover > .card-media img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
    .hero-rise, .home-hero-media img { animation: none !important; }
    .pillar-card, .pathway, .feature-card { transition: none; }
}

/* =====================================================================
   NEW LUXURY DESIGN SYSTEM ENHANCEMENTS (2026 REDESIGN)
   ===================================================================== */

/* 1. Official Logo Emblem */
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; }
.brand-logo-img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: contain;
    background: #ffffff;
    padding: 2px;
    box-shadow: 0 4px 14px rgba(11, 31, 51, 0.16);
    flex-shrink: 0;
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.brand-link:hover .brand-logo-img {
    transform: scale(1.08) rotate(6deg);
    box-shadow: 0 6px 18px rgba(185, 151, 91, 0.35);
}
.site-footer .brand-logo-img {
    width: 52px;
    height: 52px;
    background: #ffffff;
}

/* 2. Statistics Strip (Achievements directly below Hero) */
/* 2. Statistics Strip (Achievements directly below Hero on Warm White) */
.stats-strip-section {
    background: #f7f5f0 !important;
    padding: clamp(52px, 6.5vw, 84px) 0;
    position: relative;
    border-bottom: 1px solid rgba(11, 31, 51, 0.08);
}
.stats-strip-header { margin-bottom: 38px; }
.stats-eyebrow {
    display: inline-block;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    margin-bottom: 8px;
    position: relative;
}
.stats-title {
    color: #0b1f33 !important;
    font-size: clamp(1.8rem, 3.2vw, 2.7rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0;
}
.stats-strip-grid-5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}
.stat-strip-card {
    background: #ffffff !important;
    border: 2px solid rgba(11, 31, 51, 0.08) !important;
    border-radius: 14px !important;
    padding: 28px 18px;
    text-align: center;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s var(--ease), border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s var(--ease);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.stat-strip-card:hover {
    transform: translateY(-6px);
    border-color: #0b1f33 !important;
    box-shadow: 0 16px 36px -8px rgba(11, 31, 51, 0.12);
}
.stat-strip-icon {
    font-size: 24px;
    color: var(--gold);
    margin-bottom: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(185, 151, 91, 0.14);
}
.stat-strip-number {
    font-family: var(--ff-display);
    font-size: clamp(1.85rem, 2.5vw, 2.45rem);
    font-weight: 800;
    color: #0b1f33 !important;
    line-height: 1.1;
    margin-bottom: 6px;
    letter-spacing: -0.02em;
}
.stat-strip-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #1c1c1c !important;
    letter-spacing: 0.01em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.stat-strip-label .dot-accent {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e63946;
    display: inline-block;
}
.stat-strip-sub {
    font-size: 11.5px;
    color: #5d646d !important;
    margin-top: 4px;
    font-weight: 500;
}
.stats-logos-wrap {
    margin-top: 52px;
    padding-top: 40px;
    border-top: 1px solid rgba(11, 31, 51, 0.08);
    text-align: center;
    width: 100%;
}
.section-clients-logos {
    padding-top: clamp(16px, 2vw, 26px) !important;
    padding-bottom: clamp(32px, 3.8vw, 48px) !important;
}
.stats-logos-title {
    font-family: var(--ff-display);
    font-size: clamp(1.4rem, 2.5vw, 2.05rem) !important;
    font-weight: 850 !important;
    letter-spacing: 0.04em !important;
    color: #0b1f33 !important;
    margin-bottom: 24px !important;
    text-transform: uppercase;
    line-height: 1.25;
}
.proof-logos-expanded,
.proof-logos-clean {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
    gap: 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1280px;
}
.proof-logos-expanded li,
.proof-logos-clean li,
.proof-logo-item,
.client-logo-item {
    background: #ffffff !important;
    border: 1.5px solid rgba(11, 31, 51, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.05) !important;
    padding: 10px 18px !important;
    min-height: 84px !important;
    height: 86px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s ease !important;
}
.proof-logos-expanded li:hover,
.proof-logos-clean li:hover,
.proof-logo-item:hover,
.client-logo-item:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 151, 91, 0.6) !important;
    box-shadow: 0 14px 30px rgba(11, 31, 51, 0.12) !important;
}
.proof-logos-expanded .client-logo,
.proof-logos-clean .client-logo {
    width: 100% !important;
    max-width: 165px !important;
    height: auto !important;
    max-height: 66px !important;
    aspect-ratio: 300 / 120;
    object-fit: contain !important;
    filter: none !important;
    opacity: 0.98 !important;
    display: block;
    margin: 0 auto;
    image-rendering: -webkit-optimize-contrast;
    transition: transform 0.25s, opacity 0.25s;
}
.proof-logos-expanded li:hover .client-logo,
.proof-logos-clean li:hover .client-logo {
    transform: scale(1.08);
    opacity: 1 !important;
}
.proof-logos-expanded .client-wordmark,
.proof-logos-clean .client-wordmark {
    font-size: 15px;
    font-weight: 750;
    color: #0b1f33;
}
@media (max-width: 1199px) {
    .stats-strip-grid-5 { grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .proof-logos-expanded, .proof-logos-clean { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
    .proof-logos-expanded li, .proof-logos-clean li, .proof-logo-item, .client-logo-item { min-height: 78px !important; height: 80px !important; padding: 8px 14px !important; }
    .proof-logos-expanded .client-logo, .proof-logos-clean .client-logo { width: 125px !important; height: 46px !important; max-height: 48px !important; }
}
@media (max-width: 767px) {
    .stats-strip-grid-5 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .stats-logos-title { font-size: 13.5px; letter-spacing: 0.06em; }
    .proof-logos-expanded, .proof-logos-clean { grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); gap: 12px; }
    .proof-logos-expanded li, .proof-logos-clean li, .proof-logo-item, .client-logo-item { min-height: 70px !important; height: 72px !important; padding: 8px 12px !important; }
    .proof-logos-expanded .client-logo, .proof-logos-clean .client-logo { width: 110px !important; height: 40px !important; max-height: 42px !important; }
}
@media (max-width: 479px) {
    .stats-strip-grid-5 { grid-template-columns: 1fr; }
    .proof-logos-expanded, .proof-logos-clean { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* =====================================================================
   Testimonial Executive ID Badge Pass Cards (matching user mockup)
   ===================================================================== */
.testi-badge-card-wrap {
    padding: 12px 10px 18px;
    display: flex;
}
.testi-badge-card {
    position: relative;
    background: #ffffff;
    border-radius: 20px;
    padding: 28px 24px 22px;
    box-shadow: 0 10px 28px rgba(11, 31, 51, 0.06);
    border: 1px solid rgba(11, 31, 51, 0.08);
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 220px;
    height: 100%;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
/* Disable layered pseudo-elements to ensure zero internal borders or bleed-through lines */
.testi-badge-card::before,
.testi-badge-card::after {
    display: none !important;
    content: none !important;
}
.testi-badge-card:hover {
    transform: translateY(-5px);
    border-color: rgba(185, 151, 91, 0.45) !important;
    box-shadow: 0 18px 36px rgba(11, 31, 51, 0.1);
}

/* Hidden elements: badge slot, company header, quote mark, avatar, social */
.testi-badge-slot,
.testi-badge-head,
.testi-badge-quote-icon,
.testi-badge-social,
.testi-badge-avatar {
    display: none !important;
}

/* Quote body */
.testi-badge-quote {
    margin: 0 0 18px;
    flex-grow: 1;
}
.testi-badge-quote p {
    font-size: 14px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

/* Profile footer (Name & Designation) */
.testi-badge-foot {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-top: 14px;
    border-top: 1px solid rgba(11, 31, 51, 0.08);
    margin-top: auto;
}
.testi-badge-author {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
}
.testi-badge-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.testi-badge-name {
    font-size: 14.5px;
    font-weight: 700;
    color: #0b1f33;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.testi-badge-role {
    font-size: 12px;
    color: #64748b;
    margin-top: 3px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.testi-badge-social {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: #0077b5;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 119, 181, 0.25);
}
.testi-badge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 36px;
    margin-bottom: 0;
}
@media (max-width: 1024px) {
    .testi-badge-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}
@media (max-width: 639px) {
    .testi-badge-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
.section-warm-white {
    background: #f7f5f0 !important;
}

/* 3. Bestselling Tour Packages Section (Reference Design) */
.section-bestsellers-ref {
    background: #fbf9f4;
    padding-top: clamp(38px, 4.5vw, 60px);
    padding-bottom: clamp(18px, 2.2vw, 30px);
    position: relative;
}
.bestseller-head {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 38px;
}
.bestseller-main-title {
    font-family: var(--ff-display);
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 800;
    color: var(--navy);
    line-height: 1.15;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
}
.bestseller-main-sub {
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    color: #4b5563;
    line-height: 1.6;
    margin: 0 auto 20px;
}
.bestseller-gold-line {
    width: 60px;
    height: 2px;
    background: #d4a359;
    margin: 0 auto;
    border-radius: 2px;
}

/* Filter bar & Tabs */
.pkg-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}
.pkg-filter-tabs {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.pkg-pill-btn {
    appearance: none;
    background: #ffffff;
    border: 1px solid rgba(11, 31, 51, 0.12);
    padding: 8px 18px;
    border-radius: 999px;
    font-family: var(--ff-body);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #4b5563;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    transition: all 0.25s var(--ease);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pkg-pill-btn:hover {
    color: var(--navy);
    border-color: rgba(11, 31, 51, 0.3);
}
.pkg-pill-btn.is-active {
    background: #0b1f33;
    color: #ffffff;
    border-color: #0b1f33;
    box-shadow: 0 4px 14px rgba(11, 31, 51, 0.25);
}
.pkg-pill-btn .tab-count {
    font-size: 11px;
    opacity: 0.8;
}
.pkg-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 700;
    color: #1e704a;
    background: rgba(30, 112, 74, 0.07);
    padding: 7px 16px;
    border-radius: 999px;
    border: 1px solid rgba(30, 112, 74, 0.2);
}
.pkg-trust-badge i { font-size: 15px; }

/* 4-column Grid matching Screenshot 2 */
.pkg-bestseller-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.pkg-grid-item {
    transition: opacity 0.3s var(--ease), transform 0.3s var(--ease);
}
.pkg-grid-item.fade-in {
    animation: pkgFade 0.35s var(--ease) forwards;
}

/* Card Bestseller matching Screenshot 2 */
.card-pkg-bestseller {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #f7f5f0;
    border: 1px solid rgba(11, 31, 51, 0.1);
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.06);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s var(--ease);
    min-height: 340px;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.card-pkg-bestseller:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px -8px rgba(11, 31, 51, 0.16);
    border-color: transparent;
}
.bestseller-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
    text-decoration: none;
    color: inherit;
}
.bestseller-card-media {
    position: relative;
    aspect-ratio: 16 / 11;
    min-height: 210px;
    overflow: hidden;
    background: #0b1f33;
    flex: 1;
}
.bestseller-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}
.card-pkg-bestseller:hover .bestseller-card-media img {
    transform: scale(1.06);
}
.bestseller-card-badges {
    position: absolute;
    inset: 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    pointer-events: none;
    z-index: 2;
}
.badge-dur-chip {
    background: rgba(11, 31, 51, 0.88);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    letter-spacing: 0.04em;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.badge-tag-gold {
    background: #b9975b;
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    padding: 4px 11px;
    border-radius: 999px;
    letter-spacing: 0.08em;
    box-shadow: 0 2px 8px rgba(11, 31, 51, 0.15);
    text-transform: uppercase;
}
.bestseller-card-info {
    background: #f7f5f0;
    padding: 16px 18px 20px;
    display: flex;
    flex-direction: column;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-top: 0 none !important;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    margin: 0 -1px -1px -1px;
    position: relative;
    z-index: 2;
    transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.35s ease;
}
.card-pkg-bestseller:hover .bestseller-card-info {
    border-left-color: #0b1f33;
    border-right-color: #0b1f33;
    border-bottom-color: #0b1f33;
    border-top: 0 none !important;
}
.bestseller-kicker {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #b9975b;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.card-pkg-bestseller .bestseller-title,
.bestseller-title {
    font-family: var(--ff-body);
    font-size: 1.18rem;
    font-weight: 800;
    color: #0b1f33 !important;
    margin: 0;
    line-height: 1.25;
}
.card-pkg-bestseller .bestseller-title a,
.bestseller-title a {
    color: #0b1f33 !important;
    text-decoration: none;
}
.card-pkg-bestseller .hover-title,
.hover-title {
    color: #0b1f33 !important;
}

/* Default unhovered price display matching reference */
.bestseller-price-row {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-top: 10px;
    padding-top: 2px;
}
.bestseller-price-lbl {
    font-size: 13px;
    font-weight: 600;
    color: #1c1c1c;
    opacity: 0.82;
    letter-spacing: -0.01em;
}
.bestseller-price-val {
    font-family: var(--ff-display);
    font-size: 1.25rem;
    font-weight: 800;
    color: #b9975b;
    letter-spacing: -0.01em;
    line-height: 1;
}

/* Overlay removed from everywhere */
.bestseller-card-hover {
    display: none !important;
}

.pkg-bottom-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 22px;
    width: 100%;
}
.btn-view-all-pkg {
    padding: 13px 26px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px !important;
}

@media (max-width: 1279.98px) {
    .pkg-bestseller-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}
@media (max-width: 991.98px) {
    .pkg-bestseller-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .pkg-top-bar { flex-direction: column; align-items: stretch; gap: 14px; }
    .pkg-filter-tabs { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
    .pkg-trust-badge { align-self: flex-start; }
}
@media (max-width: 599.98px) {
    .pkg-bestseller-grid { grid-template-columns: 1fr; gap: 16px; max-width: 440px; margin-inline: auto; }
    .pkg-filter-tabs { justify-content: center; }
    .pkg-trust-badge { align-self: center; text-align: center; justify-content: center; }
}

/* Standard Catalog Package Card */
.card-pkg-premium {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(11, 31, 51, 0.09);
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.05);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
}
.card-pkg-premium:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 42px -10px rgba(11, 31, 51, 0.18);
    border-color: rgba(185, 151, 91, 0.5);
}
.card-pkg-premium .card-pkg-media-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #0b1f33;
}
.card-pkg-premium .card-pkg-media {
    display: block;
    width: 100%;
    height: 100%;
}
.card-pkg-premium .card-pkg-media-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}
.card-pkg-premium:hover .card-pkg-media-wrap img {
    transform: scale(1.06);
}
.card-pkg-premium .card-pkg-badges {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    pointer-events: none;
    z-index: 2;
}
.card-pkg-premium .card-tag-gold {
    background: var(--gold);
    color: #0b1f33;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.card-pkg-premium .card-pkg-body {
    padding: 22px 20px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.card-pkg-premium .card-pkg-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.card-pkg-premium .card-dest-type-badge {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: var(--gold-ink);
    background: #fdfaf3;
    padding: 3px 9px;
    border-radius: 4px;
    border: 1px solid rgba(185, 151, 91, 0.3);
    text-transform: uppercase;
}
.card-pkg-premium .card-dest-loc-sub {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--muted);
    text-transform: uppercase;
}
.card-pkg-premium .card-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--ink);
    margin: 0 0 6px;
    line-height: 1.25;
}
.card-pkg-premium .card-title a {
    color: var(--ink);
    transition: color 0.2s;
}
.card-pkg-premium:hover .card-title a {
    color: var(--navy);
}
.card-pkg-premium .card-pkg-dur {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 12px;
}
.card-pkg-premium .card-pkg-dur i {
    color: var(--gold);
    font-size: 13px;
}
.card-pkg-premium .card-pkg-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.55;
    margin: 0 0 16px;
    min-height: 40px;
}
.card-pkg-premium .card-pkg-price-block {
    background: #fbfaf8;
    border: 1px solid rgba(11, 31, 51, 0.07);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 16px;
}
.card-pkg-premium .price-eyebrow {
    display: block;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 3px;
}
.card-pkg-premium .price-value-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.card-pkg-premium .price-amt {
    font-family: var(--ff-display);
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1;
}
.card-pkg-premium .price-unit {
    font-size: 12px;
    font-weight: 600;
    color: var(--muted);
}
.card-pkg-premium .price-gst {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    margin-top: 3px;
}
.card-pkg-premium .card-pkg-inclusions {
    margin-bottom: 20px;
}
.card-pkg-premium .inclusions-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.card-pkg-premium .inclusions-check-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
}
.card-pkg-premium .inclusions-check-list li i {
    color: #059669;
    font-size: 15px;
    font-weight: 800;
    flex-shrink: 0;
}
.card-pkg-premium .card-pkg-cta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}
.card-pkg-premium .card-cta-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em;
    padding: 12px 18px !important;
    border-radius: 8px !important;
}
.card-pkg-premium .btn-wa-round {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #25D366;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.3);
    transition: transform 0.25s, box-shadow 0.25s;
}
.card-pkg-premium .btn-wa-round:hover {
    transform: scale(1.06);
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.45);
}

/* 4. Pillars with Images ("We manage more than travel") */
.pillar-cards-with-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
.pillar-card-img {
    background: #ffffff;
    border: 1px solid rgba(11, 31, 51, 0.08);
    border-radius: 12px;
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
}
.pillar-card-img:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 38px -10px rgba(11, 31, 51, 0.18);
    border-color: transparent;
}
.pillar-card-thumb {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #0b1f33;
}
.pillar-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}
.pillar-card-img:hover .pillar-card-thumb img {
    transform: scale(1.08);
}
.pillar-card-thumb .pillar-card-num {
    position: absolute;
    top: 12px;
    left: 12px;
    font-family: var(--ff-display);
    font-size: 13px;
    font-weight: 800;
    color: #ffffff;
    background: rgba(11, 31, 51, 0.75);
    padding: 4px 10px;
    border-radius: 6px;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.pillar-card-img .pillar-card-body {
    padding: 22px 20px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-top: 0 none !important;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    margin: 0 -1px -1px -1px;
    position: relative;
    z-index: 2;
    transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.pillar-card-img:hover .pillar-card-body {
    border-left-color: #0b1f33;
    border-right-color: #0b1f33;
    border-bottom-color: #0b1f33;
    border-top: 0 none !important;
}
.pillar-card-img .pillar-card-tag {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: var(--gold-ink);
    text-transform: uppercase;
    margin-bottom: 8px;
}
.pillar-card-img .pillar-card-title {
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--ink);
    margin: 0 0 10px;
    line-height: 1.25;
}
.pillar-card-img .pillar-card-text {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 16px;
}
.pillar-card-img .pillar-card-cta {
    margin-top: auto;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
}
@media (max-width: 1024px) {
    .pillar-cards-with-images { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 639.98px) {
    .pillar-cards-with-images { grid-template-columns: 1fr; gap: 16px; }
}

/* 5. Sports Flagship Layout */
.sports-flagship-section {
    padding: 0 0 clamp(48px, 6vw, 80px);
    background: #091929;
}
.sports-flagship-banner {
    position: relative;
    padding: clamp(60px, 9vw, 130px) 0 clamp(50px, 7vw, 100px);
    overflow: hidden;
}
.sports-flagship-media {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.sports-flagship-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sports-flagship-shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(9, 25, 41, 0.35) 0%, rgba(9, 25, 41, 0.62) 100%);
}
.sports-flagship-inner {
    position: relative;
    z-index: 3;
}
.sports-flagship-copy { max-width: 780px; }
.sports-flagship-title {
    font-family: var(--ff-display);
    font-size: clamp(2.2rem, 4.4vw, 3.8rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 12px 0 16px;
}
.sports-flagship-sub {
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 28px;
    max-width: 620px;
    line-height: 1.5;
}
.btn-sports-cta {
    padding: 14px 30px !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.sports-strip-wrap {
    margin-top: -30px;
    position: relative;
    z-index: 4;
}
.sports-cards-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}
.sports-cap-card {
    background: #11283d;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s var(--ease), border-color 0.3s, box-shadow 0.3s;
}
.sports-cap-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}
.sports-cap-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.sports-cap-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease);
}
.sports-cap-card:hover .sports-cap-media img {
    transform: scale(1.08);
}
.sports-cap-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(17, 40, 61, 0.8) 100%);
}
.sports-cap-body {
    padding: 14px 12px 16px;
    display: flex;
    flex-direction: column;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-top: 0 none !important;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin: 0 -1px -1px -1px;
    position: relative;
    z-index: 2;
    transition: border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.sports-cap-card:hover .sports-cap-body {
    border-left-color: var(--gold);
    border-right-color: var(--gold);
    border-bottom-color: var(--gold);
    border-top: 0 none !important;
}
.sports-cap-title {
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #ffffff !important;
    margin: 0 0 6px;
    line-height: 1.25;
}
.sports-cap-desc {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.45;
    margin: 0;
}
@media (max-width: 1199.98px) {
    .sports-cards-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}
@media (max-width: 767.98px) {
    .sports-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .sports-flagship-title { font-size: clamp(1.45rem, 5vw, 2.2rem) !important; }
}
@media (max-width: 479.98px) {
    .sports-cards-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* 6. About Magnum & Why Travellers Choose Magnum */
.section-about-intro {
    background: #ffffff;
    padding: clamp(50px, 6vw, 84px) 0;
}
.about-intro-box {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: clamp(30px, 5vw, 64px);
    align-items: center;
}
.about-intro-points {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 24px 0 28px;
}
.intro-point {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
}
.intro-point i {
    color: var(--gold);
    font-size: 18px;
}
.about-intro-media {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(11, 31, 51, 0.12);
}
.about-intro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 860px) {
    .about-intro-box { grid-template-columns: 1fr; }
}

.section-why-choose {
    background: #f7f5f0;
    padding: clamp(50px, 6vw, 90px) 0;
}
.why-choose-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}
.why-choose-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px 20px 26px;
    border: 1px solid rgba(11, 31, 51, 0.08);
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s var(--ease), box-shadow 0.35s, border-color 0.35s;
    text-align: center;
}
.why-choose-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 36px -10px rgba(11, 31, 51, 0.16);
    border-color: rgba(185, 151, 91, 0.5);
}
.why-choose-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fdfaf3;
    border: 1px solid rgba(185, 151, 91, 0.25);
    color: var(--gold-ink);
    font-size: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: transform 0.3s;
}
.why-choose-card:hover .why-choose-icon {
    transform: scale(1.12);
    background: var(--gold);
    color: #ffffff;
}
.why-choose-title {
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--ink);
    margin: 0 0 10px;
    line-height: 1.3;
}
.why-choose-desc {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.55;
    margin: 0;
}
@media (max-width: 1100px) {
    .why-choose-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (max-width: 767.98px) {
    .why-choose-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .why-choose-card { padding: 22px 16px 20px; }
    .why-choose-icon { width: 48px; height: 48px; font-size: 20px; margin-bottom: 14px; }
    .why-choose-title { font-size: 1rem; }
    .why-choose-desc { font-size: 12px; }
}
@media (max-width: 479.98px) {
    .why-choose-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* 7. Compact Destination Category Section */
.section-dest-compact {
    background: #ffffff;
    padding: clamp(50px, 6vw, 90px) 0;
}
.dest-compact-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
.dest-compact-title-wrap { max-width: 680px; }
.btn-design-journey {
    padding: 14px 28px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.dest-compact-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 14px;
}
.dest-compact-card {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 9 / 14;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px 14px;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.1);
    transition: transform 0.35s var(--ease), box-shadow 0.35s;
}
.dest-compact-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px rgba(11, 31, 51, 0.25);
}
.dest-compact-media {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.dest-compact-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}
.dest-compact-card:hover .dest-compact-media img {
    transform: scale(1.12);
}
/* Bottom vignette gradient for crystal-clear contrast over card imagery */
.dest-compact-gradient {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block !important;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(7, 25, 43, 0) 0%,
        rgba(7, 25, 43, 0.05) 30%,
        rgba(7, 25, 43, 0.68) 68%,
        rgba(7, 25, 43, 0.94) 100%
    ) !important;
    transition: background 0.35s ease;
}
.dest-compact-card:hover .dest-compact-gradient {
    background: linear-gradient(
        to bottom,
        rgba(7, 25, 43, 0.06) 0%,
        rgba(7, 25, 43, 0.2) 28%,
        rgba(7, 25, 43, 0.78) 65%,
        rgba(7, 25, 43, 0.98) 100%
    ) !important;
}
.dest-compact-body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.dest-compact-card .dest-compact-name,
.dest-compact-name {
    font-family: var(--ff-display);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    margin: 0 0 4px;
}
.dest-compact-sub {
    font-size: 11px;
    color: #f7f5f0 !important;
    line-height: 1.35;
    margin-bottom: 6px;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
}
.dest-compact-arrow {
    display: inline-flex;
    align-items: center;
    color: #b9975b !important;
    font-size: 14px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
    transition: transform 0.2s, color 0.2s;
}
.dest-compact-card:hover .dest-compact-arrow {
    transform: translateX(4px);
    color: #dfbe7d !important;
}

/* =====================================================================
   Modern Testimonial Cards Matching Image 2 Design with Animations
   ===================================================================== */
.section-testimonials {
    background: #f7f5f0 !important;
    padding: clamp(64px, 7vw, 100px) 0;
}
.testi-card-modern {
    background: #ffffff !important;
    border: 1px solid rgba(11, 31, 51, 0.09) !important;
    border-radius: 12px !important;
    overflow: hidden;
    padding: 0 !important;
    box-shadow: 0 4px 18px rgba(11, 31, 51, 0.05);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s var(--ease), border-color 0.3s;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.testi-card-modern:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 42px -10px rgba(11, 31, 51, 0.14);
    border-color: rgba(185, 151, 91, 0.45) !important;
}
.testi-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #0b1f33;
    min-height: 180px;
}
.testi-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.testi-card-modern:hover .testi-card-media img {
    transform: scale(1.07);
}
.testi-cat-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #ffffff;
    color: #0b1f33;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    padding: 4px 11px;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    text-transform: uppercase;
    z-index: 2;
}
.testi-card-body {
    padding: 24px 22px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
    background: #ffffff;
}
.testi-rating-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.testi-stars {
    display: flex;
    gap: 3px;
    color: #e5a93c;
    font-size: 14px;
}
.testi-quote-icon {
    font-size: 26px;
    color: rgba(185, 151, 91, 0.45);
    line-height: 1;
}
.testi-kicker {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: var(--gold-ink, #8c6d32);
    text-transform: uppercase;
    margin: 0 0 10px;
}
.testi-quote {
    margin: 0 0 20px;
    flex: 1;
}
.testi-quote p {
    font-family: var(--ff-body);
    font-size: 14.5px;
    line-height: 1.6;
    color: #2f3338;
    margin: 0;
    font-style: normal;
}
.testi-client-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(11, 31, 51, 0.08);
    margin-top: auto;
}
.testi-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 8px rgba(11, 31, 51, 0.12);
}
.testi-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.testi-client-details {
    display: flex;
    flex-direction: column;
}
.testi-client-name {
    font-family: var(--ff-display);
    font-size: 14.5px;
    font-weight: 800;
    color: #0b1f33;
    line-height: 1.25;
}
.testi-client-role {
    font-size: 12px;
    color: #5d646d;
    margin-top: 2px;
}
@media (max-width: 1279.98px) {
    .dest-compact-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
}
@media (max-width: 991.98px) {
    .dest-compact-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .dest-compact-head { flex-direction: column; align-items: flex-start; gap: 16px; }
}
@media (max-width: 639.98px) {
    .dest-compact-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .dest-compact-card { padding: 14px 10px; border-radius: 10px; }
    .dest-compact-name { font-size: 0.95rem; }
    .dest-compact-sub { font-size: 10px; }
}
@media (max-width: 359.98px) {
    .dest-compact-grid { grid-template-columns: 1fr; }
}

/* 8. Testimonials with Avatars & Stars */
.testi-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.testi-stars {
    display: inline-flex;
    gap: 3px;
    color: var(--gold);
    font-size: 14px;
}
.testi-card .testi-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--gold);
}

/* 9. Hero Carousel Banner with Equal Height & Enhanced Luxury Aesthetics */
/* ---------------------------------------------------------------------
   Home Hero Banner (Static, Clean Background, Zero Overlay)
   --------------------------------------------------------------------- */
.home-hero,
.home-hero.home-hero-static,
.home-hero.home-hero-carousel {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: clamp(560px, calc(100vh - var(--header-h, 72px)), 700px);
    overflow: hidden;
    background: #ffffff;
}

.home-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.home-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
}

/* Text-Only Gradient Overlay: Applied exclusively on home-hero-copy */
.home-hero-media::after,
.home-hero .home-hero-media::after,
.home-hero .hero-carousel-slide .home-hero-media::after,
.home-hero .home-hero-shade {
    display: none !important;
}

/* Slide content container: 2-column luxury layout matching reference */
.home-hero .home-hero-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
    padding-top: clamp(24px, 3.6vh, 44px);
    padding-bottom: clamp(28px, 4.2vh, 50px);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(24px, 3.5vw, 54px);
    overflow: visible;
}
.home-hero .home-hero-copy {
    position: relative;
    width: fit-content;
    max-width: 680px;
    padding: 25px 30px;
    color: #fff;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.home-hero .home-hero-copy::before {
    content: "";
    position: absolute;
    inset: 0 -120px 0 0;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(
        90deg,
        rgba(7, 25, 43, 0.78) 0%,
        rgba(7, 25, 43, 0.58) 45%,
        rgba(7, 25, 43, 0.25) 75%,
        rgba(7, 25, 43, 0.05) 90%,
        transparent 100%
    );
    z-index: -1;
    pointer-events: none;
}

/* Eyebrow badge hidden as in reference */
.home-hero .hero-wordmark {
    display: none !important;
}

/* Headline - Crisp Warm White uppercase with gold accent word matching reference */
.home-hero .home-hero-title {
    color: #F7F5F0 !important;
    font-size: clamp(2.3rem, 4.3vw, 3.8rem);
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.015em;
    margin: 0 0 16px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6) !important;
}
.home-hero .home-hero-title .hero-title-accent,
.home-hero .home-hero-title span {
    color: #B9975B !important;
    display: inline-block;
}

/* Subtitle description - Warm White matching reference */
.home-hero .home-hero-sub {
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.62;
    color: #F7F5F0 !important;
    font-weight: 400;
    max-width: 580px;
    margin: 0 0 26px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
}

/* Call to actions - Matching reference design */
.home-hero .hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}
.home-hero .btn-mg {
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.04em;
    padding: 12px 24px;
    border-radius: 4px;
    text-transform: uppercase;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.home-hero .btn-mg.btn-gold {
    background: #B9975B !important;
    color: #0c1c2e !important;
    border: 1.5px solid #B9975B !important;
    box-shadow: 0 4px 14px rgba(185, 151, 91, 0.3) !important;
}
.home-hero .btn-mg.btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(185, 151, 91, 0.45) !important;
    background: #c8a76d !important;
    border-color: #c8a76d !important;
    color: #0c1c2e !important;
}
.home-hero .btn-mg.btn-glass-navy {
    background: transparent !important;
    border: 1.5px solid #F7F5F0 !important;
    color: #F7F5F0 !important;
    backdrop-filter: blur(4px);
}
.home-hero .btn-mg.btn-glass-navy:hover {
    background: rgba(247, 245, 240, 0.15) !important;
    border-color: #F7F5F0 !important;
    color: #F7F5F0 !important;
    transform: translateY(-2px);
}

/* Proof badge hidden as in reference */
.home-hero .hero-proof {
    display: none !important;
}

/* Hide any remaining carousel controls */
.hero-side-btn,
.hero-carousel-dots {
    display: none !important;
}

/* ---------------------------------------------------------------------
   Polaroid Cluster Showcase (Right Column) - Matching Reference
   --------------------------------------------------------------------- */
.home-hero .hero-polaroids-col {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    overflow: visible;
}
.hero-polaroids-showcase {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    perspective: 1200px;
    padding: 28px 6px 36px 6px;
    max-width: 100%;
    width: 100%;
}
.hero-polaroid {
    position: relative;
    width: clamp(142px, 11vw, 185px);
    background: #ffffff;
    padding: 10px 10px 24px 10px;
    border-radius: 4px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32), 0 4px 12px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: clamp(-36px, -2.6vw, -20px);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
    cursor: pointer;
    flex-shrink: 0;
}
.hero-polaroid:first-child {
    margin-left: 0;
}

/* Tape removed from reference design */
.polaroid-tape {
    display: none !important;
}

/* Polaroid Photo Frame */
.polaroid-photo {
    width: 100%;
    aspect-ratio: 1 / 1.08;
    min-height: 140px;
    overflow: hidden;
    border-radius: 2px;
    background: #0b1f33;
}
.polaroid-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Polaroid Caption - Refined Serif font */
.polaroid-caption {
    font-family: var(--ff-serif, Georgia, serif);
    font-size: 11px;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: #1a2936 !important;
    margin-top: 9px;
    text-align: center;
    line-height: 1.24;
    padding: 0 2px;
    width: 100%;
    display: block;
    word-break: normal;
    white-space: normal;
}

/* Subtle Golden Accent line under caption */
.polaroid-accent-line {
    display: block;
    width: 22px;
    height: 1.5px;
    background: #c89345;
    margin: 5px auto 0;
    border-radius: 1px;
}

/* Natural Rotations matching reference - Cohesive 4-card fan with Card 3 text fully visible */
.polaroid-1 { transform: rotate(-5deg); z-index: 2; }
.polaroid-2 { transform: rotate(-1.5deg); z-index: 3; }
.polaroid-3 { transform: rotate(1deg); z-index: 4; }
.polaroid-3 .polaroid-caption {
    padding-right: 14px;
    padding-left: 4px;
}
.polaroid-4 {
    transform-origin: 50% 50%;
    transform: rotate(5deg);
    margin-left: clamp(-14px, -1.2vw, -8px) !important;
    z-index: 5;
}

/* Interactive Hover Lift - Floating POP animation */
.hero-polaroid:hover {
    transform: translateY(-24px) rotate(0deg) scale(1.08) !important;
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.48), 0 0 24px rgba(200, 147, 69, 0.35) !important;
    z-index: 25 !important;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.hero-polaroid:hover .polaroid-photo img {
    transform: scale(1.06);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------------------------------------------------------------------
   Entrance Fade-In Animations on Load
   --------------------------------------------------------------------- */
.home-hero .hero-anim-left {
    animation: heroFadeLeft 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}
.home-hero .hero-anim-up {
    animation: heroFadeUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
}
.home-hero .hero-anim-right {
    animation: heroFadeRight 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.18s both;
}
.home-hero .polaroid-1 {
    animation: polaroidEntrance1 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}
.home-hero .polaroid-2 {
    animation: polaroidEntrance2 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both;
}
.home-hero .polaroid-3 {
    animation: polaroidEntrance3 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
}
.home-hero .polaroid-4 {
    animation: polaroidEntrance4 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.65s both;
}

@keyframes heroFadeLeft {
    from {
        opacity: 0;
        transform: translateX(-32px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes heroFadeRight {
    from {
        opacity: 0;
        transform: translateX(36px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes polaroidEntrance1 {
    from { opacity: 0; transform: translateY(35px) rotate(-10deg) scale(0.92); }
    to { opacity: 1; transform: rotate(-5deg) scale(1); }
}
@keyframes polaroidEntrance2 {
    from { opacity: 0; transform: translateY(35px) rotate(-6deg) scale(0.92); }
    to { opacity: 1; transform: rotate(-1.5deg) scale(1); }
}
@keyframes polaroidEntrance3 {
    from { opacity: 0; transform: translateY(35px) rotate(6deg) scale(0.92); }
    to { opacity: 1; transform: rotate(1deg) scale(1); }
}
@keyframes polaroidEntrance4 {
    from { opacity: 0; transform: translateY(35px) rotate(10deg) scale(0.92); }
    to { opacity: 1; transform: rotate(5deg) scale(1); }
}

/* Side navigation buttons (left & right) */
.hero-side-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(6, 21, 36, 0.65);
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    cursor: pointer;
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.hero-side-prev { left: 24px; }
.hero-side-next { right: 24px; }
.hero-side-btn:hover {
    background: #d4a359;
    color: #061524;
    border-color: #d4a359;
    transform: translateY(-50%) scale(1.12);
    box-shadow: 0 10px 28px rgba(212, 163, 89, 0.45);
}
.hero-side-btn:active {
    transform: translateY(-50%) scale(0.96);
}

/* Pagination indicator capsule */
.hero-carousel-dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 30;
    background: rgba(6, 21, 36, 0.65);
    padding: 7px 18px;
    border-radius: 30px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}
.hero-dot {
    width: 22px;
    height: 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.38);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.hero-dot:hover {
    background: rgba(255, 255, 255, 0.8);
    width: 28px;
}
.hero-dot.is-active {
    width: 44px;
    background: #d4a359;
    box-shadow: 0 0 12px rgba(212, 163, 89, 0.65);
}

/* ---------------------------------------------------------------------
   Hero Responsive Breakpoints (Mobile, Tablet, Desktop)
   --------------------------------------------------------------------- */

@media (max-width: 1199.98px) {
    .home-hero .home-hero-inner {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
        gap: 28px;
    }
    .hero-polaroid {
        width: 130px;
        padding: 8px 8px 20px 8px;
        margin-left: -22px;
    }
    .polaroid-caption {
        font-size: 10.5px;
        margin-top: 7px;
    }
}

/* Tablet & Mobile: Completely Remove Polaroids, make texts full width, and add localized top-down text gradient */
@media (max-width: 991.98px) {
    .home-hero .hero-polaroids-col,
    .hero-polaroids-col,
    .hero-polaroids-showcase,
    .hero-polaroid {
        display: none !important;
    }
    .home-hero-media::after,
    .home-hero .home-hero-media::after {
        display: none !important;
    }
    .home-hero,
    .home-hero.home-hero-static {
        min-height: auto !important;
        height: auto !important;
        padding-top: calc(var(--header-h, 72px) + 28px) !important;
        padding-bottom: 56px !important;
        align-items: center !important;
    }
    .home-hero .home-hero-inner {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: clamp(20px, 4vw, 40px) !important;
        padding-top: 10px !important;
        padding-bottom: 20px !important;
        gap: 0 !important;
    }
    .home-hero .home-hero-copy {
        max-width: 100% !important;
        width: 100% !important;
    }
    .home-hero .home-hero-title {
        font-size: clamp(2.1rem, 5.8vw, 3.2rem) !important;
        line-height: 1.08 !important;
        margin-bottom: 18px !important;
        color: #ffffff !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: -0.015em !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6) !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .home-hero .home-hero-sub {
        font-size: clamp(0.96rem, 2.4vw, 1.06rem) !important;
        line-height: 1.62 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 28px !important;
        color: #ffffff !important;
        font-weight: 500 !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.72), 0 2px 10px rgba(0, 0, 0, 0.48) !important;
    }
    .home-hero .hero-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 14px !important;
        margin-bottom: 0 !important;
        width: 100% !important;
    }
    .home-hero .hero-actions .btn-mg {
        padding: 13px 26px !important;
        font-size: 13.5px !important;
    }
}

/* Phone Portrait Breakpoint: Full Width Texts & Vertical Hero */
@media (max-width: 767.98px) {
    .home-hero,
    .home-hero.home-hero-static {
        min-height: calc(100svh - var(--header-h, 72px)) !important;
        padding-top: calc(var(--header-h, 72px) + 20px) !important;
        padding-bottom: 44px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    .home-hero .home-hero-inner {
        padding-inline: 18px !important;
        padding-top: 8px !important;
        padding-bottom: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .page-hero-copy,
    .article-hero-copy,
    .home-hero .home-hero-copy {
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 18px !important;
        border-radius: 4px !important;
    }
    .page-hero-copy::before,
    .article-hero-copy::before,
    .home-hero .home-hero-copy::before {
        inset: 0 !important;
        border-radius: 4px !important;
    }
    .home-hero .home-hero-title {
        font-size: clamp(1.9rem, 7.8vw, 2.45rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 16px !important;
        text-shadow: 0 1px 2px rgba(255, 255, 255, 0.4) !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .home-hero .home-hero-sub {
        font-size: 0.94rem !important;
        line-height: 1.58 !important;
        margin-bottom: 24px !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8), 0 2px 10px rgba(0, 0, 0, 0.55) !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .home-hero .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 11px !important;
    }
    .home-hero .hero-actions .btn-mg {
        width: 100% !important;
        padding: 13px 20px !important;
        font-size: 13px !important;
        letter-spacing: 0.04em !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Mobile listing filter gap fix: Eliminate awkward gap & compact filter box height on packages & listings */
    .section-listing {
        padding-top: clamp(14px, 3vw, 20px) !important;
    }
    .filter-bar {
        gap: 10px !important;
        padding-bottom: 14px !important;
        margin-bottom: 20px !important;
    }
    .chip-scroller {
        margin-bottom: 2px !important;
    }
    .filter-fields {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px 10px !important;
        width: 100% !important;
    }
    .filter-field {
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        gap: 3px !important;
    }
    .filter-field:first-child {
        grid-column: 1 / -1 !important;
    }
    .filter-field label {
        font-size: 10px !important;
        letter-spacing: 0.12em !important;
        line-height: 1.2 !important;
        margin-bottom: 0 !important;
    }
    .filter-field select {
        height: 38px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
        padding-right: 32px !important;
        border-radius: var(--radius-sm) !important;
        background-position: right 10px center !important;
    }
    .filter-reset {
        grid-column: 1 / -1 !important;
        margin-top: 2px !important;
        font-size: 11.5px !important;
    }
    .filter-summary {
        font-size: 12px !important;
        margin-top: 2px !important;
    }
}

@media (max-width: 374.98px) {
    .home-hero .home-hero-inner {
        padding-inline: 16px !important;
    }
    .home-hero .home-hero-title {
        font-size: 1.75rem !important;
    }
    .home-hero .home-hero-sub {
        font-size: 0.88rem !important;
    }
}

/* =====================================================================
   Enhanced About Page Styles (Magnum Brand Palette)
   Navy (#0B1F33), Charcoal (#1C1C1C), Warm White (#F7F5F0), Gold (#B9975B)
   ===================================================================== */

/* 1. About Stats Strip */
.about-stats-strip {
    background: #0b1f33 !important;
    padding: clamp(38px, 4.5vw, 54px) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.about-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.about-stat-item {
    text-align: center;
    padding: 10px 16px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.about-stat-item:last-child {
    border-right: none;
}
.about-stat-num {
    display: block;
    font-family: var(--ff-display);
    font-size: clamp(2rem, 3.2vw, 2.85rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
}
.about-stat-lbl {
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.about-stat-lbl .dot-accent {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e63946;
    display: inline-block;
}
.about-stat-sub {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 4px;
}

/* 2. Editorial Story Split */
.about-story-section {
    padding: clamp(64px, 7vw, 96px) 0;
}
.about-story-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: clamp(40px, 6vw, 72px);
    align-items: start;
}
.about-story-title {
    font-family: var(--ff-display);
    font-size: clamp(2rem, 3.2vw, 2.75rem);
    font-weight: 800;
    color: #0b1f33;
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin: 12px 0 24px;
}
.about-story-lead p {
    font-size: clamp(1.08rem, 1.4vw, 1.25rem);
    line-height: 1.6;
    color: #1c1c1c;
    font-weight: 500;
    margin-bottom: 24px;
}
.about-quote-box {
    background: #ffffff;
    border-left: 4px solid var(--gold);
    border-radius: 0 12px 12px 0;
    padding: 22px 26px;
    margin: 28px 0;
    box-shadow: 0 8px 24px rgba(11, 31, 51, 0.04);
    position: relative;
}
.about-quote-mark {
    font-family: var(--ff-display);
    font-size: 40px;
    line-height: 1;
    color: var(--gold);
    display: block;
    margin-bottom: 4px;
}
.about-quote-text {
    font-size: 15.5px;
    line-height: 1.6;
    color: #0b1f33;
    font-style: italic;
    font-weight: 600;
    margin: 0;
}
.about-story-body p {
    font-size: 14.5px;
    line-height: 1.7;
    color: #3f4753;
    margin-bottom: 16px;
}
.about-checks-list {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.about-check-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #0b1f33;
}
.about-check-item i {
    color: var(--gold);
    font-size: 17px;
    flex-shrink: 0;
}

/* Aside Pillars Stack */
.about-pillars-stack {
    background: #ffffff;
    border: 1px solid rgba(11, 31, 51, 0.08);
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 12px 36px rgba(11, 31, 51, 0.06);
}
.about-stack-header {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(11, 31, 51, 0.08);
    margin-bottom: 20px;
}
.stack-tag {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--gold);
    margin-bottom: 6px;
}
.stack-title {
    font-family: var(--ff-display);
    font-size: 1.45rem;
    font-weight: 800;
    color: #0b1f33;
    margin: 0 0 6px;
}
.stack-desc {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}
.about-pillar-row {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(11, 31, 51, 0.05);
    transition: transform 0.25s var(--ease);
}
.about-pillar-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.about-pillar-row:hover {
    transform: translateX(4px);
}
.pillar-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(185, 151, 91, 0.14);
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.pillar-row-text h4 {
    font-size: 14.5px;
    font-weight: 700;
    color: #0b1f33;
    margin: 0 0 4px;
}
.pillar-row-text p {
    font-size: 12.5px;
    line-height: 1.5;
    color: #64748b;
    margin: 0;
}

/* 3. Features Grid */
.about-features-section {
    background: #ffffff;
    padding: clamp(64px, 7vw, 96px) 0;
}
.about-section-heading {
    font-family: var(--ff-display);
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    font-weight: 800;
    color: #0b1f33;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 8px 0 12px;
}
.about-section-sub {
    font-size: 15px;
    color: #64748b;
    margin: 0;
}
.about-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.about-feature-card {
    background: #f7f5f0;
    border: 2px solid rgba(11, 31, 51, 0.06);
    border-radius: 16px;
    padding: 32px 26px;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.03);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.35s ease;
    display: flex;
    flex-direction: column;
}
.about-feature-card:hover {
    transform: translateY(-6px);
    background: #ffffff;
    border-color: #0b1f33 !important;
    box-shadow: 0 16px 36px rgba(11, 31, 51, 0.08);
}
.feat-card-badge {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #ffffff;
    color: var(--gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(11, 31, 51, 0.06);
}
.about-feature-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b1f33;
    margin: 0 0 10px;
}
.about-feature-card p {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555e6c;
    margin: 0;
}

/* 4. Methodology Process Pipeline */
.about-process-section {
    padding: clamp(64px, 7vw, 96px) 0;
}
.about-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
.about-process-card {
    background: #ffffff;
    border: 2px solid rgba(11, 31, 51, 0.07);
    border-radius: 16px;
    padding: 32px 24px;
    position: relative;
    box-shadow: 0 4px 16px rgba(11, 31, 51, 0.04);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.about-process-card:hover {
    transform: translateY(-6px);
    border-color: #0b1f33 !important;
    box-shadow: 0 14px 32px rgba(11, 31, 51, 0.09);
}
.proc-step-num {
    display: block;
    font-family: var(--ff-display);
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 18px;
    letter-spacing: -0.04em;
}
.about-process-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b1f33;
    margin: 0 0 10px;
}
.about-process-card p {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555e6c;
    margin: 0;
}

/* About Logos, Testimonials & FAQs */
.about-logos-section {
    background: #ffffff;
    padding: clamp(48px, 5.5vw, 76px) 0;
}
.about-testi-section {
    background: #ffffff;
    padding: clamp(64px, 7vw, 96px) 0;
}
.about-faqs-section {
    background: var(--paper);
    padding: clamp(64px, 7vw, 96px) 0;
}

/* Media Queries for About Page */
@media (max-width: 1024px) {
    .about-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .about-stat-item:nth-child(2) { border-right: none; }
    .about-story-grid { grid-template-columns: 1fr; gap: 40px; }
    .about-features-grid { grid-template-columns: repeat(2, 1fr); }
    .about-process-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
    .about-stats-grid { grid-template-columns: 1fr; }
    .about-stat-item { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding-bottom: 16px; }
    .about-stat-item:last-child { border-bottom: none; }
    .about-features-grid { grid-template-columns: 1fr; }
    .about-process-grid { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------
   About: Our Leadership & Core Team Section
   Palette: Navy #0B1F33 · Warm White #F7F5F0 · Gold #B9975B · Charcoal #1C1C1C
   --------------------------------------------------------------------- */
.about-team-section {
    padding: clamp(64px, 8vw, 104px) 0;
    background: var(--paper);
    position: relative;
}
.about-team-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 48px;
}
.about-team-title {
    font-family: var(--ff-display);
    font-size: clamp(2.2rem, 3.6vw, 3rem);
    font-weight: 800;
    color: var(--navy);
    line-height: 1.15;
    letter-spacing: -0.025em;
    margin: 12px 0 16px;
}
.about-team-title .text-gold {
    color: var(--gold);
    font-weight: 700;
}
.about-team-subtitle {
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.65;
    color: var(--muted);
    margin: 0 auto;
}
.about-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(20px, 2.5vw, 28px);
    align-items: stretch;
}
.team-content-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid rgba(11, 31, 51, 0.08);
    border-radius: 16px;
    padding: 24px 22px;
    box-shadow: 0 4px 18px rgba(11, 31, 51, 0.04);
    position: relative;
    overflow: hidden;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
}
.team-content-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
    opacity: 0;
    transition: opacity 0.35s;
}
.team-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(11, 31, 51, 0.1);
    border-color: rgba(185, 151, 91, 0.4);
}
.team-content-card:hover::before {
    opacity: 1;
}
.team-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.team-monogram {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-body);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.06em;
    flex: none;
    box-shadow: 0 4px 12px rgba(11, 31, 51, 0.15);
    border: 1px solid rgba(185, 151, 91, 0.3);
}
.team-meta-pills {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.team-dept-pill {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-ink);
}
.team-exp-pill {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
    display: inline-flex;
    align-items: center;
}
.team-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.team-person-name {
    font-family: var(--ff-body);
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.25;
    margin: 0 0 4px;
}
.team-person-role {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--gold-ink);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 14px;
    line-height: 1.35;
}
.team-person-bio {
    font-size: 13px;
    line-height: 1.62;
    color: var(--text);
    margin: 0;
    flex: 1;
}
.team-card-footer {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(11, 31, 51, 0.06);
}
.team-footer-brand {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
    display: inline-flex;
    align-items: center;
}

/* Motto Card */
.team-motto-card {
    background: var(--navy);
    border: 1px solid rgba(185, 151, 91, 0.35);
    color: #ffffff;
    text-align: center;
}
.team-motto-card::before {
    opacity: 1;
}
.team-motto-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 12px 6px;
}
.team-motto-icon {
    font-size: 32px;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 14px;
}
.team-motto-text {
    font-size: 1.08rem;
    font-weight: 600;
    font-style: italic;
    color: #ffffff;
    line-height: 1.55;
    margin-bottom: 14px;
}
.team-motto-author {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold);
}

@media (max-width: 1200px) {
    .about-team-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
    .about-team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
    .about-team-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   India DMC (Destination Management Company) Bespoke Styling
   ===================================================================== */
.dmc-hero {
    position: relative;
    padding: 120px 0 90px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    border-bottom: 3px solid var(--gold);
}
.dmc-hero-inner {
    max-width: 1000px;
    margin: 0 auto;
}
.dmc-pill-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    background: rgba(185, 151, 91, 0.18);
    border: 1px solid rgba(185, 151, 91, 0.5);
    border-radius: 50px;
    color: #e5ca93;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 22px;
}
.dmc-hero-title {
    font-size: clamp(2.4rem, 4.5vw, 3.6rem);
    font-weight: 800;
    line-height: 1.15;
    color: #ffffff;
    margin-bottom: 18px;
    letter-spacing: -0.02em;
}
.dmc-hero-sub {
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    color: rgba(255, 255, 255, 0.88);
    max-width: 780px;
    line-height: 1.6;
    margin-bottom: 30px;
}
.dmc-badges-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
}
.dmc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(7, 25, 43, 0.65);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 0.85rem;
    color: #ffffff;
    font-weight: 600;
}
.dmc-badge i {
    color: var(--gold);
    font-size: 1rem;
}
.dmc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}
.btn-ghost-white {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #ffffff;
    font-weight: 600;
    padding: 12px 22px;
    border-radius: 8px;
    transition: all 0.25s ease;
}
.btn-ghost-white:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
    border-color: #ffffff;
}

/* DMC Story Split */
.dmc-story-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 50px;
    align-items: center;
}
.dmc-lead-p {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--navy);
    font-weight: 500;
    margin-bottom: 20px;
}
.dmc-story-prose {
    font-size: 1rem;
    line-height: 1.75;
    color: #4a5568;
    margin-bottom: 30px;
}
.dmc-cred-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 24px 28px;
    background: linear-gradient(135deg, #0b1f33 0%, #07192b 100%);
    border: 1px solid rgba(185, 151, 91, 0.4);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(7, 25, 43, 0.14);
}
.dmc-cred-item {
    text-align: center;
    position: relative;
}
.dmc-cred-item:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -8px;
    top: 15%;
    bottom: 15%;
    width: 1px;
    background: rgba(185, 151, 91, 0.3);
}
.dmc-cred-num {
    display: block;
    font-family: var(--ff-display, serif);
    font-size: 1.95rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1.1;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.dmc-cred-lbl {
    display: block;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.9);
}

/* Showcase Card */
.dmc-showcase-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 38px rgba(7, 25, 43, 0.1);
    border: 1px solid rgba(185, 151, 91, 0.22);
}
.dmc-media-frame {
    position: relative;
    height: 340px;
    overflow: hidden;
    background: #07192b;
}
.dmc-media-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    display: block;
    transition: transform 0.6s ease;
}
.dmc-showcase-card:hover .dmc-media-frame img {
    transform: scale(1.04);
}
.dmc-media-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(7, 25, 43, 0.85);
    backdrop-filter: blur(6px);
    color: #e5ca93;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(185, 151, 91, 0.4);
}
.dmc-showcase-body {
    padding: 24px;
}
.dmc-showcase-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
}
.dmc-showcase-desc {
    font-size: 0.92rem;
    color: #556270;
    line-height: 1.55;
    margin-bottom: 16px;
}
.dmc-showcase-footer {
    display: flex;
    font-size: 0.82rem;
    font-weight: 600;
    border-top: 1px solid #edf2f7;
    padding-top: 14px;
}

/* Who We Serve */
.dmc-audiences-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}
@media (max-width: 991px) {
    .dmc-audiences-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .dmc-audiences-grid { grid-template-columns: 1fr; }
}
.dmc-aud-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(11, 31, 51, 0.08);
    box-shadow: 0 6px 20px rgba(7, 25, 43, 0.05);
    position: relative;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s ease;
}
.dmc-aud-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(7, 25, 43, 0.12);
    border-color: rgba(185, 151, 91, 0.45);
}
.dmc-aud-media {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #07192b;
    flex-shrink: 0;
}
.dmc-aud-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.dmc-aud-card:hover .dmc-aud-media img {
    transform: scale(1.06);
}
.dmc-aud-media-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(7, 25, 43, 0.85);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #e5ca93;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 13px;
    border-radius: 50px;
    border: 1px solid rgba(185, 151, 91, 0.35);
    z-index: 2;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.dmc-aud-content {
    padding: 24px 22px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.dmc-aud-header {
    margin-bottom: 10px;
}
.dmc-aud-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 6px;
}
.dmc-aud-title {
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.35;
    margin-bottom: 12px;
}
.dmc-aud-text {
    font-size: 0.92rem;
    line-height: 1.6;
    color: #4a5568;
    flex-grow: 1;
    margin-bottom: 14px;
}
.dmc-aud-action {
    margin-top: auto;
    padding-top: 12px;
}

/* Destination Experiences */
.dmc-exp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 26px;
    margin-top: 40px;
}
.dmc-exp-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e5e9ee;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease;
}
.dmc-exp-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 34px rgba(7, 25, 43, 0.12);
    border-color: rgba(185, 151, 91, 0.5);
}
.dmc-exp-media {
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #07192b;
}
.dmc-exp-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}
.dmc-exp-card:hover .dmc-exp-media img {
    transform: scale(1.06);
}
.dmc-exp-tag {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(7, 25, 43, 0.85);
    backdrop-filter: blur(4px);
    color: #e5ca93;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 50px;
    border: 1px solid rgba(185, 151, 91, 0.4);
}
.dmc-exp-content {
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.dmc-exp-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 10px;
    line-height: 1.35;
}
.dmc-exp-text {
    font-size: 0.9rem;
    color: #556270;
    line-height: 1.55;
    flex-grow: 1;
    margin-bottom: 16px;
}
.dmc-exp-link {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--gold);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: transform 0.2s ease;
}
.dmc-exp-link:hover {
    color: var(--navy);
    transform: translateX(4px);
}

/* Why Magnum Features */
.dmc-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 40px;
}
.dmc-feature-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 26px 22px;
    border: 1px solid #eaeef2;
    transition: all 0.3s ease;
}
.dmc-feature-card:hover {
    border-color: rgba(185, 151, 91, 0.4);
    box-shadow: 0 8px 22px rgba(7, 25, 43, 0.06);
}
.dmc-feat-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: rgba(185, 151, 91, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: var(--gold);
    margin-bottom: 16px;
}
.dmc-feat-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
}
.dmc-feat-text {
    font-size: 0.9rem;
    color: #556270;
    line-height: 1.55;
    margin: 0;
}

/* Highlights panel - Clean Light Luxury Box (Zero dark blue overlay) */
.dmc-highlights-panel {
    margin-top: 40px;
    background: #fdfbf7;
    border-radius: 16px;
    padding: 36px 32px;
    color: #1e293b;
    border: 1px solid #ebdcc5;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
}
.dmc-hl-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    border-bottom: 1px solid #ebdcc5;
    padding-bottom: 18px;
}
.dmc-hl-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--navy);
    margin: 0;
}
.dmc-hl-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px 28px;
}
.dmc-hl-item {
    display: flex;
    align-items: flex-start;
    font-size: 0.95rem;
    color: #1e293b;
    font-weight: 500;
    line-height: 1.5;
}

/* 4-Step Process Timeline */
.dmc-process-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 40px;
}
@media (max-width: 991px) {
    .dmc-process-timeline {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}
@media (max-width: 576px) {
    .dmc-process-timeline {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
.dmc-proc-step {
    position: relative;
    display: flex;
    flex-direction: column;
}
.dmc-proc-num {
    font-family: var(--ff-display, serif);
    font-size: 2rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 12px;
    padding-left: 4px;
    display: block;
}
.dmc-proc-card {
    background: #fdfbf7;
    border: 1px solid #ebdcc5;
    border-radius: 12px;
    padding: 22px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 14px rgba(11, 31, 51, 0.03);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.dmc-proc-card:hover {
    transform: translateY(-3px);
    border-color: var(--gold);
    box-shadow: 0 10px 24px rgba(11, 31, 51, 0.08);
}
.dmc-proc-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 8px;
}
.dmc-proc-text {
    font-size: 0.88rem;
    color: #556270;
    line-height: 1.55;
    margin: 0;
}

/* Direct Contacts Hub in Enquiry - High Contrast & Crisp (Zero Overlays) */
.dmc-direct-contacts {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}
.dmc-contact-row {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: all 0.25s ease;
}
.dmc-contact-row:hover {
    border-color: rgba(185, 151, 91, 0.5);
    box-shadow: 0 6px 18px rgba(7, 25, 43, 0.06);
}
.dmc-contact-row small {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin-bottom: 2px;
}
.dmc-c-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.dmc-contact-link,
.corp-contact-link {
    color: #07192b !important;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}
.dmc-contact-link:hover,
.corp-contact-link:hover {
    color: var(--gold) !important;
}

/* DMC Intro Subblock */
.dmc-intro-subblock {
    margin-top: 48px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 36px 32px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}
.dmc-subblock-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
}
.dmc-subblock-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.3;
    margin: 8px 0 14px;
}
.dmc-subblock-p {
    font-size: 0.95rem;
    color: #4a5568;
    line-height: 1.65;
    margin: 0;
}
.dmc-subblock-detail {
    font-size: 0.95rem;
    color: #4a5568;
    line-height: 1.65;
    border-left: 2px solid var(--gold);
    padding-left: 24px;
}

/* DMC Destination Hubs */
.dmc-dest-hubs {
    margin-top: 48px;
    padding: 32px;
    background: #fdfbf7;
    border: 1px solid #ebdcc5;
    border-radius: 16px;
}
.dmc-hubs-head {
    margin-bottom: 20px;
}
.dmc-hubs-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--navy);
    margin: 0;
}
.dmc-hubs-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.dmc-hub-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--navy);
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.25s ease;
}
.dmc-hub-chip:hover {
    background: var(--navy);
    color: #ffffff !important;
    border-color: var(--navy);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(11, 31, 51, 0.15);
}
.dmc-hub-chip-all {
    background: rgba(185, 151, 91, 0.12);
    border-color: var(--gold);
    color: var(--navy);
    font-weight: 700;
}
.dmc-hub-chip-all:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--navy) !important;
}

/* DMC MICE & Events Section */
.dmc-mice-section {
    position: relative;
    padding: 80px 0;
    background: #f8f6f0;
}
.dmc-mice-split {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
}
.dmc-mice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 24px;
}
.dmc-mice-feat {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #ffffff;
    border: 1px solid #eaeef2;
    border-radius: 12px;
    padding: 18px 16px;
    transition: all 0.25s ease;
}
.dmc-mice-feat:hover {
    border-color: rgba(185, 151, 91, 0.4);
    box-shadow: 0 6px 18px rgba(7, 25, 43, 0.05);
}
.dmc-mice-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(185, 151, 91, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.dmc-mice-feat-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 4px;
}
.dmc-mice-feat-desc {
    font-size: 0.85rem;
    color: #556270;
    line-height: 1.45;
    margin: 0;
}
.dmc-mice-media-frame {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(7, 25, 43, 0.12);
    border: 1px solid rgba(185, 151, 91, 0.25);
}
.dmc-mice-media-frame img {
    width: 100%;
    height: 100%;
    max-height: 440px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.dmc-mice-media-frame:hover img {
    transform: scale(1.03);
}
.dmc-mice-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(11, 31, 51, 0.92);
    backdrop-filter: blur(8px);
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid rgba(185, 151, 91, 0.3);
    display: flex;
    align-items: center;
}

/* DMC Closing Card */
.dmc-closing-card {
    background: linear-gradient(135deg, #07192b 0%, #0b2540 100%);
    border-radius: 20px;
    padding: 56px 48px;
    color: #ffffff;
    border: 1px solid rgba(185, 151, 91, 0.35);
    box-shadow: 0 18px 40px rgba(7, 25, 43, 0.2);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.dmc-closing-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(185, 151, 91, 0.08) 0%, transparent 60%);
    pointer-events: none;
}
.dmc-closing-title {
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff !important;
    margin: 12px 0 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.dmc-closing-prose {
    max-width: 860px;
    margin: 0 auto 32px;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.02rem;
    line-height: 1.7;
}
.dmc-closing-prose p {
    margin-bottom: 14px;
}
.dmc-closing-prose p:last-child {
    margin-bottom: 0;
    font-weight: 600;
    color: #ffffff;
}
.dmc-closing-action {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

/* Responsive queries */
@media (max-width: 991px) {
    .dmc-story-grid { grid-template-columns: 1fr; gap: 36px; }
    .dmc-process-timeline { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .dmc-hero { padding: 90px 0 60px; }
    .dmc-mice-split { grid-template-columns: 1fr; gap: 36px; }
    .dmc-subblock-inner { grid-template-columns: 1fr; gap: 24px; }
    .dmc-subblock-detail { border-left: none; border-top: 2px solid var(--gold); padding-left: 0; padding-top: 18px; }
    .dmc-closing-card { padding: 40px 24px; }
    .dmc-closing-title { font-size: 1.6rem; }
}
@media (max-width: 576px) {
    .dmc-process-timeline { grid-template-columns: 1fr; }
    .dmc-cred-strip { grid-template-columns: 1fr; gap: 14px; padding: 20px 16px; }
    .dmc-cred-item:not(:last-child)::after { display: none; }
    .dmc-hero-actions { flex-direction: column; width: 100%; }
    .dmc-hero-actions .btn { width: 100%; text-align: center; }
    .dmc-mice-grid { grid-template-columns: 1fr; }
    .dmc-dest-hubs { padding: 22px 18px; }
}

/* =====================================================================
   Corporate Travel Management (Premium International Sequence)
   ===================================================================== */
.corp-overview-section {
    padding: 80px 0;
}
.corp-overview-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
}
.corp-lead-text,
.corp-lead-text p,
.corp-prose,
.corp-prose p {
    font-size: 1rem;
    line-height: 1.75;
    color: #4a5568;
    font-weight: 400;
}
.corp-lead-text {
    margin-bottom: 22px;
}
.corp-prose {
    margin-bottom: 28px;
}
.corp-stats-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 22px 24px;
    background: #fdfbf7;
    border: 1px solid rgba(185, 151, 91, 0.3);
    border-radius: 12px;
}
.corp-stat-col {
    text-align: center;
}
.corp-stat-num {
    display: block;
    font-family: var(--ff-display, serif);
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.1;
    margin-bottom: 4px;
}
.corp-stat-lbl {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
}

/* Feature card frame */
.corp-feature-card-frame {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(7, 25, 43, 0.08);
    border: 1px solid rgba(185, 151, 91, 0.22);
}
.corp-frame-media {
    position: relative;
    height: 320px;
    overflow: hidden;
    background: #07192b;
}
.corp-frame-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.corp-feature-card-frame:hover .corp-frame-media img {
    transform: scale(1.04);
}
.corp-frame-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(7, 25, 43, 0.85);
    backdrop-filter: blur(6px);
    color: #e5ca93;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(185, 151, 91, 0.4);
}
.corp-frame-body {
    padding: 24px;
}
.corp-frame-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.35;
    margin-bottom: 12px;
}
.corp-frame-desc {
    font-size: 0.92rem;
    color: #556270;
    line-height: 1.6;
    margin-bottom: 18px;
}
.corp-frame-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
}
.corp-mini-tag {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--navy);
    background: #f4f6f8;
    padding: 4px 10px;
    border-radius: 6px;
}

/* Services 8-card grid */
.corp-services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-top: 44px;
}
.corp-service-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5e9ee;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease;
}
.corp-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(7, 25, 43, 0.1);
    border-color: rgba(185, 151, 91, 0.45);
}
.corp-svc-media {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: #07192b;
}
.corp-svc-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}
.corp-service-card:hover .corp-svc-media img {
    transform: scale(1.05);
}
.corp-svc-overlay {
    display: none !important;
}
.corp-svc-pill {
    position: absolute;
    bottom: 12px;
    left: 14px;
    background: rgba(7, 25, 43, 0.88);
    backdrop-filter: blur(6px);
    color: #e5ca93;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(185, 151, 91, 0.35);
}
.corp-svc-body {
    padding: 26px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.corp-svc-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.3;
    margin-bottom: 4px;
}
.corp-svc-sub {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 12px;
}
.corp-svc-desc {
    font-size: 0.92rem;
    color: #556270;
    line-height: 1.6;
    margin-bottom: 18px;
}
.corp-svc-list {
    list-style: none;
    padding: 0;
    margin: 0 0 22px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}
.corp-svc-list li {
    font-size: 0.85rem;
    color: #334155;
    line-height: 1.45;
    display: flex;
    align-items: flex-start;
}
.corp-svc-footer {
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
    margin-top: auto;
}
.corp-svc-btn {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--navy);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
}
.corp-svc-btn:hover {
    color: var(--gold);
    transform: translateX(4px);
}

/* Approach 4-step timeline */
.corp-approach-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 44px;
}
.corp-app-card {
    background: #fdfbf7;
    border: 1px solid #ebdcc5;
    border-radius: 14px;
    padding: 26px 20px;
    height: 100%;
    transition: all 0.3s ease;
}
.corp-app-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 22px rgba(7, 25, 43, 0.06);
    border-color: var(--gold);
}
.corp-app-num {
    font-family: var(--ff-display, serif);
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 14px;
}
.corp-app-title {
    font-size: 1.12rem;
    font-weight: 750;
    color: var(--navy);
    margin-bottom: 10px;
    line-height: 1.35;
}
.corp-app-desc {
    font-size: 0.88rem;
    color: #556270;
    line-height: 1.55;
    margin: 0;
}

/* Profiles 5-grid */
.corp-profiles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 40px;
}
.corp-profile-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 22px;
    border: 1px solid #e9ecef;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}
.corp-profile-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(7, 25, 43, 0.08);
    border-color: rgba(185, 151, 91, 0.45);
}
.corp-prf-badge {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gold);
    display: block;
    margin-bottom: 6px;
}
.corp-prf-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--navy);
    margin-bottom: 12px;
}
.corp-prf-text {
    font-size: 0.9rem;
    color: #4a5568;
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: 20px;
}

/* Why partner */
.corp-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 40px;
}
.corp-why-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 22px;
    border: 1px solid #eaeef2;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: all 0.3s ease;
}
.corp-why-card:hover {
    border-color: rgba(185, 151, 91, 0.45);
    box-shadow: 0 10px 24px rgba(7, 25, 43, 0.07);
}
.corp-why-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(185, 151, 91, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    color: var(--gold);
    margin-bottom: 18px;
}
.corp-why-title {
    font-size: 1.15rem;
    font-weight: 750;
    color: var(--navy);
    margin-bottom: 8px;
}
.corp-why-text {
    font-size: 0.88rem;
    color: #556270;
    line-height: 1.55;
    margin: 0;
}

.corp-why-section {
    padding-bottom: 30px;
}
.corp-enquiry-section {
    padding-top: 30px;
}

/* Closing conversion banner - Clean Split Layout (ZERO OVERLAY, Natural Photo, High-Contrast Text) */
.corp-closing-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 36px rgba(7, 25, 43, 0.07);
    margin-bottom: 48px;
    align-items: stretch;
}
.corp-closing-img-col {
    position: relative;
    min-height: 380px;
    overflow: hidden;
    background: #f1f5f9;
}
.corp-closing-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.corp-closing-card-col {
    padding: clamp(32px, 4vw, 52px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fdfbf7;
}
.corp-closing-clean-h2 {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem);
    font-weight: 800;
    color: #07192b;
    line-height: 1.25;
    margin: 12px 0 16px;
}
.corp-closing-clean-p {
    font-size: 0.98rem;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 22px;
}
.corp-closing-badge-row {
    margin-bottom: 12px;
}
.corp-closing-hero {
    display: none !important;
}

/* Executive visual card inside corporate enquiry aside */
.corp-aside-media {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    margin: 24px 0 28px;
    box-shadow: 0 10px 26px rgba(7, 25, 43, 0.08);
    border: 1px solid #e2e8f0;
    background: #ffffff;
}
.corp-aside-media img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center 35%;
    display: block;
}
.corp-aside-badge {
    background: #ffffff;
    padding: 12px 18px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #07192b;
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
}

/* Responsive queries */
@media (max-width: 1024px) {
    .corp-overview-grid { grid-template-columns: 1fr; gap: 36px; }
    .corp-services-grid { grid-template-columns: 1fr; }
    .corp-approach-timeline { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .corp-why-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 900px) {
    .corp-closing-split { grid-template-columns: 1fr; }
    .corp-closing-img-col { min-height: 260px; max-height: 320px; }
    .corp-closing-card-col { padding: 28px 22px; }
}
@media (max-width: 640px) {
    .corp-approach-timeline { grid-template-columns: 1fr; }
    .corp-why-grid { grid-template-columns: 1fr; }
    .corp-stats-strip { grid-template-columns: 1fr; gap: 14px; }
}

/* =====================================================================
   DMC (India Destination Management) Section Styles
   ===================================================================== */
.dmc-intro-subblock {
    margin-top: 48px;
    background: #fdfbf7;
    border: 1px solid #ebdcc5;
    border-radius: 16px;
    padding: clamp(28px, 4vw, 44px);
    box-shadow: 0 4px 20px rgba(11, 31, 51, 0.04);
}
.dmc-subblock-inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 36px;
    align-items: center;
}
.dmc-subblock-title {
    font-size: clamp(1.4rem, 2.2vw, 1.85rem);
    font-weight: 800;
    color: var(--navy);
    line-height: 1.25;
    margin: 8px 0 14px;
}
.dmc-subblock-p {
    font-size: 0.95rem;
    color: #4a5568;
    line-height: 1.65;
    margin: 0;
}
.dmc-subblock-detail {
    border-left: 3px solid var(--gold);
    padding-left: 28px;
    font-size: 0.94rem;
    color: #4a5568;
    line-height: 1.65;
}
.dmc-subblock-detail p:not(:last-child) {
    margin-bottom: 14px;
}
@media (max-width: 900px) {
    .dmc-subblock-inner { grid-template-columns: 1fr; gap: 20px; }
    .dmc-subblock-detail { border-left: 0; border-top: 2px solid var(--gold); padding-left: 0; padding-top: 20px; }
}

/* DMC Closing Section & Card */
.dmc-closing-section {
    padding-block: clamp(48px, 6vw, 80px);
}
.dmc-closing-card {
    background: linear-gradient(135deg, #0b1f33 0%, #153654 100%) !important;
    border-radius: 20px;
    padding: clamp(36px, 5vw, 64px);
    color: #ffffff !important;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(11, 31, 51, 0.16);
    border: 1px solid rgba(185, 151, 91, 0.35);
}
.dmc-closing-card::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(185, 151, 91, 0.18) 0%, transparent 70%);
    pointer-events: none;
}
.site .dmc-closing-card h2,
.site .dmc-closing-title,
.dmc-closing-card h2,
.dmc-closing-title {
    font-size: clamp(1.85rem, 3.2vw, 2.65rem) !important;
    font-weight: 850 !important;
    color: #ffffff !important;
    margin: 14px auto 22px !important;
    max-width: 860px !important;
    line-height: 1.24 !important;
    letter-spacing: -0.015em !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}
.dmc-closing-card .eyebrow,
.dmc-closing-card .eyebrow-gold {
    color: #e5ca93 !important;
    font-size: 12px !important;
    letter-spacing: 0.22em !important;
}
.dmc-closing-prose,
.dmc-closing-prose p {
    max-width: 820px;
    margin: 0 auto 16px;
    font-size: clamp(1.02rem, 1.18vw, 1.12rem) !important;
    line-height: 1.75 !important;
    color: rgba(255, 255, 255, 0.94) !important;
}
.dmc-closing-action {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
}

/* DMC Brand Sign */
.dmc-brand-sign {
    background: #ffffff;
    border: 1px solid #ebdcc5;
    border-radius: 12px;
    padding: 18px 22px;
    margin-top: 24px;
    box-shadow: 0 4px 14px rgba(11, 31, 51, 0.04);
}

/* =====================================================================
   Expandable Cards: Uniform Height with Smooth Expand/Collapse
   - About Leadership Team Cards (.team-content-card)
   - DMC Who We Serve Audience Cards (.dmc-aud-card)
   ===================================================================== */

/* 1. About Leadership Team Cards Uniform Height & Expandable Bio */
.about-team-grid {
    align-items: start !important;
}
.team-content-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid rgba(11, 31, 51, 0.08);
    border-radius: 16px;
    padding: 24px 22px;
    box-shadow: 0 4px 18px rgba(11, 31, 51, 0.04);
    position: relative;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s;
    min-height: 380px;
}
.team-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.team-bio-wrap {
    position: relative;
    margin-top: 4px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.team-person-bio {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
    color: #4a5568 !important;
    margin: 0 0 8px !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: max-height 0.35s ease;
}
.team-content-card.is-expanded .team-person-bio {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
}
.team-bio-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    padding: 4px 0;
    margin: 4px 0 0;
    font-family: var(--ff-body);
    font-size: 12px;
    font-weight: 750;
    color: var(--gold-ink);
    cursor: pointer;
    transition: color 0.2s, transform 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.team-bio-toggle:hover {
    color: var(--navy);
    transform: translateY(-1px);
}
.team-bio-toggle .toggle-text-less {
    display: none;
}
.team-content-card.is-expanded .team-bio-toggle .toggle-text-more {
    display: none;
}
.team-content-card.is-expanded .team-bio-toggle .toggle-text-less {
    display: inline-flex;
}

/* 2. DMC Who We Serve Cards Uniform Height & Expandable Description */
.dmc-audiences-grid {
    align-items: stretch !important;
}
.dmc-aud-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #ffffff;
    border-radius: 16px;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(11, 31, 51, 0.08);
    box-shadow: 0 6px 20px rgba(7, 25, 43, 0.05);
    position: relative;
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.35s ease;
    min-height: 480px;
}
.dmc-aud-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 20px;
}
.dmc-aud-text {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
    color: #4a5568 !important;
    margin: 0 0 8px !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: max-height 0.35s ease;
}
.dmc-aud-card.is-expanded .dmc-aud-text {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
}
.dmc-aud-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    padding: 4px 0;
    margin: 4px 0 0;
    font-family: var(--ff-body);
    font-size: 12px;
    font-weight: 750;
    color: var(--gold-ink);
    cursor: pointer;
    transition: color 0.2s, transform 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.dmc-aud-toggle:hover {
    color: var(--navy);
    transform: translateY(-1px);
}
.dmc-aud-toggle .toggle-text-less {
    display: none;
}
.dmc-aud-card.is-expanded .dmc-aud-toggle .toggle-text-more {
    display: none;
}
.dmc-aud-card.is-expanded .dmc-aud-toggle .toggle-text-less {
    display: inline-flex;
}

/* =====================================================================
   Universal Section Typography Flow (Homepage Standard Harmonization)
   Ensures consistent heading sizes, paragraph scale, and responsive flow.
   ===================================================================== */

/* 1. EYEBROWS / SECTION KICKERS */
.eyebrow,
.section-head .eyebrow,
.detail-main .eyebrow,
.enquiry-aside .eyebrow,
.card-kicker,
.testi-kicker {
    font-family: var(--ff-body) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    line-height: 1.35 !important;
}
.eyebrow-light {
    color: var(--gold-2) !important;
}

/* 2. SECTION HEADINGS (Primary Section H2) */
.section-title,
.section-head .section-title,
.site .section-title,
.detail-main .section-title,
.enquiry-aside .section-title,
.bestseller-main-title {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.95rem, 3.2vw, 2.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    color: var(--ink) !important;
    margin-top: 0 !important;
}
.section-navy .section-title,
.section-head.is-light .section-title {
    color: #ffffff !important;
}

/* 3. SECTION SUBTITLES & INTRO TEXT */
.section-text,
.section-head .section-text {
    font-family: var(--ff-body) !important;
    font-size: clamp(1.02rem, 1.2vw, 1.14rem) !important; /* 16.5px - 18px */
    line-height: 1.68 !important;
    color: var(--muted) !important;
    font-weight: 400 !important;
}
.section-navy .section-text,
.section-head.is-light .section-text {
    color: rgba(255, 255, 255, 0.84) !important;
}

/* 4. CARD & SUBSECTION HEADINGS (H3 level) */
.card-title,
.site .card-title,
.why-choose-title,
.dmc-aud-title,
.dmc-exp-title,
.dmc-feat-title,
.dmc-proc-title,
.dmc-showcase-title,
.dmc-subblock-title,
.dmc-hl-title,
.corp-why-title,
.corp-prf-title,
.corp-app-title,
.pillar-title,
.feature-card h3,
.process-step h3,
.sports-block h3,
h2.block-title,
h3.block-title,
.highlights-block h3,
.day-title,
.acc-title {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.18rem, 1.55vw, 1.38rem) !important; /* 19px - 22px */
    font-weight: 750 !important;
    line-height: 1.32 !important;
    letter-spacing: -0.01em !important;
    color: var(--ink) !important;
    text-transform: none !important;
}

/* Service Grid Tiles in Dark Navy Sections (Clean High Contrast White) */
.service-tile .service-title,
.section-navy .service-title {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.25rem, 1.6vw, 1.45rem) !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    text-transform: none !important;
    transition: color 0.25s ease;
}
.service-tile:hover .service-title {
    color: var(--gold, #b9975b) !important;
}

/* 5. CARD & COMPONENT BODY PARAGRAPHS */
.card-text,
.why-choose-desc,
.dmc-exp-text,
.dmc-feat-text,
.dmc-proc-text,
.dmc-showcase-desc,
.dmc-subblock-p,
.dmc-subblock-detail p,
.corp-why-text,
.corp-prf-text,
.corp-app-desc,
.feature-text,
.team-person-bio,
.pe-feat span,
.price-card-basis,
.highlight-grid li {
    font-family: var(--ff-body) !important;
    font-size: clamp(14.5px, 0.96vw, 15.5px) !important; /* 14.5px - 15.5px */
    line-height: 1.62 !important;
    color: #4a5568 !important;
}

/* Service Grid Descriptions in Dark Navy Sections (Soft High-Readability Light Tone) */
.service-tile .service-text,
.section-navy .service-text {
    font-family: var(--ff-body) !important;
    font-size: clamp(14px, 0.95vw, 15px) !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.86) !important;
}

/* 6. UNIVERSAL LEAD TEXT & BODY PROSE TYPOGRAPHY HARMONIZATION
   Guarantees 100% matched font size, line-height & tone across all pages:
   - Conference Management, MICE, 24/7 Travel Desk, Destination Weddings
   - Destinations Detail (Dubai, Rajasthan, etc.), About Us, India DMC
   - Corporate Travel, Sports Travel, Executive Travel, Corporate Offsites
   - Package & Experience Detail pages, Generic pages */
.lead-text,
.lead-text p,
.intro-lead .lead-text,
.intro-lead .lead-text p,
.about-story-lead,
.about-story-lead p,
.about-story-body,
.about-story-body p,
.detail-main .lead-text,
.detail-main .lead-text p,
.anchor-block .lead-text,
.anchor-block .lead-text p,
.listing-intro,
.listing-intro p,
.dmc-lead-p,
.dmc-lead-p p,
.corp-lead-text,
.corp-lead-text p,
.corp-prose,
.corp-prose p,
.prose-luxury p,
.lead-paragraph,
.prose p,
.prose-lg p,
.intro-lead .prose p,
.detail-main .prose p,
.detail-main .prose > p,
.prose > p {
    font-family: var(--ff-body) !important;
    font-size: 1rem !important; /* Exactly 16px */
    line-height: 1.75 !important;
    color: #4a5568 !important;
    font-weight: 400 !important;
}

/* Ensure bold text inside overview paragraphs stands out cleanly */
.lead-text strong,
.lead-text b,
.prose strong,
.prose b,
.about-story-lead strong,
.about-story-body strong {
    font-weight: 700 !important;
    color: var(--ink) !important;
}

/* Overview & Detail Section Subheadings (H2 & H3) */
.intro-lead .prose h2,
.detail-main .prose h2,
.about-story-body h2,
.prose h2 {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
    color: var(--ink) !important;
    margin: 1.5em 0 0.55em !important;
}
.intro-lead .prose h2:first-child,
.detail-main .prose h2:first-child,
.about-story-body h2:first-child,
.prose h2:first-child {
    margin-top: 0 !important;
}

.intro-lead .prose h3,
.detail-main .prose h3,
.about-story-body h3,
.prose h3 {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.2rem, 1.55vw, 1.4rem) !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    color: var(--ink) !important;
    margin: 1.3em 0 0.45em !important;
}

/* 7. METADATA, TAGS, BADGES, AND CAPTIONS (Clean, accessible 12px-13px) */
.card-tag,
.card-exp-tag,
.card-blog-tag,
.dmc-exp-tag,
.dmc-aud-badge,
.dmc-pill-tag,
.card-meta,
.card-meta-cat,
.card-meta-row,
.card-exp-meta-row,
.card-blog-meta-row,
.corp-prf-badge,
.price-card-notes li,
.filter-summary,
.small-muted,
.team-footer-brand,
.hero-meta li {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.card-cta,
.card-exp-cta,
.card-blog-cta,
.dmc-exp-link,
.link-arrow {
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* 8. RESPONSIVE MOBILE TYPOGRAPHY FLOW (< 768px) */
@media (max-width: 767.98px) {
    .section-title,
    .site .section-title,
    .detail-main .section-title,
    .enquiry-aside .section-title {
        font-size: clamp(1.6rem, 5.2vw, 2.05rem) !important;
        line-height: 1.22 !important;
    }
    .section-text,
    .lead-text,
    .lead-text p,
    .intro-lead .lead-text,
    .intro-lead .lead-text p,
    .about-story-lead,
    .about-story-lead p,
    .about-story-body,
    .about-story-body p,
    .detail-main .lead-text,
    .detail-main .lead-text p,
    .intro-lead .prose p,
    .detail-main .prose p,
    .prose p,
    .prose-lg p,
    .listing-intro,
    .listing-intro p,
    .dmc-lead-p,
    .dmc-lead-p p {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }
    .intro-lead .prose h2,
    .detail-main .prose h2,
    .about-story-body h2,
    .prose h2 {
        font-size: clamp(1.3rem, 4.5vw, 1.55rem) !important;
        line-height: 1.25 !important;
        margin: 1.25em 0 0.45em !important;
    }
    .card-title,
    .why-choose-title,
    .dmc-aud-title,
    .dmc-exp-title,
    .dmc-feat-title {
        font-size: 1.15rem !important;
    }
    .card-text,
    .why-choose-desc,
    .dmc-aud-text,
    .dmc-exp-text,
    .dmc-feat-text,
    .corp-why-text,
    .team-person-bio {
        font-size: 14px !important;
        line-height: 1.58 !important;
    }
    .dmc-closing-title,
    .site .dmc-closing-title {
        font-size: 1.7rem !important;
    }
    .dmc-closing-prose p {
        font-size: 14.5px !important;
        line-height: 1.62 !important;
    }
}

/* =====================================================================
   Package Detail Enquiry & Layout Refinements
   ===================================================================== */
.package-enquiry-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 24px 0 28px;
    padding: 20px 22px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #ebdcc5;
    box-shadow: 0 2px 10px rgba(11, 31, 51, 0.03);
}
.pe-feat {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}
.pe-feat i {
    font-size: 1.2rem;
    color: var(--gold);
    flex-shrink: 0;
}

/* Package Catalog Listing Refinements */
.filter-bar-wide .chip-scroller {
    padding-bottom: 4px;
}
.filter-bar-wide .filter-fields {
    padding-top: 6px;
}
.card-pkg-premium {
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}
.card-pkg-premium:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px -6px rgba(11, 31, 51, 0.14);
}

/* Universal Section Gap Reductions across all pages */
.section + .section {
    padding-top: clamp(28px, 3.5vw, 44px);
}
.section.section-tight + .section,
.section-tight-top + .section {
    padding-top: clamp(24px, 3vw, 36px);
}
.section-ivory + .section,
.section + .section-ivory {
    padding-top: clamp(28px, 3.5vw, 44px);
}
.highlights-block {
    margin-top: 24px;
}
.enquiry-split {
    gap: clamp(24px, 4vw, 48px);
}

/* Service / MICE pages gap refinements */
.page-service .section-service-lists {
    padding-bottom: clamp(24px, 3vw, 40px);
}
.page-service .section-service-process {
    padding-top: clamp(20px, 2.5vw, 36px);
}
.page-service .list-groups {
    margin-bottom: 0;
}

/* ==========================================================================
   Card Images Crisp Sharpness & GPU Anti-Blur Optimization
   ========================================================================== */
.card-dest-media img,
.card-pkg-media img,
.card-pkg-premium .card-pkg-media-wrap img,
.bestseller-card-media img,
.card-exp-media img,
.card-cs-media img,
.card-blog-media img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    image-rendering: auto !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.card-dest:hover img,
.card-pkg:hover .card-pkg-media img,
.card-pkg-premium:hover .card-pkg-media-wrap img,
.card-pkg-bestseller:hover .bestseller-card-media img,
.card-exp:hover img,
.card-cs:hover img,
.card-blog:hover img {
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    transform: scale(1.05) translateZ(0) !important;
}