/* =========================================================
   01. Variables — DROPPIN OBSIDIAN ORANGE
========================================================= */
:root {
    --bg-primary: #060606;
    --bg-secondary: #151515;
    --bg-section: #1E1E1E;

    --accent-primary: #ff8f00;
    --accent-secondary: #bd6b00;

    --text-primary: #FFFFFF;
    --text-secondary: #CFCFCF;
    --text-muted: #d2d0d0;

    --border: #303030;

    --success: #007317;
    --error: #C65A5A;
    --warning: #FFB347;
    --whatsapp: #25D366;

    --font-primary: "Poppins", "Helvetica Neue", Arial, sans-serif;
    --font-editorial: "Playfair Display", Georgia, serif;

    --container: 1320px;
    --header-height: 76px;
    --section-space: 46px;

    --transition-fast: 180ms ease;
    --transition: 300ms ease;
    --transition-slow: 650ms cubic-bezier(.22,.61,.36,1);
    --ease-luxury: cubic-bezier(.22,.61,.36,1);
}

/* =========================================================
   02. Reset & Base
========================================================= */
*,
*::before,
*::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    min-width: 320px;
    overflow-x: visible;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img,
svg {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button { cursor: pointer; }

::selection {
    background: var(--accent-primary);
    color: var(--text-primary);
}

.container {
    width: min(100% - 48px, var(--container));
    max-width: var(--container);
    margin-inline: auto;
}

.section-space { padding-block: var(--section-space); }
.section-dark { background: var(--bg-primary); color: var(--text-primary); }

.skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    z-index: 9999;
    background: var(--accent-primary);
    color: var(--text-primary);
    padding: 10px 14px;
    transition: top var(--transition);
}
.skip-link:focus { top: 16px; }

:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 3px;
}

/* =========================================================
   03. Typography
========================================================= */
h1,
h2,
h3,
h4,
p { margin-top: 0; }

h1,
h2,
h3,
h4 {
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.section-eyebrow {
    margin-bottom: 14px;
    color: var(--accent-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.section-eyebrow--gold { color: var(--accent-primary); }

.section-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.section-heading h2,
.why-intro h2,
.faq-heading h2 {
    margin-bottom: 18px;
    font-size: clamp(30px, 3vw, 38px);
    font-weight: 600;
}

.section-heading p,
.why-intro > p,
.faq-heading > p {
    margin-bottom: 0;
    color: var(--text-secondary);
    font-size: 16px;
}

.section-heading--dark p { color: var(--text-secondary); }
.section-heading--dark h2 { color: var(--text-primary); }

/* =========================================================
   04. Global Utilities / Buttons
========================================================= */

.btn-premium,
.btn-dark-custom,
.btn-outline-light-custom,
.btn-outline-dark,
.header-book,
.quote-submit {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 12px 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
    text-decoration: none;

}

.btn-premium {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--text-primary);
}
.btn-premium:hover { background: var(--accent-secondary); border-color: var(--accent-secondary); color: var(--text-primary); }
.btn-premium:hover span { transform: translateX(3px); }
.btn-premium span { transition: transform var(--transition); }

.btn-dark-custom {
    background: var(--bg-primary);
    border-color: var(--text-primary);
    color: var(--text-primary);
}
.btn-dark-custom:hover { background: var(--bg-section); color: var(--text-primary); }

.btn-outline-light-custom {
    border-color: var(--bg-section);
    color: var(--text-primary);
    background: rgba(255,255,255,.02);
}
.btn-outline-light-custom:hover { border-color: var(--text-primary); background: var(--bg-secondary); color: var(--accent-primary); }

.btn-outline-dark {
    border-color: var(--text-primary);
    color: var(--text-primary);
    background: transparent;
}
.btn-outline-dark:hover { background: var(--bg-primary); color: var(--text-primary); }

.is-disabled {
    pointer-events: none;
    opacity: .55;
}

.text-link-gold,
.text-link-dark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.text-link-gold { color: var(--accent-primary); }
.text-link-dark { color: var(--text-primary); }
.text-link-gold span,
.text-link-dark span { transition: transform var(--transition); }
.text-link-gold:hover span,
.text-link-dark:hover span { transform: translateX(4px); }

.cta-group { display: flex; flex-wrap: wrap; gap: 12px; }

.line-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: var(--accent-primary);
}
.line-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================
   BOOKING ENGINE
========================================= */

.booking_engine_container .lf-w-full.lf-bg-white.lf-shadow-lg.lf-dropdown {
  background: var(--bg-secondary) !important;
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  overflow: hidden;
}
.booking_engine_container .lf-bg-transparent.lf-border-b-2.lf-delay-150.lf-py-4.lf-w-full{
 color: var(--accent-primary) !important;
}
.booking_engine_container .\!lf-border-\[--primary-color\] {
    color: var(--accent-primary) !important;
    border-bottom: 1px solid var(--accent-primary) !important;
}

.booking_engine_container .lf-text-\[--primary-color\] {
    color: var(--accent-primary) !important;
}

.booking_engine_container .lf-grid.lf-grid-cols-3.lf-mb-2 {
  background: var(--bg-section);
  border-radius: 15px 15px 0 0;
}

.booking_engine_container .lf-flex.lf-rounded-full {
  background: var(--bg-section);
  padding: 6px;
  border-radius: 999px;
}

.booking_engine_container .lf-flex.lf-rounded-full button {
  color: var(--text-secondary) !important;
  font-weight: 500;
  border-radius: 999px;
  padding: 10px 18px;
  background: transparent;
}

.booking_engine_container .lf-flex.lf-rounded-full button.lf-bg-black {
  background: var(--accent-primary) !important;
  color: var(--text-primary) !important;
}

.booking_engine_container label {
  color: var(--text-primary) !important;
  font-size: 14px;
  font-weight: 500;
}

.booking_engine_container input:not(.datepicker-calendar-icon) {
  background: var(--bg-section) !important;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text-primary) !important;
  margin-bottom: 14px;
}

.booking_engine_container input:not(.datepicker-calendar-icon)::placeholder,
.booking_engine_container
  input:not(.datepicker-calendar-icon)::-moz-placeholder {
  color: var(--text-muted);
}

.booking_engine_container input:not(.datepicker-calendar-icon):focus {
  outline: none;
  border-color: var(--accent-primary);
  background: var(--bg-secondary) !important;
}

.booking_engine_container #differentAddress {
  margin-bottom: 0 !important;
}

.booking_engine_container .lf-flex.lf-items-center.lf-justify-end.lf-gap-2 {
  border-top: 1px solid var(--border);
  padding: 12px 0;
  margin-top: 10px;
}

.booking_engine_container
  .lf-flex.lf-items-center.lf-justify-end.lf-gap-2
  button {
  color: var(--accent-primary) !important;
  font-weight: 500;
}

.booking_engine_container
  .lf-flex.lf-items-center.lf-justify-end.lf-gap-2
  button
  .lf-text-sm {
  border: 1px solid var(--accent-primary) !important;
  color: var(--accent-primary);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  line-height: 16px;
  font-size: 11px;
  margin-right: 8px;
}

.booking_engine_container
  .lf-flex.lf-items-center.lf-justify-end.lf-gap-2
  button
  .lf-text-sm::before {
  margin-left: 3px;
}

.booking_engine_container
  .lf-mt-5.lf-flex.lf-justify-center.lf-py-2.lf-shadow-inner {
  box-shadow: none !important;
}

.booking_engine_container
  .lf-mt-5.lf-flex.lf-justify-center.lf-py-2.lf-shadow-inner
  button {
  width: 95%;
  background: var(--accent-primary) !important;
  color: var(--text-primary) !important;
  font-size: 14px;
  font-weight: 600;
  padding: 10px;
  border-radius: 10px;
  transition: background var(--transition-fast);
}

.booking_engine_container
  .lf-mt-5.lf-flex.lf-justify-center.lf-py-2.lf-shadow-inner
  button:hover {
  background: var(--accent-secondary) !important;
}

.booking_engine_container .lf-cursor-pointer.lf-relative button {
  color: var(--text-primary) !important;
}

.booking_engine_container .lf-top-2\/4 {
  top: 38% !important;
  color: var(--text-primary);
}

.lf-z-\[9999999\] {
  z-index: 1 !important;
}
h4.lf-text-2xl{color: var(--accent-primary);}
span.country-name{color: var(--bg-primary);}
p.lf-text-sm,p.lf-text-xs{color: var(--bg-primary);}
p.ng-star-inserted{color: var(--bg-primary);}
.lf-py-6.lf-px-4.lf-border.lf-rounded-xl.lf-shadow-md p{color:var(--bg-primary) ;}
.flex_wrp_mb p{color: var(--bg-primary);}
.lf-flex.lf-gap-x-5.lf-items-center p,.lf-flex.lf-gap-x-3.lf-items-center p{color: var(--bg-primary);}
/* =========================================================
   05. Header
========================================================= */
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1040;
    height: var(--header-height);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}

.site-header.is-scrolled {
    background: rgba(13,13,15,.98);
    border-color: rgba(255,255,255,.1);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.site-header__inner {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 22px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}
.site-logo img {
    width: auto;
    height: 46px;
    object-fit: contain;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.header-book {
    min-height: 42px;
    padding-inline: 18px;
    background: var(--accent-primary);
    color: var(--text-primary);
}
.header-book:hover { background: var(--accent-secondary); color: var(--text-primary); }

.mobile-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 2px;
    background: transparent;
    padding: 11px 10px;
}
.mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    margin: 5px 0;
    background: var(--bg-secondary);
}

/* =========================================================
   06. Mega Menu
========================================================= */
.desktop-nav {
    display: flex;
    align-items: stretch;
    height: 100%;
    margin-left: auto;
}

.nav-link-custom {
    position: relative;
    display: inline-flex;
    height: 100%;
    align-items: center;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.9);
    padding: 0 10px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    transition: color var(--transition);
}
.nav-link-custom::after {
    position: absolute;
    content: "";
    left: 10px;
    right: 10px;
    bottom: 0;
    height: 2px;
    background: var(--accent-primary);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--transition);
}
.nav-link-custom:hover,
.nav-link-custom.is-active { color: var(--text-primary); }
.nav-link-custom:hover::after,
.nav-link-custom.is-active::after { transform: scaleX(1); }

.mega-nav-item { position: static; height: 100%; }
.mega-trigger { gap: 5px; }
.nav-chevron { font-size: 15px; transition: transform var(--transition); }
.mega-nav-item.is-open .nav-chevron { transform: rotate(180deg); }

.mega-menu {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    border-top: 1px solid var(--accent-primary);
    background: var(--bg-secondary);
    color: var(--text-primary);
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
}
.mega-nav-item.is-open .mega-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.mega-menu__grid {
    display: grid;
    grid-template-columns: .85fr .85fr .85fr 1.45fr;
    gap: 40px;
    padding-block: 34px;
}

.mega-title,
.mega-feature__eyebrow {
    margin-bottom: 14px;
    color: var(--accent-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.mega-column a {
    display: block;
    color: var(--text-muted);
    padding: 6px 0;
    font-size: 13px;
    transition: color var(--transition), transform var(--transition);
}
.mega-column a:hover { color: var(--text-primary); transform: translateX(4px); }

.mega-feature {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--bg-section);
}
.mega-feature img { width: 100%; height: 100%; object-fit: cover; }
.mega-feature__content { padding: 22px; }
.mega-feature__content p:not(.mega-feature__eyebrow) { color: var(--text-muted); font-size: 13px; line-height: 1.6; }

/* =========================================================
   07. Off Canvas
========================================================= */
.mobile-offcanvas {
    width: min(90vw, 430px) !important;
    background: var(--bg-primary);
    color: var(--text-primary);
}
.mobile-offcanvas .offcanvas-header {
    min-height: 78px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    padding: 14px 18px;
    justify-content: space-between;
}
.btn-close-custom {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 32px;
    line-height: 1;
}
.mobile-offcanvas .offcanvas-body { padding: 10px 20px 30px; }
.mobile-nav > a,
.mobile-accordion-trigger {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: transparent;
    color: var(--text-primary);
    padding: 0;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
}
.mobile-accordion-panel {
    border-bottom: 1px solid rgba(255,255,255,.1);
    padding: 10px 0 12px 14px;
}
.mobile-accordion-panel a {
    display: block;
    color: var(--text-muted);
    padding: 8px 0;
    font-size: 13px;
}
.mobile-menu-cta { padding-top: 24px; }
.mobile-contact-link {
    display: block;
    margin-top: 16px;
    text-align: center;
    color: var(--accent-primary);
    font-size: 13px;
}

/* =========================================================
   08. Home Hero
========================================================= */
.home-hero {
    position: relative;
    min-height: 780px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--bg-primary);
    color: var(--text-primary);
    isolation: isolate;
    padding: calc(var(--header-height) + 78px) 0 142px;
}

.hero-media,
.hero-overlay {
    position: absolute;
    inset: 0;
}
.hero-media { z-index: -3; }
.hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    animation: heroDrift 12s ease-in-out infinite alternate;
}
.hero-overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(5,5,7,.94) 0%, rgba(5,5,7,.76) 42%, rgba(5,5,7,.30) 72%, rgba(5,5,7,.58) 100%),
        linear-gradient(0deg, rgba(5,5,7,.82) 0%, rgba(5,5,7,.06) 44%);
}

@keyframes heroDrift {
    from { transform: scale(1); }
    to { transform: scale(1.04); }
}
/* =========================================================
   Home Hero Content
========================================================= */

.hero-content {
    max-width: 760px;
}

.hero-location-tag {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 26px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .2em;
}

.hero-location-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-primary);
}

.hero-location-line {
    width: 30px;
    height: 1px;
    background: var(--accent-primary);
}

.home-hero h1 {
    max-width: 720px;
    margin-bottom: 24px;
    font-size: clamp(52px, 5vw, 76px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
}

.home-hero h1 span {
    display: block;
    color: var(--accent-primary);
}

.hero-intro {
    max-width: 620px;
    margin-bottom: 32px;
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.75;
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.hero-service-points {
    display: flex;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.16);
    flex-wrap: wrap;
    gap: 20px;
}

.hero-service-point {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 24px;
    margin-right: 24px;
    border-right: 1px solid rgba(255,255,255,.14);
}

.hero-service-point:last-child {
    padding-right: 0;
    margin-right: 0;
    border: 0;
}

.hero-service-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,143,0,.45);
    border-radius: 50%;
    color: var(--accent-primary);
    font-size: 12px;
}

.hero-service-point div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hero-service-point strong {
    color: #fff;
    font-size: 11px;
}

.hero-service-point small {
    color: var(--text-muted);
    font-size: 10px;
}
/* =========================================================
   09. Quote Form
========================================================= */
.quick-quote-shell {
    position: relative;
    z-index: 10;
    height: 0;
    background: var(--bg-primary);
}
.quick-quote {
    position: relative;
    top: -66px;
    display: grid;
    grid-template-columns: 1.2fr 1.25fr 1.25fr .7fr .65fr .7fr auto;
    gap: 0;
    align-items: stretch;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    box-shadow: 0 18px 60px rgba(0,0,0,.22);
    color: var(--text-primary);
}
.quote-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--border);
    padding: 18px 20px;
}
.quote-heading span {
    color: var(--accent-primary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}
.quote-heading h2 {
    margin: 4px 0 0;
    font-size: 17px;
    font-weight: 600;
}
.quote-field {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--border);
    padding: 13px 16px;
}
.quote-field 
.quote-field label {
    margin-bottom: 5px;
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.quote-field input,
.quote-field select {
    width: 100%;
    min-width: 0;
    height: 28px;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    padding: 0;
    font-size: 13px;
}
.quote-field input::placeholder { color: var(--text-muted); }
.quote-field input::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .72; }
.quote-field select option { color: var(--text-primary); }
.quote-submit {
    min-width: 124px;
    border-radius: 0;
    background: var(--accent-primary);
    color: var(--text-primary);
    padding-inline: 18px;
}
.quote-submit:hover { background: var(--accent-secondary); }
.address-field-wrap { position: relative; }
.address-suggestions {
    position: absolute;
    top: 100%;
    left: -1px;
    z-index: 100;
    width: calc(100% + 2px);
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid var(--border);
    background: var(--bg-section);
    box-shadow: 0 16px 35px rgba(0,0,0,.25);
}

/* =========================================================
   10. Services
========================================================= */
.services-section { padding-top: calc(var(--section-space)); }
.service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.service-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 4px;
    background: var(--bg-section);
    transition: border-color var(--transition), background-color var(--transition);
}
.service-card:hover { border-color: rgba(255,143,0,.58); background: var(--bg-section); }
.service-card__media {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}
.service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease-luxury); }
.service-card:hover .service-card__media img { transform: scale(1.04); }
.service-card__body { padding: 22px 18px 20px; }
.service-card h3 { margin-bottom: 12px; color: var(--text-primary); font-size: 18px; font-weight: 600; }
.service-card p { margin-bottom: 18px; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }

.services-load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.services-load-more {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 28px;
    border: 1px solid #222;
    background: transparent;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.services-load-more:hover {
    background: #222;
    color: #fff;
}

.services-load-more span {
    font-size: 18px;
    transition: transform 0.3s ease;
}

.services-load-more:hover span {
    transform: translateX(4px);
}

/* =========================================================
   Trust Section
========================================================= */

.trust-strip {
    padding: 45px 0;
    background: var(--bg-secondary);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.trust-wrap {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 35px;
    align-items: center;
}

/* Intro */

.trust-intro > span {
    color: var(--accent-primary);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .2em;
}

.trust-intro h2 {
    margin: 12px 0 14px;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 500;
}

.trust-intro h2 strong {
    color: var(--accent-primary);
    font-weight: 500;
}

.trust-intro p {
    max-width: 270px;
    margin: 0;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.7;
}

/* Items */

.trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
@media (max-width:767px) {
    .trust-wrap{grid-template-columns:1fr;}
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 19px;
    background: var(--bg-primary);
    transition: var(--transition);
}

.trust-item:last-child {
    grid-column: span 2;
}

.trust-item:hover {
    background: #181818;
}

.trust-item .line-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(255,143,0,.35);
    color: var(--accent-primary);
}

.trust-item .line-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.trust-item h2 {
    margin: 0 0 5px;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
}

.trust-item p {
    margin: 0;
    color: var(--text-muted);
    font-size: 10px;
}
/* =========================================================
   12. Fleet
========================================================= */
.fleet-section { background: var(--bg-secondary); }
.fleet-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.fleet-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
    transition: border-color var(--transition), transform var(--transition);
}
.fleet-card:hover { border-color: var(--accent-secondary); }
.fleet-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
    background: var(--bg-section);
}
.fleet-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease-luxury); }
.fleet-card:hover .fleet-card__image img { transform: scale(1.035); }
.fleet-card__body { padding: 22px; }
.fleet-card__label {
    margin-bottom: 8px;
    color: var(--accent-secondary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}
.fleet-card h3 { margin-bottom: 18px; font-size: 19px; font-weight: 600; }
.fleet-card ul { list-style: none; margin: 0 0 18px; padding: 0; }
.fleet-card li {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    border-bottom: 1px solid var(--bg-section);
    padding: 9px 0;
}
.fleet-card li span { color: var(--text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.fleet-card li strong { color: var(--text-primary); font-size: 12px; font-weight: 500; }
.fleet-note {
    max-width: 800px;
    margin: 28px auto 0;
    color: var(--text-muted);
    font-size: 11px;
    text-align: center;
}

/* =========================================================
   13. Why Choose
========================================================= */
.why-section { background: var(--bg-secondary); }
.why-intro {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 52px;
}
.why-intro h2 { margin-bottom: 0; }
.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}
.benefit-item {
    min-height: 220px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 30px;
}
.benefit-item h3 { margin: 16px 0 10px; font-size: 17px; font-weight: 600; }
.benefit-item p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }

/* =========================================================
   14. Routes
========================================================= */
.routes-section { background: var(--bg-secondary); }
.route-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.route-card {
    display: grid;
    grid-template-columns: 46% 54%;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
}
.route-card__image { overflow: hidden; min-height: 280px; }
.route-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease-luxury); }
.route-card:hover .route-card__image img { transform: scale(1.04); }
.route-card__body { display: flex; flex-direction: column; justify-content: center; padding: 28px; }
.route-card__body > span {
    margin-bottom: 10px;
    color: var(--accent-secondary);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}
.route-card h3 { margin-bottom: 12px; font-size: 20px; font-weight: 600; }
.route-card p { margin-bottom: 20px; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.route-card__links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.route-quote-link { color: var(--accent-secondary); font-size: 12px; font-weight: 600; }

/* =========================================================
   FAQ
========================================================= */

.faq-section {
    background: linear-gradient(135deg, #080808 0%, #15110b 100%) !important;
    position: relative;
}

.faq-layout {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 80px;
    align-items: start;
}

/* =========================================================
   FAQ Heading — RIGHT SIDE
========================================================= */

.faq-heading {
    position: sticky;
    top: 120px;
    grid-column: 2;
    grid-row: 1;
}

.faq-heading .section-eyebrow {
    color: var(--accent-primary) !important;
}

.faq-heading h2 {
    margin: 12px 0 18px;
    color: var(--text-primary) !important;
    font-size: 42px;
    line-height: 1.1;
}

.faq-heading > p {
    max-width: 420px;
    color: var(--text-muted) !important;
    font-size: 14px;
    line-height: 1.75;
}

.faq-heading .text-link-dark {
    display: inline-flex;
    margin-top: 25px;
    color: var(--accent-primary);
}

/* =========================================================
   FAQ List — LEFT SIDE
========================================================= */

.faq-list {
    display: grid;
    gap: 10px;
    grid-column: 1;
    grid-row: 1;
}

/* =========================================================
   FAQ Cards
========================================================= */

.faq-item {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.faq-item.is-open {
    border-color: rgba(255, 143, 0, .45);
}

/* =========================================================
   FAQ Question
========================================================= */

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 25px;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

/* =========================================================
   FAQ Symbol
========================================================= */

.faq-symbol {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border: 1px solid rgba(255, 143, 0, .4);
    color: var(--accent-primary);
    font-size: 18px;
}

/* =========================================================
   FAQ Answer
========================================================= */

.faq-answer p {
    max-width: 800px;
    color: var(--text-muted);
    font-size: 13px;
    line-height: 1.75;
}

/* =========================================================
   FAQ Responsive
========================================================= */

@media (max-width: 900px) {
    .faq-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .faq-heading {
        position: static;
        grid-column: 1;
        grid-row: auto;
    }

    .faq-list {
        grid-column: 1;
        grid-row: auto;
    }

    .faq-heading h2 {
        font-size: 36px;
    }
}


/* =========================================================
   16. Google Reviews
========================================================= */
.reviews-section { background: var(--bg-secondary); }
.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.review-card {
    min-height: 300px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
    padding: 28px;
}
.review-card__top { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.google-g {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--text-muted);
    border-radius: 50%;
    background: var(--bg-secondary);
    color: #4285f4;
    font-size: 15px;
    font-weight: 700;
}
.review-source { color: var(--text-muted); font-size: 11px; }
.review-placeholder-stars { margin-bottom: 14px; color: var(--accent-primary); letter-spacing: 2px; }
.review-card h3 { margin-bottom: 12px; font-size: 18px; font-weight: 600; }
.review-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.75; }
.review-placeholder-label {
    display: inline-block;
    margin-top: 10px;
    border-top: 1px solid var(--border);
    padding-top: 10px;
    color: var(--light-text);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}
.reviews-cta { margin-top: 30px; text-align: center; }

/* =========================================================
   17. Final CTA
========================================================= */
.final-cta {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--bg-primary);
    color: var(--text-primary);
    isolation: isolate;
}
.final-cta__media,
.final-cta__overlay { position: absolute; inset: 0; }
.final-cta__media { z-index: -3; }
.final-cta__media img { width: 100%; height: 100%; object-fit: cover; }
.final-cta__overlay {
    z-index: -2;
    background: linear-gradient(90deg, rgba(13,13,15,.96), rgba(13,13,15,.77) 54%, rgba(13,13,15,.42));
}
.final-cta__content { max-width: 760px; margin-left: max(24px, calc((100vw - var(--container)) / 2)); margin-right: auto; }
.final-cta h2 { margin-bottom: 16px; font-size: clamp(34px, 4vw, 48px); font-weight: 600; }
.final-cta p:not(.section-eyebrow) { max-width: 620px; margin-bottom: 28px; color: var(--text-muted); }

/* =========================================================
   18. Footer
========================================================= */
.site-footer {
    background: var(--bg-primary);
    color: var(--text-primary);
    padding: 50px 0 24px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
    gap: 24px;
    padding-bottom: 50px;
}
.footer-logo { margin-bottom: 18px; }
.footer-brand p { max-width: 440px; color: var(--text-muted); font-size: 13px; line-height: 1.75; }
.footer-social { color: var(--text-muted); font-size: 11px; }
.footer-column h2 { margin-bottom: 18px; color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-column a,
.footer-column span { display: block; color: var(--text-muted); padding: 5px 0; font-size: 12px; }
.footer-column a:hover { color: var(--text-primary); }
.footer-column .text-link-gold { display: inline-flex; margin-top: 12px; color: var(--accent-primary); }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 22px;
    color: var(--text-muted);
    font-size: 10px;
}
.footer-bottom p { margin-bottom: 0; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-legal a:hover { color: var(--text-primary); }

/* =========================================================
   19. Floating Actions
========================================================= */
.floating-actions {
    position: fixed;
    right: 18px;
    bottom: calc(20px + env(safe-area-inset-bottom));
    z-index: 1035;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}
.floating-action {
    position: relative;
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: var(--bg-primary);
    box-shadow: 0 10px 25px rgba(0,0,0,.16);
    color: var(--text-primary);
    font-weight: 700;
}
.back-to-top {
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
    background: transparent;
    backdrop-filter: blur(8px);
}
.back-to-top.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
.trustpilot-tab {
    display: flex;
    min-width: 128px;
    flex-direction: column;
    border: 1px solid var(--text-muted);
    border-radius: 3px;
    background: var(--bg-secondary);
    box-shadow: 0 10px 25px rgba(0,0,0,.12);
    color: var(--text-primary);
    padding: 8px 10px;
    line-height: 1.25;
}
.trustpilot-tab strong { font-size: 11px; }
.trustpilot-tab span { color: var(--text-muted); font-size: 9px; }
.floating-action[data-tooltip]::before {
    position: absolute;
    content: attr(data-tooltip);
    right: calc(100% + 10px);
    top: 50%;
    width: max-content;
    max-width: 180px;
    transform: translateY(-50%);
    visibility: hidden;
    opacity: 0;
    border-radius: 2px;
    background: var(--bg-primary);
    color: var(--text-primary);
    padding: 7px 9px;
    font-size: 10px;
    font-weight: 500;
    transition: opacity var(--transition), visibility var(--transition);
}
.floating-action:hover::before { visibility: visible; opacity: 1; }

/* =========================================================
   20. Scroll Animation
========================================================= */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms var(--ease-luxury), transform 700ms var(--ease-luxury);
}
.reveal-delay-0 { transition-delay: 0ms; }
.reveal-delay-80 { transition-delay: 80ms; }
.reveal-delay-85 { transition-delay: 85ms; }
.reveal-delay-90 { transition-delay: 90ms; }
.reveal-delay-160 { transition-delay: 160ms; }
.reveal-delay-170 { transition-delay: 170ms; }
.reveal-delay-180 { transition-delay: 180ms; }
.reveal-delay-240 { transition-delay: 240ms; }
.reveal-delay-255 { transition-delay: 255ms; }
.reveal-delay-270 { transition-delay: 270ms; }
.reveal-delay-320 { transition-delay: 320ms; }
.reveal-delay-360 { transition-delay: 360ms; }
.reveal.is-visible,
.reveal-ready { opacity: 1; transform: translateY(0); }

/* =========================================================
   Error Page
========================================================= */
.error-page { min-height: 70vh; padding-top: var(--header-height); background: var(--bg-secondary); }
.error-section { min-height: 70vh; display: flex; align-items: center; }
.error-section h1 { margin-bottom: 18px; font-size: clamp(40px, 6vw, 72px); }
.error-copy { max-width: 650px; margin: 0 auto 30px; color: var(--text-secondary); }

/* =========================================================
   21. Responsive
========================================================= */
@media (max-width: 1260px) {
    .desktop-nav { display: none; }
    .mobile-menu-toggle { display: block; }
    .site-header__inner { justify-content: space-between; }
    .header-actions { margin-left: 0; }

    .quick-quote {
        grid-template-columns: 1fr 1fr 1fr .65fr .65fr;
    }
    .quote-heading { display: none; }
    .quote-field--passengers { display: none; }
    .service-grid { grid-template-columns: repeat(3, 1fr); }
    .trust-grid { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
    .trust-item { border-right: 0; padding: 0 20px 0 0; }
    .fleet-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991.98px) {
    :root { --section-space: 76px; }
    .container { width: min(100% - 36px, var(--container)); }

    .home-hero {
        min-height: auto;
        padding: calc(var(--header-height) + 72px) 0 74px;
    }
    .hero-overlay {
        background:
            linear-gradient(90deg, rgba(5,5,7,.94) 0%, rgba(5,5,7,.73) 65%, rgba(5,5,7,.52) 100%),
            linear-gradient(0deg, rgba(5,5,7,.80), rgba(5,5,7,.05));
    }
    .hero-content { max-width: 650px; }
    .hero-trust-grid { grid-template-columns: repeat(2, max-content); }

    .quick-quote-shell { height: auto; background: var(--bg-primary); padding: 0 0 54px; }
    .quick-quote {
        top: 0;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        box-shadow: none;
    }
    .quote-field { min-height: 76px; border-bottom: 1px solid var(--border); }
    .quote-field:nth-of-type(odd) { border-right: 0; }
    .quote-submit { min-height: 76px; grid-column: 1 / -1; }
    .services-section { padding-top: var(--section-space); }

    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .service-card p { min-height: auto; }

    .trust-grid { grid-template-columns: repeat(2, 1fr); }

    .why-intro { grid-template-columns: 1fr; gap: 0; }
    .why-intro { margin-bottom: 40px; }
    .faq-heading { position: static; }
    .benefit-grid { grid-template-columns: repeat(2, 1fr); }

    .route-grid { grid-template-columns: 1fr; }
    .route-card { grid-template-columns: 40% 60%; }

    .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 42px; }
    .faq-layout {gap: 0;}
}

@media (max-width: 767.98px) {
    :root { --section-space: 62px; }
    .container { width: min(100% - 28px, var(--container)); }

    .site-header { height: 70px; }
    :root { --header-height: 70px; }
    .site-logo img { height: 42px; }
    .header-book { display: none; }

    .home-hero { padding-top: calc(var(--header-height) + 48px); }
    .hero-media img { object-position: 62% center; }
    .hero-overlay {
        background:
            linear-gradient(90deg, rgba(5,5,7,.95) 0%, rgba(5,5,7,.76) 74%, rgba(5,5,7,.62) 100%),
            linear-gradient(0deg, rgba(5,5,7,.78), rgba(5,5,7,.18));
    }
    .home-hero h1 { font-size: clamp(26px, 8vw, 35px); }
    .hero-display-line { font-size: 24px; }
    .hero-intro { font-size: 15px; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-actions a { width: 100%; }
    .hero-trust-grid { grid-template-columns: 1fr 1fr; gap: 14px 18px; }
    .hero-trust-item { white-space: normal; align-items: flex-start; }

    .quick-quote { grid-template-columns: 1fr; }
    .quote-field { min-height: 74px; border-right: 0; }
    .quote-field input,
    .quote-field select,
    input,
    select,
    textarea { font-size: 16px; }
    .quote-submit { grid-column: auto; }

    .service-grid { grid-template-columns: 1fr; gap: 16px; }
    .service-card__media { aspect-ratio: 16 / 10; }

    .trust-strip { padding-block: 30px; }
    .trust-grid { gap: 22px 18px; }
    .trust-item { align-items: flex-start; padding: 0; }
    .trust-item .line-icon { width: 34px; height: 34px; flex-basis: 34px; }

    .fleet-grid { grid-template-columns: 1fr; }
    .fleet-card__image { min-height: 210px; }

    .benefit-grid { grid-template-columns: 1fr; }
    .benefit-item { min-height: 0; padding: 26px; }

    .route-card { grid-template-columns: 1fr; }
    .route-card__image { min-height: 220px; aspect-ratio: 16 / 10; }

    .review-grid { grid-template-columns: 1fr; }

    .final-cta { min-height: 500px; }
    .final-cta__content { margin-left: 0; }
    .final-cta__overlay { background: rgba(13,13,15,.79); }

    .footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .footer-bottom { flex-direction: column; }

    .trustpilot-tab { display: none; }
    .floating-actions { right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); }
    .floating-action { width: 44px; height: 44px; }
}

@media (max-width: 479.98px) {
    .hero-eyebrow { font-size: 9px; }
    .hero-trust-grid { grid-template-columns: 1fr; }
    .trust-grid { grid-template-columns: 1fr 1fr; }
    .trust-item { flex-direction: column; gap: 8px; }
    .trust-item:last-child { grid-column: 1 / -1; max-width: 260px; margin-inline: auto; text-align: center; align-items: center; }
    .section-heading { margin-bottom: 36px; }
    .route-card__body,
    .review-card { padding: 22px; }
}

@media (min-width: 1536px) {
    .home-hero { min-height: 830px; }
}

@media (min-width: 1920px) {
    .home-hero { min-height: 880px; }
    .hero-media img { object-position: center 48%; }
}

@media (hover: none) {
    .floating-action[data-tooltip]::before { display: none; }
}

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

/* =========================================================
   22. Internal Page Global
========================================================= */
.internal-page { background: var(--bg-secondary); }
.internal-page .section-space { padding-block: 92px; }

.internal-hero {
    position: relative;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--bg-primary);
    color: var(--text-primary);
    padding: calc(var(--header-height) + 90px) 0 78px;
    isolation: isolate;
}
.internal-hero__media,
.internal-hero__overlay { position: absolute; inset: 0; }
.internal-hero__media { z-index: -3; }
.internal-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.015); }
.internal-hero__overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(13,13,15,.94) 0%, rgba(13,13,15,.78) 43%, rgba(13,13,15,.38) 72%, rgba(13,13,15,.56) 100%),
        linear-gradient(0deg, rgba(13,13,15,.76), transparent 48%);
}
.internal-hero h1 {
    max-width: 850px;
    margin-bottom: 22px;
    font-size: clamp(46px, 5vw, 58px);
    font-weight: 600;
    letter-spacing: -.04em;
}
.internal-hero__intro { max-width: 760px; margin-bottom: 30px; color: var(--text-muted); font-size: 17px; line-height: 1.75; }
.breadcrumb-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 24px; color: var(--text-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb-nav a { color: var(--text-primary); }
.breadcrumb-nav a:hover { color: var(--accent-primary); }

.internal-editorial--ivory { background: var(--bg-secondary); }
.internal-editorial--ivory {
    background: linear-gradient(135deg, #0a0a0a, #17120c);
}

.editorial-split {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 50px;
}

.editorial-kicker {
    padding-right: 50px;
    border-right: 1px solid rgba(255,143,0,.3);
}

.editorial-kicker .section-eyebrow {
    color: var(--accent-primary);
}

.editorial-kicker h2 {
    margin: 12px 0 25px;
    color: var(--text-primary);
    font-size: 42px;
    line-height: 1.12;
}

.editorial-kicker > p,
.editorial-copy p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.8;
}

.editorial-copy p {
    position: relative;
    margin: 0;
    padding: 30px 0 25px 45px;
    border-bottom: 1px solid var(--border);
}

.editorial-copy p + p {
    padding-top: 25px;
}

.editorial-copy p::before {
    content: "01";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent-primary);
    font-size: 12px;
}

.editorial-copy p:nth-child(2)::before { content: "02"; }
.editorial-copy p:nth-child(3)::before { content: "03"; }

.editorial-copy p:last-child {
    border: 0;
}

@media (max-width: 900px) {
    .editorial-split {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .editorial-kicker {
        padding: 0 0 30px;
        border: 0;
        border-bottom: 1px solid rgba(255,143,0,.3);
    }

    .editorial-kicker h2 {
        font-size: 34px;
    }
}
.editorial-split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: start; }
.editorial-kicker h2,
.coverage-copy h2,
.standards-copy h2,
.split-feature__content h2,
.south-copy h2,
.vehicle-use-copy h2,
.arrival-copy h2 {
    margin-bottom: 22px;
    font-size: clamp(30px, 3.2vw, 38px);
    font-weight: 600;
}
.editorial-copy { max-width: 760px; }
.editorial-copy p { margin-bottom: 18px; color: var(--text-secondary); }
.editorial-copy p:last-child { margin-bottom: 0; }

.internal-dark-band { background: var(--bg-primary); color: var(--text-primary); }
.internal-dark-band .section-heading--dark p { color: var(--text-secondary); }

.internal-final-cta { background: var(--bg-primary); border-top: 1px solid var(--border); color: var(--text-primary); padding: 50px 0; }
.internal-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 55px; }
.internal-final-cta__inner > div:first-child { max-width: 760px; }
.internal-final-cta h2 { margin-bottom: 14px; font-size: clamp(30px, 3vw, 40px); font-weight: 600; }
.internal-final-cta p:not(.section-eyebrow) { margin-bottom: 0; color: var(--text-secondary); }
.internal-final-cta .cta-group { flex: 0 0 auto; }
.internal-final-cta .cta-group .btn-outline-light-custom:hover { color: var(--accent-primary); }

.premium-list { margin: 24px 0 26px; padding: 0; list-style: none; }
.premium-list li { position: relative; padding: 11px 0 11px 28px; border-bottom: 1px solid var(--border); color: var(--text-secondary); font-size: 14px; }
.premium-list li::before { position: absolute; left: 0; top: 14px; content: ""; width: 8px; height: 8px; border: 1px solid var(--accent-primary); transform: rotate(45deg); }
.inline-link-group { display: flex; flex-wrap: wrap; gap: 18px 28px; }
.module-note { margin: 28px auto 0; max-width: 820px; color: var(--text-secondary); font-size: 12px; text-align: center; }
.module-note--dark { color: var(--text-muted); text-align: left; }

.split-feature { background: var(--bg-secondary); }
.split-feature__grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr); gap: 80px; }
.split-feature__grid--reverse .split-feature__media { order: 2; }
.split-feature__grid--reverse .split-feature__content { order: 1; }
.split-feature__media { overflow: hidden; min-height: 500px; background: var(--bg-section); }
.split-feature__media img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; transition: transform 650ms var(--ease-luxury); }
.split-feature__media:hover img { transform: scale(1.03); }
.split-feature__content p { color: var(--text-secondary); }

.process-section { background: var(--bg-secondary); }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.process-step { position: relative; min-height: 270px; padding: 34px 28px; border-right: 1px solid var(--border); }
.process-step:last-child { border-right: 0; }
.process-step > span { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.process-step h3 { margin: 38px 0 13px; font-size: 19px; font-weight: 600; }
.process-step p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.75; }

.internal-faq { background: var(--bg-secondary); }
.internal-faq .faq-layout { align-items: start; }

.accuracy-note { margin-top: 28px; border-left: 2px solid var(--accent-primary); background: rgba(255,143,0,.08); padding: 18px 20px; color: var(--text-secondary); font-size: 13px; }
.accuracy-note strong { color: var(--text-primary); }

/* =========================================================
   23. About Page
========================================================= */
.page-about .internal-hero__media img { object-position: center 45%; }
.editorial-service-list { border-top: 1px solid var(--border); }
.editorial-service-row { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); min-height: 260px; border-bottom: 1px solid var(--border); }
.editorial-service-row__media { overflow: hidden; }
.editorial-service-row__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); transition: transform 600ms var(--ease-luxury), filter 600ms ease; }
.editorial-service-row:hover .editorial-service-row__media img { transform: scale(1.035); filter: saturate(1); }
.editorial-service-row__content { display: grid; grid-template-columns: 64px minmax(160px, .45fr) minmax(240px, 1fr) auto; gap: 18px; align-items: center; padding: 34px 42px; }
.editorial-index { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.editorial-service-row h3 { margin: 0; font-size: 21px; font-weight: 600; }
.editorial-service-row p { margin: 0; color: var(--text-secondary); font-size: 15px; line-height: 1.75; }

.principle-section { background: var(--bg-secondary); }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;}
.principle-card { padding: 34px 30px; border-right: 1px solid var(--border); }
.principle-card:last-child { border-right: 0; }
.principle-card__number { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.principle-card h3 { margin:  14px 0; font-size: 19px; font-weight: 600; }
.principle-card p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

.expectation-band { background: var(--bg-secondary); color: var(--text-primary); padding: 70px 0; }
.expectation-band__inner { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 90px; align-items: center; }
.expectation-band__heading h2 { margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.expectation-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--border); }
.expectation-item { display: flex; gap: 12px; align-items: center; min-height: 64px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: 13px; }
.expectation-item:nth-child(odd) { border-right: 1px solid var(--border); padding-right: 18px; }
.expectation-item:nth-child(even) { padding-left: 22px; }
.expectation-item span { color: var(--accent-primary); }

.coverage-section { background: var(--bg-secondary); }
.coverage-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .85fr); gap: 90px; align-items: center; }
.coverage-copy p:not(.section-eyebrow) { color: var(--text-secondary); }
.coverage-copy .btn-dark-custom { margin-top: 14px; }
.coverage-destinations { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); background: var(--bg-secondary); }
.coverage-destinations span { display: flex; min-height: 66px; align-items: center; gap: 14px; border-bottom: 1px solid var(--border); padding: 14px 18px; font-size: 13px; }
.coverage-destinations span:nth-child(odd) { border-right: 1px solid var(--border); }
.coverage-destinations span:nth-last-child(-n+2) { border-bottom: 0; }
.coverage-destinations strong { color: var(--accent-primary); font-size: 10px; letter-spacing: .08em; }

.standards-section { background: var(--bg-secondary); }
.standards-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.standards-media { min-height: 500px; background: var(--bg-secondary); overflow: hidden; }
.standards-media img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.standards-copy > p:not(.section-eyebrow) { color: var(--text-secondary); }
.standards-points { margin-top: 30px; border-top: 1px solid var(--border); }
.standards-points > div { display: grid; grid-template-columns: 45px 1fr; gap: 14px; border-bottom: 1px solid var(--border); padding: 15px 0; }
.standards-points strong { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.standards-points span { color: var(--light-text); font-size: 13px; }
.standards-points b { color: var(--text-primary); font-weight: 600; }

.testimonial-preview { background: var(--bg-secondary); border-top: 1px solid var(--border); }
.testimonial-preview__inner { display: flex; justify-content: space-between; align-items: center; gap: 60px; }
.testimonial-preview__inner > div { max-width: 760px; }
.testimonial-preview h2 { margin-bottom: 16px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.testimonial-preview p:not(.section-eyebrow) { margin-bottom: 0; color: var(--text-secondary); }

/* =========================================================
   24. Corporate Page
========================================================= */
.page-corporate .internal-hero__media img { object-position: center 48%; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.solution-card {padding: 30px; }
.solution-card__number { color: var(--accent-primary); font-size: 10px; letter-spacing: .12em; }
.solution-card h3 { margin: 15px 0; font-size: 19px; font-weight: 600; }
.solution-card p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

.roadshow-band { background: var(--bg-secondary); color: var(--text-primary); padding: 76px 0; }
.roadshow-band__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.roadshow-band h2 { margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.roadshow-band p { color: var(--text-muted); margin: 10px 0; }
.roadshow-band p:last-child { margin-bottom: 0; }

.corporate-benefits { background: var(--bg-secondary); }
.account-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); }
.account-benefit {  display: flex; align-items: center; gap: 18px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 24px; background: rgba(255,255,255,.35); }
.account-benefit:nth-child(3n) { border-right: 0; }
.account-benefit:nth-last-child(-n+3) { border-bottom: 0; }
.account-benefit span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.account-benefit h3 { margin: 0; font-size: 16px; font-weight: 600; }

.vehicle-use-section { background: var(--bg-secondary); }
.vehicle-use-layout { display: grid; grid-template-columns: .9fr 1.1fr;  align-items: center; }
.vehicle-use-copy > p:not(.section-eyebrow) { color: var(--text-secondary); }
.vehicle-use-list { margin-top: 30px; border-top: 1px solid var(--border); }
.vehicle-use-list > div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; border-bottom: 1px solid var(--border); padding: 15px 0; }
.vehicle-use-list b { font-size: 13px; font-weight: 600; }
.vehicle-use-list span { color: var(--bg-primary); font-size: 13px; }
.vehicle-use-media { overflow: hidden; min-height: 490px; background: var(--bg-secondary); border-radius: 15px; overflow: hidden; }
.vehicle-use-media img { width: 100%; height: 100%; min-height: 490px; object-fit: cover; }

/* =========================================================
   25. Locations Page
========================================================= */
.page-locations .internal-hero__media img { object-position: center 54%; }
.featured-locations { background: var(--bg-secondary); }
.location-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.location-card { border: 1px solid var(--border); background: var(--bg-secondary); }
.location-card__media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.location-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-luxury); }
.location-card:hover .location-card__media img { transform: scale(1.04); }
.location-card__media > span { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: var(--bg-primary); color: var(--accent-primary); font-size: 10px; font-weight: 700; }
.location-card__body { padding: 26px; }
.location-card__body h3 { margin-bottom: 11px; font-size: 20px; font-weight: 600; }
.location-card__body p { margin-bottom: 20px; color: var(--text-secondary); font-size: 13px; }

.airport-coverage-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: center; }
.airport-coverage-layout h2 { margin-bottom: 18px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-coverage-layout p { color: var(--text-secondary); }
.route-link-list { border-top: 1px solid var(--border); }
.route-link-list a { display: grid; grid-template-columns: 48px 1fr 30px; align-items: center; min-height: 62px; border-bottom: 1px solid var(--border); color: var(--text-primary); }
.route-link-list a > span { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.route-link-list a > b { font-size: 14px; font-weight: 500; }
.route-link-list a > i { color: var(--accent-primary); font-style: normal; transition: transform var(--transition); }
.route-link-list a:hover > i { transform: translateX(4px); }

.south-section { background: var(--bg-secondary); }
.south-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.south-copy p:not(.section-eyebrow) { color: var(--text-secondary); }
.region-pill-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.region-pill-grid span { display: flex; min-height: 72px; align-items: center; justify-content: center; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--bg-secondary); color: var(--text-primary); font-size: 13px; font-weight: 500; }

.destination-editorial { position: relative; min-height: 610px; display: flex; align-items: center; overflow: hidden; background: var(--bg-primary); color: var(--text-primary); isolation: isolate; }
.destination-editorial__media,
.destination-editorial__overlay { position: absolute; inset: 0; }
.destination-editorial__media { z-index: -2; }
.destination-editorial__media img { width: 100%; height: 100%; object-fit: cover; }
.destination-editorial__overlay { z-index: -1; background: linear-gradient(90deg, rgba(13,13,15,.94) 0%, rgba(13,13,15,.78) 48%, rgba(13,13,15,.42) 100%); }
.destination-editorial__content {  padding-block: 90px; }
.destination-editorial h2 { margin-bottom: 18px; font-size: clamp(34px, 4vw, 46px); font-weight: 600; }
.destination-editorial p:not(.section-eyebrow) { max-width: 650px; color: var(--text-muted); }
.destination-link-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 30px; }
.destination-link-row a { border: 1px solid rgba(255,255,255,.24); padding: 9px 13px; color: var(--text-primary); font-size: 12px; }
.destination-link-row a:hover { border-color: var(--accent-primary); color: var(--accent-primary); }

.directory-section { background: var(--bg-secondary); }
.directory-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap:15px; border-left: 1px solid var(--border); }
.directory-group {  border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px; }
.directory-group h3 { margin-bottom: 26px; color: var(--accent-primary); font-size: 14px; font-weight: 600; }
.directory-group ul { margin: 0; padding: 0; list-style: none; }
.directory-group li { padding: 9px 0; border-bottom: 1px solid var(--bg-section); color: var(--text-secondary); font-size: 13px; }

/* =========================================================
   26. Private Tours Page
========================================================= */
.page-private-tours .internal-hero__media img { object-position: center 48%; }
.featured-destinations { background: var(--bg-secondary); }
.destination-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.destination-card { border: 1px solid var(--border); background: var(--bg-secondary); scroll-margin-top: 100px; }
.destination-card__media { aspect-ratio: 16/11; overflow: hidden; }
.destination-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-luxury); }
.destination-card:hover .destination-card__media img { transform: scale(1.04); }
.destination-card__body { padding: 25px; }
.destination-card__body > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.destination-card h3 { margin: 13px 0 10px; font-size: 20px; font-weight: 600; }
.destination-card p { min-height: 92px; margin-bottom: 20px; color: var(--text-secondary); font-size: 13px; }

.experience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
.experience-card { min-height: 290px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px; }
.experience-card > span { color: var(--accent-primary); font-size: 10px; letter-spacing: .12em; }
.experience-card h3 { margin: 50px 0 13px; font-size: 19px; font-weight: 600; }
.experience-card p { margin-bottom: 22px; color: var(--text-secondary); font-size: 13px; }

.flexible-tour-section { background: var(--bg-secondary); }
.tour-vehicle-section { background: var(--bg-secondary); }
.vehicle-suitability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vehicle-suitability { display: grid; grid-template-columns: 48% 52%; border: 1px solid var(--border); background: var(--bg-secondary); min-height: 270px; }
.vehicle-suitability img { width: 100%; height: 100%; object-fit: cover; }
.vehicle-suitability > div { display: flex; flex-direction: column; justify-content: center; padding: 28px; }
.vehicle-suitability h3 { margin-bottom: 12px; font-size: 19px; font-weight: 600; }
.vehicle-suitability p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

.tour-benefits-band { background: var(--bg-secondary); color: var(--text-primary); padding: 75px 0; }
.tour-benefits-heading { max-width: 720px; margin-bottom: 34px; }
.tour-benefits-heading h2 { margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.tour-benefit-row { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.tour-benefit-row > div { min-height: 120px; display: flex; flex-direction: column; justify-content: center; gap: 13px; border-right: 1px solid var(--border); padding: 20px; }
.tour-benefit-row > div:last-child { border-right: 0; }
.tour-benefit-row span { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.tour-benefit-row b { font-size: 13px; font-weight: 500; }

/* =========================================================
   27. Airport Page
========================================================= */
.page-airport .internal-hero__media img { object-position: center 48%; }
.airport-grid-section .section-heading { max-width: 860px; }
.airport-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
.airport-card { min-height: 300px; display: flex; flex-direction: column; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 27px; }
.airport-card__code { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.airport-card h3 { margin: 52px 0 13px; font-size: 18px; font-weight: 600; }
.airport-card p { margin-bottom: 22px; color: var(--text-secondary); font-size: 13px; }
.airport-card .text-link-gold { margin-top: auto; }

.arrival-section { background: var(--bg-secondary); }
.arrival-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 80px; align-items: center; }
.arrival-media { min-height: 530px; overflow: hidden; background: var(--bg-secondary); }
.arrival-media img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; }
.arrival-copy > p:not(.section-eyebrow) { color: var(--text-secondary); }
.numbered-process { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--border); }
.numbered-process li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: center; min-height: 62px; border-bottom: 1px solid var(--border); }
.numbered-process li > span { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.numbered-process li p { margin: 0; color: var(--text-secondary); font-size: 13px; }

.departure-band { background: var(--bg-secondary); color: var(--text-primary); padding: 78px 0; }
.departure-band__grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 90px; }
.departure-band h2 { margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.departure-points > p:first-child { color: var(--text-muted); }
.compact-feature-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); margin-top: 26px; }
.compact-feature-row span { min-height: 72px; display: flex; align-items: center; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 14px; color: var(--text-muted); font-size: 12px; }

.flight-monitor-section { background: var(--bg-secondary); }
.flight-monitor-card { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; border: 1px solid var(--border); background: var(--bg-secondary); padding: 48px; }
.flight-monitor-card h2 { margin-bottom: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.flight-monitor-card p { color: var(--text-secondary); }
.flight-monitor-card p:last-child { margin-bottom: 0; }

.airport-routes { background: var(--bg-secondary); }
.airport-route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.airport-route-card { min-height: 215px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--border); background: var(--bg-secondary); padding: 24px; }
.airport-route-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.airport-route-card > div { display: grid; grid-template-columns: 1fr 28px 1fr; gap: 10px; align-items: center; }
.airport-route-card h3 { margin: 0; font-size: 17px; font-weight: 600; }
.airport-route-card i { color: var(--accent-primary); font-style: normal; text-align: center; }

.airport-vehicles { background: var(--bg-secondary); }
.airport-benefits-band { background: var(--bg-primary); color: var(--text-primary); padding: 90px 0; }
.airport-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.airport-benefit { min-height: 115px; display: flex; align-items: center; gap: 18px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 22px; }
.airport-benefit span { color: var(--accent-primary); font-size: 10px; letter-spacing: .1em; }
.airport-benefit b { font-size: 13px; font-weight: 500; }


.jump-to-day {
    position: sticky;
    top: calc(var(--header-height) + 8px);
    z-index: 20;
    display: flex;
    width: min(100% - 48px,var(--container));
    max-width: var(--container);
    margin: 0 auto;
    gap: 7px;
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: rgba(21,21,21,.96);
    padding: 10px;
    scrollbar-width: thin;
    backdrop-filter: blur(10px);
}
.jump-to-day > span { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 0 9px; color: var(--text-muted); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.jump-to-day a {
    display: inline-flex;
    min-width: 62px;
    min-height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text-secondary);
    padding: 7px 11px;
    font-size: 11px;
    font-weight: 600;
}
.jump-to-day a:hover,
.jump-to-day a:focus-visible,
.jump-to-day a.is-active { border-color: var(--accent-primary); background: var(--accent-primary); color: var(--bg-primary); }

/* =========================================================
   28. Internal Page Responsive
========================================================= */
@media (max-width: 1199.98px) {
    .editorial-service-row__content { grid-template-columns: 44px .8fr 1.2fr; }
    .editorial-service-row__content .text-link-gold { grid-column: 2 / -1; }
    .principle-grid { grid-template-columns: 1fr 1fr; }
    .principle-card:nth-child(2) { border-right: 0; }
    .principle-card:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .process-grid { grid-template-columns: 1fr 1fr; }
    .process-step:nth-child(2) { border-right: 0; }
    .process-step:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .solution-grid { grid-template-columns: 1fr 1fr; }
    .account-benefit-grid { grid-template-columns: 1fr 1fr; }
    .account-benefit:nth-child(3n) { border-right: 1px solid var(--border); }
    .account-benefit:nth-child(even) { border-right: 0; }
    .account-benefit:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
    .account-benefit:nth-last-child(-n+2) { border-bottom: 0; }
    .location-card-grid,
    .destination-card-grid { grid-template-columns: 1fr 1fr; }
    .location-card__body p,
    .destination-card p { min-height: 0; }
    .directory-grid { grid-template-columns: 1fr 1fr; }
    .experience-grid { grid-template-columns: 1fr 1fr; }
    .tour-benefit-row { grid-template-columns: repeat(3, 1fr); }
    .tour-benefit-row > div:nth-child(3) { border-right: 0; }
    .tour-benefit-row > div:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
    .airport-card-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 991.98px) {
    .internal-page .section-space { padding-block: 72px; }
    .internal-hero { min-height: 500px; padding-top: calc(var(--header-height) + 70px); padding-bottom: 62px; }
    .internal-hero h1 { font-size: clamp(38px, 6vw, 48px); }
    .internal-hero__intro { font-size: 16px; }
    .editorial-split,
    .expectation-band__inner,
    .coverage-layout,
    .standards-layout,
    .roadshow-band__grid,
    .vehicle-use-layout,
    .airport-coverage-layout,
    .south-layout,
    .arrival-layout,
    .departure-band__grid,
    .flight-monitor-card,
    .split-feature__grid { grid-template-columns: 1fr; gap: 14px; }
    .split-feature__grid--reverse .split-feature__media,
    .split-feature__grid--reverse .split-feature__content { order: initial; }
    .editorial-service-row { grid-template-columns: 42% 58%; }
    .editorial-service-row__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; padding: 28px; }
    .editorial-service-row__content p { max-width: 520px; }
    .expectation-list { grid-template-columns: 1fr 1fr; }
    .coverage-destinations { max-width: 650px; }
    .standards-media,
    .standards-media img,
    .vehicle-use-media,
    .vehicle-use-media img,
    .arrival-media,
    .arrival-media img,
    .split-feature__media,
    .split-feature__media img { min-height: 420px; }
    .testimonial-preview__inner,
    .internal-final-cta__inner { align-items: flex-start; flex-direction: column; gap: 30px; }
    .internal-final-cta .cta-group { flex: initial; }
    .solution-grid { grid-template-columns: 1fr 1fr; }
    .location-card-grid,
    .destination-card-grid { grid-template-columns: 1fr 1fr; }
    .region-pill-grid { grid-template-columns: 1fr 1fr; }
    .destination-editorial { min-height: 540px; }
    .vehicle-suitability-grid { grid-template-columns: 1fr; }
    .airport-card-grid { grid-template-columns: 1fr 1fr; }
    .airport-route-grid { grid-template-columns: 1fr 1fr; }
    .compact-feature-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px) {
    .internal-page .section-space { padding-block: 20px; }
    .internal-hero { min-height: 440px; align-items: flex-end; padding: calc(var(--header-height) + 56px) 0 50px; }
    .internal-hero__overlay { background: linear-gradient(90deg, rgba(13,13,15,.91), rgba(13,13,15,.70)), linear-gradient(0deg, rgba(13,13,15,.72), transparent); }
    .internal-hero h1 { font-size: clamp(34px, 10vw, 40px); }
    .internal-hero__intro { font-size: 15px; line-height: 1.7; }
    .breadcrumb-nav { margin-bottom: 18px; }
    .editorial-split { gap: 0; }
    .editorial-service-row { grid-template-columns: 1fr; }
    .editorial-service-row__media { aspect-ratio: 16/9; }
    .editorial-service-row__content { min-height: 250px; }
    .principle-grid,
    .expectation-list,
    .coverage-destinations,
    .process-grid,
    .solution-grid,
    .account-benefit-grid,
    .location-card-grid,
    .destination-card-grid,
    .directory-grid,
    .experience-grid,
    .airport-card-grid,
    .airport-route-grid,
    .airport-benefit-grid { grid-template-columns: 1fr; }
    .principle-card { min-height: 240px; border-right: 0; border-bottom: 1px solid var(--border); }
    .principle-card:last-child { border-bottom: 0; }
    .principle-card h3 { margin-top: 42px; }
    .expectation-item:nth-child(odd),
    .expectation-item:nth-child(even) { border-right: 0; padding: 0; }
    .coverage-destinations span:nth-child(odd) { border-right: 0; }
    .coverage-destinations span:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
    .coverage-destinations span:last-child { border-bottom: 0; }
    .standards-media,
    .standards-media img,
    .vehicle-use-media,
    .vehicle-use-media img,
    .arrival-media,
    .arrival-media img,
    .split-feature__media,
    .split-feature__media img { min-height: 300px; }
    .process-step { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--border); }
    .process-step:last-child { border-bottom: 0; }
    .process-step h3 { margin-top: 32px; }
    .account-benefit { border-right: 0 !important; border-bottom: 1px solid var(--border) !important; }
    .account-benefit:last-child { border-bottom: 0 !important; }
    .vehicle-use-list > div { grid-template-columns: 1fr; gap: 4px; }
    .route-link-list a { grid-template-columns: 38px 1fr 24px; }
    .region-pill-grid { grid-template-columns: 1fr 1fr; }
    .destination-editorial { min-height: 500px; }
    .destination-editorial__content { padding-block: 64px; }
    .destination-link-row { gap: 8px; }
    .directory-group { min-height: auto; }
    .vehicle-suitability { grid-template-columns: 1fr; }
    .vehicle-suitability img { aspect-ratio: 16/9; }
    .tour-benefit-row { grid-template-columns: 1fr 1fr; }
    .tour-benefit-row > div { min-height: 100px; border-bottom: 1px solid var(--border); }
    .tour-benefit-row > div:nth-child(odd) { border-right: 1px solid var(--border); }
    .tour-benefit-row > div:nth-child(even) { border-right: 0; }
    .tour-benefit-row > div:last-child { grid-column: 1 / -1; border-bottom: 0; border-right: 0; }
    .airport-card { min-height: 250px; }
    .airport-card h3 { margin-top: 38px; }
    .compact-feature-row { grid-template-columns: 1fr; }
    .flight-monitor-card { padding: 30px; }
    .airport-route-card { min-height: 190px; }
    .airport-benefit { border-right: 0; }
}

@media (max-width: 479.98px) {
    .internal-hero { min-height: 420px; }
    .internal-hero .cta-group { width: 100%; }
    .internal-hero .cta-group a { width: 100%; }
    .region-pill-grid { grid-template-columns: 1fr; }
    .destination-link-row a { flex: 1 1 calc(50% - 8px); text-align: center; }
    .tour-benefit-row { grid-template-columns: 1fr; }
    .tour-benefit-row > div,
    .tour-benefit-row > div:nth-child(odd) { border-right: 0; }
    .tour-benefit-row > div:last-child { grid-column: auto; }
    .airport-route-card > div { grid-template-columns: 1fr 22px 1fr; }
    .internal-final-cta .cta-group { width: 100%; }
    .internal-final-cta .cta-group a { width: 100%; }
}

.related-services-section { 
    background: #090909 !important; 
    border-top: 1px solid #252525 !important; 
}

.related-services-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 14px; 
    border: 0; 
}

.related-service-card { 
    display: flex; 
    flex-direction: column; 
    padding: 20px; 
    background: linear-gradient(145deg, #181818, #0e0e0e) !important; 
    border: 1px solid #292929 !important; 
}

.related-service-card > span { 
    color: var(--accent-primary) !important; 
    font-size: 10px; 
    font-weight: 700; 
    letter-spacing: .14em; 
    text-transform: uppercase; 
}
.related-services-section h2,.related-services-section p{color: var(--light-border) !important;}
.related-service-card h3 { 
    margin: 14px 0 10px; 
    color: #fff !important; 
    font-size: 18px; 
    font-weight: 600; 
    line-height: 1.35; 
}

.related-service-card p { 
    margin: 0 0 22px; 
    color: #aaa !important; 
    font-size: 13px; 
    line-height: 1.7; 
}

.related-service-card a { 
    color: var(--accent-primary) !important; 
    font-size: 11px; 
    font-weight: 600; 
    letter-spacing: .08em; 
    text-transform: uppercase; 
    text-decoration: none; 
}

@media (max-width: 767px) { 
    .related-services-grid { 
        grid-template-columns: 1fr; 
    }

    .related-service-card { 
        min-height: 190px; 
        padding: 22px; 
    } 
}
@media (max-width: 767.98px) {
    .related-services-grid { grid-template-columns: 1fr; }
    .related-service-card { min-height: 215px; }
}
.expectation-intro { margin: 16px 0 0; color: var(--text-muted); font-size: 13px; line-height: 1.75; }
.corporate-benefits-copy { max-width: 860px; margin: 34px auto 0; text-align: center; }
/* app download section start here  */

.app-download-section {
    overflow: hidden;
    background: linear-gradient(120deg, #0B0B0B, #151515 65%, #21170B);
    color: #FFFFFF;
}

.app-download-content {
    max-width: 650px;
}

.app-download-section .section-eyebrow,
.app-download-section .text-gold {
    color: #FF8F00 !important;
}

.app-download-section h2 {
    color: #FFFFFF;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 700;
    line-height: 1.15;
}

.app-download-section .text-secondary {
    color: #CFCFCF !important;
    line-height: 1.8;
}

.app-download-section li {
    color: #E5E5E5;
    font-size: 14px;
}

.app-store-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 175px;
    padding: 12px 17px;
    border: 1px solid #383838;
    border-radius: 9px;
    background: #050505;
    color: #FFFFFF;
    text-decoration: none;
    transition: .25s ease;
    justify-content: center;
}

.app-store-button:hover {
    border-color: #FF8F00;
    background: #19130A;
    color: #FFFFFF;
    transform: translateY(-3px);
}

.app-store-button > i {
    font-size: 28px;
}

.app-store-button span {
    display: grid;
    gap: 2px;
}

.app-store-button small {
    color: #BDBDBD;
    font-size: 9px;
    letter-spacing: .05em;
}

.app-store-button strong {
    font-size: 16px;
}

.app-download-visual img {
    width: 100%;
    max-width: 520px;
    height: auto;
    filter: drop-shadow(0 25px 45px #0008);
}

@media (max-width: 991.98px) {
    .app-download-content {
        max-width: 100%;
    }

    .app-download-visual img {
        max-width: 420px;
    }
}

@media (max-width: 575.98px) {
    .app-store-button {
        width: 100%;
    }
}

/* =========================================================
   FLEET — GLOBAL
========================================================= */
.page-fleet { background: var(--bg-primary); }
.page-fleet main { background: var(--bg-secondary); }

/* Fleet Hero */
.fleet-hero {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    padding: calc(var(--header-height) + 88px) 0 82px;
    background: var(--bg-primary);
    color: var(--text-primary);
}
.fleet-hero__media,
.fleet-hero__overlay { position: absolute; inset: 0; }
.fleet-hero__media { z-index: -3; }
.fleet-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.01); }
.fleet-hero__overlay {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(13,13,15,.97) 0%, rgba(13,13,15,.88) 38%, rgba(13,13,15,.36) 76%, rgba(13,13,15,.18) 100%),
        linear-gradient(0deg, rgba(13,13,15,.78), transparent 52%);
}
.fleet-hero__content { width: 100%; max-width: 820px; }
.fleet-hero h1 { max-width: 780px; margin-bottom: 22px; font-size: clamp(46px, 5vw, 58px); font-weight: 600; }
.fleet-hero__intro { max-width: 740px; margin-bottom: 30px; color: var(--text-muted); font-size: 17px; line-height: 1.75; }
.fleet-hero .breadcrumb-nav { margin-bottom: 28px; }
.fleet-hero--vehicle { min-height: 680px; }
.page-fleet-s-class .fleet-hero__media img,
.page-fleet-e-class .fleet-hero__media img,
.page-fleet-bmw-i7 .fleet-hero__media img { object-position: center 46%; }
.page-fleet-v-class .fleet-hero__media img { object-position: center 50%; }

/* Fleet Overview */

.fleet-lineup-section { background: var(--bg-primary); color: var(--text-primary); }
.fleet-lineup-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fleet-lineup-card { min-width: 0; background: var(--bg-secondary); }
.fleet-lineup-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--bg-secondary); }
.fleet-lineup-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms var(--ease-luxury); }
.fleet-lineup-card:hover .fleet-lineup-card__media img { transform: scale(1.035); }
.fleet-lineup-card__body { min-height: 335px; display: flex; flex-direction: column; padding: 34px; }
.fleet-class-label { margin-bottom: 12px; color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.fleet-lineup-card h3 { margin-bottom: 14px; font-size: 24px; font-weight: 600; }
.fleet-lineup-card p { margin-bottom: 24px; color: var(--text-secondary); font-size: 14px; }
.fleet-card-meta { display: grid; grid-template-columns: 90px 1fr; gap: 12px; margin-top: auto; margin-bottom: 22px; padding-top: 18px; border-top: 1px solid var(--border); }
.fleet-card-meta span { color: var(--text-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fleet-card-meta strong { color: var(--text-muted); font-size: 12px; font-weight: 500; }
.fleet-availability-note { max-width: 820px; margin: 26px auto 0; color: var(--text-muted); font-size: 12px; text-align: center; }

.fleet-choice-section { background: var(--bg-secondary); color: var(--text-primary); border-top: 1px solid var(--border); }
.fleet-choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.fleet-choice-card {  padding: 30px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fleet-choice-card > span { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.fleet-choice-card h3 { margin:  14px 0; font-size: 20px; font-weight: 600; }
.fleet-choice-card p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

.fleet-journey-section { background: var(--bg-secondary); }
.fleet-compatibility { overflow: hidden; border: 1px solid var(--border); background: var(--bg-secondary); }
.fleet-compatibility__header,
.fleet-compatibility__row { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); }
.fleet-compatibility__header { background: var(--bg-primary); color: var(--text-primary); }
.fleet-compatibility__header > div { padding: 18px 20px; border-right: 1px solid var(--border); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fleet-compatibility__row > div { min-width: 0; padding: 18px 20px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--text-secondary); font-size: 12px; }
.fleet-compatibility__row:last-child > div { border-bottom: 0; }
.fleet-compatibility__row > div:first-child { color: var(--text-primary); font-weight: 600; }
.fleet-compatibility__row > div:last-child,
.fleet-compatibility__header > div:last-child { border-right: 0; }
.fleet-journey-section {
    background: #080808 !important;
}
.fleet-journey-section .section-heading h2,.fleet-journey-section .section-heading p{color: var(--light-page) !important;}
.fleet-compatibility {
    border-color: #242424 !important;
    background: #0D0D0D !important;
}

.fleet-compatibility__header {
    background: #050505 !important;
    color: #FFFFFF !important;
}

.fleet-compatibility__header > div {
    border-color: #242424 !important;
    color: #FF8F00 !important;
}

.fleet-compatibility__row > div {
    border-color: #242424 !important;
    color: #BDBDBD !important;
    background: #0D0D0D !important;
}

.fleet-compatibility__row > div:first-child {
    color: #FFFFFF !important;
}

.fleet-compatibility__row > div:last-child,
.fleet-compatibility__header > div:last-child {
    border-right-color: transparent !important;
}

.fleet-planning-section { background: var(--bg-secondary); }
.fleet-planning-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: 78px; align-items: start; }
.fleet-planning-layout h2 { margin-bottom: 22px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.fleet-planning-layout > div:first-child p:not(.section-eyebrow) { color: var(--text-secondary); }
.fleet-planning-panel { border-top: 1px solid var(--border); }
.fleet-planning-panel > span { display: block; margin-top: 24px; color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.fleet-planning-panel h3 { margin: 5px 0 6px; font-size: 17px; font-weight: 600; }
.fleet-planning-panel p { margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid var(--border); color: var(--text-secondary); font-size: 13px; }

.fleet-standards-band { background: var(--bg-primary); color: var(--text-primary); }
.fleet-standards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.fleet-standards-grid article {  padding: 28px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fleet-standards-grid span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.fleet-standards-grid h3 { margin: 12px 0; font-size: 18px; font-weight: 600; }
.fleet-standards-grid p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

/* Vehicle Specs */
.vehicle-specs { background: var(--bg-secondary); color: var(--text-primary); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.vehicle-specs__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.vehicle-specs__grid > div { min-height: 126px; display: flex; flex-direction: column; justify-content: center; padding: 24px 30px; border-right: 1px solid var(--border); }
.vehicle-specs__grid span { margin-bottom: 10px; color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.vehicle-specs__grid strong { font-size: 18px; font-weight: 500; }

/* Vehicle Editorial Sections */
.vehicle-overview { background: var(--bg-secondary); }
.vehicle-experience { background: var(--bg-primary); color: var(--text-primary); }
.vehicle-experience__layout,
.vehicle-use-layout,
.vehicle-extra-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
.vehicle-experience__media,
.vehicle-use-media {height: 100%; overflow: hidden; background: var(--bg-secondary); }
.vehicle-experience__media img,
.vehicle-use-media img { width: 100%; height: 100%; object-fit: cover;  border-radius: 15px;}
.vehicle-experience__copy { padding: 40px 5vw 30px 70px; }
.vehicle-experience__copy h2,
.vehicle-use-layout h2,
.vehicle-extra-layout h2 { margin-bottom: 22px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.vehicle-experience__copy p:not(.section-eyebrow) { color: var(--text-secondary); }

.vehicle-best-section { background: var(--bg-secondary); }
.vehicle-use-grid { display: grid; gap: 15px; }
.vehicle-use-grid--4 { grid-template-columns: repeat(4, 1fr); }
.vehicle-use-grid--5 { grid-template-columns: repeat(5, 1fr); }
.vehicle-use-card {  padding: 28px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.vehicle-use-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.vehicle-use-card h3 { margin: 20px 0 12px; font-size: 18px; font-weight: 600; }
.vehicle-use-card p { margin-bottom: 0; color: var(--text-secondary); font-size: 13px; }

.vehicle-use-section { background: var(--bg-secondary); }
.vehicle-use-section--dark { background: var(--bg-primary); color: var(--text-primary); }
.vehicle-use-section--alternate { background: var(--bg-secondary); }
.vehicle-use-layout > div:not(.vehicle-use-media) { padding: 26px 70px 26px 0; }
.vehicle-use-layout--reverse > div:not(.vehicle-use-media) { padding: 26px 0 26px 70px; }
.vehicle-use-section--dark .vehicle-use-layout > div:not(.vehicle-use-media) p:not(.section-eyebrow) { color: var(--text-secondary); }
.vehicle-use-section:not(.vehicle-use-section--dark) .vehicle-use-layout > div:not(.vehicle-use-media) p:not(.section-eyebrow) { color: var(--text-secondary); }
.vehicle-inline-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 24px; }
.vehicle-use-section:not(.vehicle-use-section--dark) .vehicle-inline-links .text-link-gold { color: var(--accent-secondary); }

.vehicle-use-section-dark {
    background: #080808 !important;
}

.vehicle-use-section-dark h2 {
    color: #fff !important;
}

.vehicle-use-section-dark p {
    color: #bdbdbd !important;
}

.vehicle-use-section-dark .section-eyebrow {
    color: #ff8f00 !important;
}

.vehicle-use-section-dark .vehicle-use-media {
    border-color: #242424 !important;
}

.vehicle-use-section-dark .text-link-gold {
    color: #ff8f00 !important;
}

.vehicle-extra-section { background: var(--bg-secondary); color: var(--text-primary); }
.vehicle-extra-layout { gap: 70px; }
.vehicle-extra-layout > div:first-child p:not(.section-eyebrow) { color: var(--text-secondary); }
.vehicle-extra-aside { min-height: 330px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--border); padding-left: 60px; }
.fleet-editorial-mark { display: block; height: 54px; color: var(--accent-primary); font-family: var(--font-editorial); font-size: 72px; line-height: .9; }
.vehicle-extra-aside p { margin: 0 0 28px; font-family: var(--font-editorial); font-size: clamp(24px, 2.5vw, 34px); line-height: 1.4; }

/* Vehicle Gallery */
.vehicle-gallery-section { background: var(--bg-primary); color: var(--text-primary); }
.vehicle-gallery { max-width: 1120px; margin: 0 auto; }
.vehicle-gallery__main { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--border); background: var(--bg-secondary); }
.vehicle-gallery__main img { width: 100%; height: 100%; object-fit: cover; transition: opacity 180ms ease, transform 500ms var(--ease-luxury); }
.vehicle-gallery__main.is-changing img { opacity: .28; transform: scale(1.012); }
.vehicle-gallery__thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 1px; background: var(--border); }
.vehicle-gallery__thumb { position: relative; border: 0; border-bottom: 2px solid transparent; background: var(--bg-secondary); padding: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.vehicle-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .58; transition: opacity var(--transition), transform var(--transition); }
.vehicle-gallery__thumb:hover img,
.vehicle-gallery__thumb.is-active img { opacity: 1; transform: scale(1.03); }
.vehicle-gallery__thumb.is-active { border-bottom-color: var(--accent-primary); }

/* Related Fleet */
.related-fleet-section { background: var(--bg-secondary); }
.related-fleet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.related-fleet-card { background: var(--bg-secondary); }
.related-fleet-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.related-fleet-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 550ms var(--ease-luxury); }
.related-fleet-card:hover .related-fleet-card__media img { transform: scale(1.035); }
.related-fleet-card > div { padding: 24px; }
.related-fleet-card > div > span { color: var(--accent-secondary); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.related-fleet-card h3 { margin: 8px 0 20px; font-size: 19px; font-weight: 600; }
.related-fleet-actions { margin-top: 28px; text-align: center; }
.fleet-faq { background: var(--bg-secondary); }
.fleet-final-cta { border-top-color: var(--border); }
.legal-content{
    margin-top: 60px;
}
.legal-content h1{color: var(--light-text);}
/* Fleet Comparison / Mobile Compatibility */
@media (max-width: 1199.98px) {
    .fleet-hero { min-height: 600px; }
    .fleet-choice-grid,
    .fleet-standards-grid { grid-template-columns: repeat(2, 1fr); }
    .vehicle-use-grid--5 { grid-template-columns: repeat(3, 1fr); }
    .vehicle-use-grid--5 .vehicle-use-card:nth-last-child(-n+2) { min-height: 230px; }
    .vehicle-experience__copy { padding: 58px 48px; }
    .vehicle-use-layout > div:not(.vehicle-use-media) { padding: 48px 48px 48px 0; }
    .vehicle-use-layout--reverse > div:not(.vehicle-use-media) { padding: 48px 0 48px 48px; }
}

@media (max-width: 991.98px) {
    .fleet-hero { min-height: 540px; padding-top: calc(var(--header-height) + 70px); padding-bottom: 66px; }
    .fleet-hero--vehicle { min-height: 580px; }
    .fleet-hero h1 { font-size: clamp(38px, 4vw, 48px); }
    .fleet-hero__intro { font-size: 16px; }
    .fleet-lineup-grid { grid-template-columns: 1fr 1fr; }
    .fleet-lineup-card__body { min-height: 315px; padding: 28px; }
    .fleet-planning-layout { grid-template-columns: 1fr; gap: 48px; }
    .vehicle-specs__grid { grid-template-columns: repeat(2, 1fr); }
    .vehicle-specs__grid > div:nth-child(3) {  border-top: 1px solid var(--light-border); }
    .vehicle-experience__layout,
    .vehicle-use-layout,
    .vehicle-extra-layout { grid-template-columns: 1fr; }
    .vehicle-experience__media,
    .vehicle-use-media { min-height: 460px; }
    .vehicle-experience__copy { padding: 58px 0 0; }
    .vehicle-use-layout > div:not(.vehicle-use-media),
    .vehicle-use-layout--reverse > div:not(.vehicle-use-media) { padding: 0 0 48px; }
    .vehicle-use-layout--reverse .vehicle-use-media { order: 2; }
    .vehicle-use-layout--reverse > div:not(.vehicle-use-media) { order: 1; }
    .vehicle-extra-aside { min-height: 0; border-left: 0; border-top: 1px solid var(--border); padding: 44px 0 0; }
    .vehicle-use-grid--4,
    .vehicle-use-grid--5 { grid-template-columns: repeat(2, 1fr); }
    .related-fleet-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767.98px) {
    .fleet-hero { min-height: 480px; align-items: flex-end; padding: calc(var(--header-height) + 58px) 0 52px; }
    .fleet-hero--vehicle { min-height: 510px; }
    .fleet-hero__overlay { background: linear-gradient(90deg, rgba(13,13,15,.94), rgba(13,13,15,.68)), linear-gradient(0deg, rgba(13,13,15,.84), transparent); }
    .fleet-hero h1 { font-size: clamp(34px, 3vw, 40px); }
    .fleet-hero__intro { font-size: 15px; }
    .fleet-lineup-grid { grid-template-columns: 1fr; }
    .fleet-lineup-card__body { min-height: auto; }
    .fleet-choice-grid,
    .fleet-standards-grid { grid-template-columns: 1fr 1fr; }
    .fleet-choice-card h3 { margin-top: 44px; }
    .fleet-compatibility { border: 0; background: transparent; }
    .fleet-compatibility__header { display: none; }
    .fleet-compatibility__row { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; border: 1px solid var(--border); background: var(--bg-secondary); }
    .fleet-compatibility__row > div { border-right: 0; border-bottom: 1px solid var(--border); padding: 14px 16px; }
    .fleet-compatibility__row > div:first-child { grid-column: 1 / -1; background: var(--bg-section); font-size: 14px; }
    .fleet-compatibility__row > div:not(:first-child)::before { content: attr(data-vehicle); display: block; margin-bottom: 4px; color: var(--accent-secondary); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .fleet-compatibility__row > div:nth-child(even) { border-right: 1px solid var(--border); }
    .fleet-compatibility__row > div:nth-last-child(-n+2) { border-bottom: 0; }
    .vehicle-specs__grid > div { min-height: 112px; padding: 20px; }
    .vehicle-specs__grid strong { font-size: 16px; }
    .vehicle-experience__media,
    .vehicle-use-media { min-height: 0; aspect-ratio: 16 / 10; }
    .vehicle-use-grid--4,
    .vehicle-use-grid--5 { grid-template-columns: 1fr 1fr; }
    .vehicle-use-card { min-height: 235px; padding: 24px; }
    .vehicle-use-card h3 { margin-top: 42px; }
    .vehicle-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 0 4px; background: transparent; -webkit-overflow-scrolling: touch; }
    .vehicle-gallery__thumb { flex: 0 0 42%; border: 1px solid var(--border); scroll-snap-align: start; }
    .vehicle-gallery__thumb.is-active { border-color: var(--accent-primary); }
    .related-fleet-grid { grid-template-columns: 1fr; }

    .editorial-service-list .editorial-service-row{
      background: var(--bg-section);
      margin-top: 25px;
      border-color: transparent;
    }
}

@media (max-width: 479.98px) {
    .fleet-hero .cta-group { width: 100%; }
    .fleet-hero .cta-group a { width: 100%; }
    .fleet-choice-grid,
    .fleet-standards-grid,
    .vehicle-use-grid--4,
    .vehicle-use-grid--5 { grid-template-columns: 1fr; }
    .fleet-choice-card,
    .fleet-standards-grid article,
    .vehicle-use-card { min-height: 210px; }
    .vehicle-specs__grid { grid-template-columns: 1fr; }
    .vehicle-specs__grid > div { border-left: 1px solid var(--border); border-right: 1px solid var(--border); border-top: 1px solid var(--border); }
    .vehicle-specs__grid > div:first-child { border-top: 0; }
    .vehicle-specs__grid > div:nth-child(3),
    .vehicle-specs__grid > div:nth-child(4) { border-top: 1px solid var(--light-border); }
    .vehicle-gallery__thumb { flex-basis: 62%; }
    .fleet-compatibility__row { grid-template-columns: 1fr; }
    .fleet-compatibility__row > div:first-child { grid-column: auto; }
    .fleet-compatibility__row > div:nth-child(even) { border-right: 0; }
    .fleet-compatibility__row > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
    .fleet-compatibility__row > div:last-child { border-bottom: 0; }
}

/* Fleet supporting SEO / booking-detail sections */
.fleet-services-section { background: var(--bg-secondary); border-top: 1px solid var(--border); }
.fleet-services-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: start; }
.fleet-services-layout h2,
.vehicle-booking-detail h2 { margin-bottom: 22px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.fleet-services-layout > div:first-child p:not(.section-eyebrow),
.vehicle-booking-detail__inner > div:last-child p { color: var(--text-secondary); }
.fleet-services-links { border-top: 1px solid var(--border); }
.fleet-services-links a { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--border); }
.fleet-services-links a > span { grid-row: 1 / 3; color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.fleet-services-links strong { font-size: 15px; font-weight: 600; }
.fleet-services-links small { color: var(--light-text); font-size: 12px; }
.vehicle-booking-detail { background: var(--bg-secondary); }
.vehicle-booking-detail__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; }
.vehicle-booking-detail__inner > div:last-child p:last-child { margin-bottom: 0; }
@media (max-width: 991.98px) {
    .fleet-services-layout,
    .vehicle-booking-detail__inner { grid-template-columns: 1fr; gap: 0px; }
}

/* =========================================================
   SERVICES — GLOBAL
========================================================= */
/* Navigation refinements for Services + Fleet mega menus */
.services-mega__grid {
    grid-template-columns: .8fr .8fr .8fr .8fr  1.28fr;
    gap: 28px;
}
.services-mega__feature { grid-template-columns: 170px 1fr; }
.mega-feature__actions { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.fleet-mega__grid {
    display: grid;
    grid-template-columns: .9fr .9fr .9fr 1.35fr;
    gap: 34px;
    padding-block: 32px;
    align-items: stretch;
}
.fleet-mega__cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--border);
    background: var(--bg-section);
    padding: 24px;
}
.fleet-mega__cta p:not(.mega-title) { color: var(--text-muted); font-size: 13px; line-height: 1.65; }
.fleet-mega__cta .btn-premium { align-self: flex-start; margin-top: 8px; }

/* Internal service hero */
.service-hero .internal-hero__media img { object-position: center 50%; }
.page-service-wedding .service-hero .internal-hero__media img { object-position: center 56%; }
.page-service-prom .service-hero .internal-hero__media img { object-position: center 48%; }
.page-service-private-aviation .service-hero .internal-hero__media img { object-position: center 44%; }
.service-hero__note { max-width: 720px; margin-top: 20px; color: var(--text-muted); font-size: 12px; line-height: 1.65; }

/* Services Overview */
.services-overview-intro { background: var(--bg-secondary); }
.services-core-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;  }
.services-core-card { display: flex; min-height: 350px; flex-direction: column; background: var(--bg-secondary); }
.services-core-card__media {  overflow: hidden; }
.services-core-card__media img { width: 100%; height: 200px;  object-fit: cover; transition: transform 550ms var(--ease-luxury); }
.services-core-card:hover .services-core-card__media img { transform: scale(1.035); }
.services-core-card__body { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.services-core-card__body > span { color: var(--accent-secondary); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.services-core-card h3 { margin: 9px 0 12px; font-size: 19px; font-weight: 600; }
.services-core-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.72; }
.services-core-card a { margin-top: auto; }
.service-group-band { background: var(--bg-primary); color: var(--text-primary); }
.service-group-band--ivory { background: var(--bg-secondary); color: var(--text-primary); }
.service-group-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.service-group-band--ivory .service-group-grid { border-color: var(--border); }
.service-group-card { min-height: 255px; display: flex; flex-direction: column; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px; }
.service-group-band--ivory .service-group-card { border-color: var(--border); background: rgba(255,255,255,.35); }
.service-group-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.service-group-card h3 { margin: 44px 0 12px; color: inherit; font-size: 18px; font-weight: 600; }
.service-group-card p { margin-bottom: 24px; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.service-group-band--ivory .service-group-card p { color: var(--text-secondary); }
.service-group-card a { margin-top: auto; }
/* =========================================================
   PREMIUM SERVICE CHOICE
========================================================= */

.service-choice-guide {
    background: linear-gradient(135deg, #070707 0%, #15120d 50%, #080808 100%) !important;
}

.service-choice-layout {
    background: #101010 !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .45) !important;
}

.service-choice-guide .section-eyebrow {
    color: var(--accent-primary) !important;
}

.service-choice-guide h2,.service-choice-guide p {
    color: #fff !important;
}

.service-choice-guide > .container > .service-choice-layout > .reveal:first-child > p:not(.section-eyebrow) {
    color: #b9b9b9 !important;
}

.service-choice-list {
    background: transparent !important;
}

.service-choice-row {
    background: linear-gradient(135deg, #191919, #101010) !important;
    border: 1px solid #292929 !important;
    color: #fff !important;
}

.service-choice-row strong {
    color: #f5f5f5 !important;
}

.service-choice-row span {
    color: #a9a9a9 !important;
}

.service-choice-row:hover {
    background: linear-gradient(135deg, #211a11, #121212) !important;
    border-color: rgba(255, 143, 0, .5) !important;
}

.service-choice-row:hover strong {
    color: var(--accent-primary) !important;
}
.service-choice-guide .reveal.is-visible{
    position: sticky;
    top: 0;
}
.service-choice-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start;  position: relative;}
.service-choice-list { border-top: 1px solid var(--border); }
.service-choice-row { display: grid; grid-template-columns: 155px 1fr; gap: 22px; padding: 22px; border-bottom: 1px solid var(--border); }

.service-choice-row strong { font-size: 14px; }
.service-choice-row span { color: var(--light-text); font-size: 13px; line-height: 1.65; }
.service-fleet-preview { background: var(--bg-secondary); }
.service-fleet-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px;  }
.service-fleet-card { background: var(--bg-secondary); }
.service-fleet-card__media { aspect-ratio: 16/10; overflow: hidden; }
.service-fleet-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--ease-luxury); }
.service-fleet-card:hover img { transform: scale(1.035); }
.service-fleet-card__body { padding: 22px; }
.service-fleet-card__body > span { color: var(--accent-secondary); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-fleet-card h3 { margin: 7px 0 18px; font-size: 17px; font-weight: 600; }

/* Shared service page modules */
.service-intro { background: var(--bg-secondary); }
.service-intro-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.service-intro-layout h2 { font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.service-intro-copy p { color: var(--text-secondary); }
.service-feature-section { background: var(--bg-secondary); }
.service-feature-section--dark { background: var(--bg-primary); color: var(--text-primary); }
.service-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.service-feature-section--dark .service-feature-grid { border-color: var(--border); }
.service-feature-card {  display: flex; flex-direction: column; border: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px; }
.service-feature-section--dark .service-feature-card { border-color: var(--border); background: var(--bg-secondary); }
.service-feature-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.service-feature-card h3 { margin:  12px 0; font-size: 18px; font-weight: 600; }
.service-feature-card p { margin: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.72; }
.service-feature-section--dark .service-feature-card p { color: var(--text-secondary); }
.service-editorial-split { background: var(--bg-primary); color: var(--text-primary); }
.service-editorial-split--light { background: var(--bg-secondary); color: var(--text-primary); }
.service-editorial-layout { display: grid; grid-template-columns: 1fr 1fr; min-height: 540px; }
.service-editorial-media { min-height: 520px; overflow: hidden; }
.service-editorial-media img { width: 100%; height: 100%; object-fit: cover; }
.service-editorial-copy { display: flex; flex-direction: column; justify-content: center; padding:  clamp(20px,2.5vw,40px); }
.service-editorial-copy h2 { margin-bottom: 20px; font-size: clamp(30px,3vw,38px); font-weight: 600; }
.service-editorial-copy p { color: var(--text-secondary); }
.service-editorial-split--light .service-editorial-copy p { color: var(--text-secondary); }
.service-compact-list { display: grid; gap: 0; margin-top: 20px; border-top: 1px solid currentColor; border-color: rgba(255,255,255,.15); }
.service-editorial-split--light .service-compact-list { border-color: var(--border); }
.service-compact-list div { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.service-editorial-split--light .service-compact-list div { border-color: var(--border); }
.service-compact-list span { color: var(--accent-primary); font-size: 10px; font-weight: 700; }
.service-compact-list b { font-size: 13px; font-weight: 500; }
.service-process-section { background: var(--bg-secondary); }
.service-process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.service-process-step {  border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 18px; }
.service-process-step > span { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.service-process-step h3 { margin:  12px 0; font-size: 17px; font-weight: 600; }
.service-process-step p { color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.service-route-section { background: var(--bg-secondary); }
.service-route-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; border: 1px solid var(--border); background: var(--border); }
.service-route-card { background: var(--bg-secondary); padding: 18px;  }
.service-route-card > span { color: var(--accent-secondary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.service-route-card h3 { margin:   10px 0; font-size: 18px; font-weight: 600; }
.service-route-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.service-info-band { background: var(--bg-secondary); color: var(--text-primary); }
.service-info-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.service-info-layout h2 { font-size: clamp(30px,3vw,38px); }
.service-info-layout p { color: var(--text-secondary); }
.service-info-points { border-top: 1px solid var(--border); }
.service-info-points div { padding: 18px 0; border-bottom: 1px solid var(--border); }
.service-info-points b { display: block; margin-bottom: 5px; font-size: 14px; }
.service-info-points span { color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.service-notice { margin-top: 24px; border-left: 2px solid var(--accent-primary); background: rgba(255,143,0,.07); padding: 16px 18px; color: inherit; font-size: 12px; line-height: 1.7; }
.service-related { background: var(--bg-secondary); }
.service-faq { background: var(--bg-secondary); }
.service-final-cta { border-top: 1px solid var(--border); }
.service-page .section-heading { max-width: 790px; }

/* Service-specific tonal variations */
.page-service-wedding .service-intro,
.page-service-wedding .service-process-section { background: var(--bg-section); }
.page-service-prom .service-feature-section--dark { background: var(--bg-secondary); }
.page-service-private-aviation .service-editorial-split { background: var(--bg-secondary); }
.page-service-executive .service-feature-section--dark { background: var(--bg-secondary); }

/* Service Responsive */
@media (max-width: 1199.98px) {
    .services-mega__grid { gap: 18px; }
    .services-mega__feature { grid-template-columns: 1fr; }
    .services-mega__feature img { max-height: 105px; }
    .service-group-grid { grid-template-columns: repeat(2,1fr); }
    .service-fleet-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 991.98px) {
    .service-intro-layout,
    .service-choice-layout,
    .service-info-layout { grid-template-columns: 1fr; gap: 0px; }
    .service-editorial-layout { grid-template-columns: 1fr; }
    .service-editorial-media { min-height: 0; aspect-ratio: 16/9; }
    .service-editorial-copy { padding: 54px 36px; }
    .service-process-grid { grid-template-columns: repeat(2,1fr); }
    .service-feature-grid { grid-template-columns: repeat(2,1fr); }
    .service-route-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 767.98px) {
    .services-core-grid,
    .service-feature-grid,
    .service-route-grid,
    .service-fleet-grid { grid-template-columns: 1fr; }
    .service-group-grid,
    .service-process-grid { grid-template-columns: 1fr; }
    .service-group-card,
    .service-process-step,
    .service-feature-card { min-height: 205px; }
    .service-group-card h3,
    .service-process-step h3,
    .service-feature-card h3 { margin-top: 34px; }
    .service-choice-row { grid-template-columns: 1fr; gap: 8px; }
    .service-editorial-copy { padding: 46px 24px; }
}

/* =========================================================
   AIRPORT PAGES — GLOBAL
========================================================= */
/* Airports mega menu */
.airports-mega__grid {
    grid-template-columns: .78fr .82fr .82fr .82fr 1.35fr;
    gap: 28px;
}
.airports-mega__feature { grid-template-columns: 180px 1fr; }

/* Airport Hero */
.airport-hero-detail {
    position: relative;
    min-height: 610px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--bg-primary);
    color: var(--text-primary);
    isolation: isolate;
    padding-top: var(--header-height);
}
.airport-hero-detail__media,
.airport-hero-detail__overlay { position: absolute; inset: 0; }
.airport-hero-detail__media { z-index: -3; }
.airport-hero-detail__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.airport-hero-detail__overlay {
    z-index: -2;
    background: linear-gradient(90deg, rgba(7,7,9,.97) 0%, rgba(7,7,9,.86) 43%, rgba(7,7,9,.38) 72%, rgba(7,7,9,.62) 100%), linear-gradient(0deg, rgba(13,13,15,.52), rgba(13,13,15,.05));
}
.airport-hero-detail__content { padding-block: 90px 76px; }
.airport-hero-detail h1 { max-width: 830px; margin: 0 0 20px; font-size: clamp(46px, 5vw, 58px); line-height: 1.08; font-weight: 600; }
.airport-hero-detail__intro { max-width: 760px; margin-bottom: 28px; color: var(--text-muted); font-size: 17px; line-height: 1.75; }
.airport-hero-detail__facts { display: flex; flex-wrap: wrap; gap: 0; margin-top: 36px; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); width: fit-content; max-width: 100%; }
.airport-hero-detail__facts span { min-height: 46px; display: inline-flex; align-items: center; padding: 0 20px; border-right: 1px solid rgba(255,255,255,.14); color: var(--text-muted); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.airport-hero-detail__facts span:first-child { color: var(--accent-primary); font-weight: 700; }
.airport-hero-detail__facts span:last-child { border-right: 0; }

/* Airport Quick Quote */
.airport-quick-quote-wrap { position: relative; z-index: 5; margin-top: -34px; }
.airport-quick-quote {
    display: grid;
    grid-template-columns: .85fr 1.08fr 1.18fr .78fr .92fr .7fr auto;
    align-items: end;
    gap: 10px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    padding: 18px;
    box-shadow: 0 12px 40px rgba(0,0,0,.2);
}
.airport-quick-quote > div { min-width: 0; }
.airport-quick-quote label { display: block; margin-bottom: 7px; color: var(--text-muted); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.airport-quick-quote input,
.airport-quick-quote select {
    width: 100%;
    height: 48px;
    border: 1px solid var(--bg-section);
    border-radius: 2px;
    outline: 0;
    background: var(--bg-secondary);
    color: var(--text-primary);
    padding: 0 12px;
    font-family: var(--font-primary);
    font-size: 14px;
}
.airport-quick-quote input:focus,
.airport-quick-quote select:focus { border-color: var(--accent-primary); box-shadow: 0 0 0 2px rgba(255,143,0,.12); }
.airport-quick-quote .btn-premium { height: 48px; white-space: nowrap; }
.airport-field-wrap { position: relative; }
.airport-suggestions { position: absolute; top: calc(100% + 4px); left: 0; width: 100%; z-index: 50; border: 1px solid var(--border); background: var(--bg-secondary); }

/* Airport intro */
.airport-intro-detail { background: var(--bg-secondary); }
.airport-intro-detail__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 86px; align-items: start; }
.airport-intro-detail h2 { font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-profile { margin-top: 22px; color: var(--text-secondary); font-family: var(--font-editorial); font-size: 20px; line-height: 1.65; }
.airport-intro-detail__copy p { color: var(--text-secondary); }

/* Airport Process */
.airport-process-detail { background: var(--bg-primary) !important; }
.airport-process-detail .section-heading *{color:var(--text-primary) !important;}
.airport-process-detail .airport-process-step *{color: var(--text-primary) !important;}

.airport-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.airport-process-step {  border: 1px solid var(--border); padding: 18px; }
.airport-process-step > span { color: var(--accent-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.airport-process-step h3 { margin:22px 0; font-size: 17px; font-weight: 600; }
.airport-process-step p { margin: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.72; }

/* Departure */
.airport-departure-detail { background: var(--bg-secondary); }
.airport-departure-detail__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; }
.airport-departure-detail__media { min-height: 480px; overflow: hidden; background: var(--bg-primary);border-radius: 15px; }
.airport-departure-detail__media img { width: 100%; height: 100%; min-height: 480px;  object-fit: cover; }
.airport-departure-detail__copy h2 { font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-departure-detail__copy > p:not(.section-eyebrow) { color: var(--text-secondary); }
.airport-practical-list { margin-top: 26px; border-top: 1px solid var(--border); }
.airport-practical-list > div { display: grid; grid-template-columns: 160px 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--border); }
.airport-practical-list b { font-size: 13px; }
.airport-practical-list span { color: var(--light-text); font-size: 12px; line-height: 1.65; }

/* Flight / Access planning */
.airport-flight-band { background: var(--bg-secondary); color: var(--text-primary); padding: 78px 0; }
.airport-flight-band__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 84px; }
.airport-flight-band h2 { margin: 0; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-flight-band p { color: var(--text-muted); }
.airport-flight-band p:last-child { margin-bottom: 0; }

/* Airport-specific editorial modules */
.airport-special-detail { background: var(--bg-secondary); }
.airport-special-detail--dark { background: var(--bg-primary); color: var(--text-primary); }
.airport-special-detail__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 84px; align-items: start; }
.airport-special-detail h2 { margin-bottom: 24px; font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-special-detail p { color: var(--text-secondary); }
.airport-special-detail--dark p { color: var(--text-secondary); }
.airport-special-detail:nth-child(even){background: var(--light-page) !important;}
.airport-special-detail:nth-child(even) h2, .airport-special-detail:nth-child(even) p{color: var(--bg-primary) ;}
/* Routes */
.airport-routes-detail { background: var(--bg-secondary) !important; }
.airport-routes-detail .airport-route-card { background: var(--bg-secondary); }
.airport-routes-detail .airport-route-card p { margin: 14px 0 18px; color: var(--text-secondary); font-size: 12px; line-height: 1.65; }
.airport-routes-detail .section-heading *{color: var(--light-page) !important;}
/* Passenger / luggage */
.airport-luggage-detail { background: var(--bg-secondary); }
.airport-luggage-detail__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 80px; align-items: start; }
.airport-luggage-detail h2 { font-size: clamp(30px, 3vw, 38px); font-weight: 600; }
.airport-luggage-detail p { color: var(--text-secondary); }
.airport-luggage-detail__items { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.airport-luggage-detail__items span {display: flex; align-items: center; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 18px; font-size: 13px; font-weight: 500; }
.airport-luggage-detail__items span::before { content: '→'; margin-right: 12px; color: var(--accent-primary); }

/* Airport fleet */
.airport-fleet-detail { background: var(--bg-primary); color: var(--text-primary); }
.airport-fleet-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.airport-fleet-card { display: flex; flex-direction: column; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 27px; color: var(--text-primary); transition: background var(--transition), transform var(--transition); }
.airport-fleet-card:hover { background: var(--bg-section); color: var(--text-primary); transform: translateY(-2px); }
.airport-fleet-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.airport-fleet-card h3 { margin:  20px 0; font-size: 18px; font-weight: 600; }
.airport-fleet-card p { margin: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }

/* Related airports */
.airport-related-detail { background: var(--bg-secondary); }
.airport-related-actions { display: flex; flex-wrap: wrap; gap: 24px 36px; margin-top: 28px; }

/* Private aviation and RAF Northolt */
.page-farnborough .airport-hero-detail__overlay,
.page-biggin-hill .airport-hero-detail__overlay,
.page-raf-northolt .airport-hero-detail__overlay { background: linear-gradient(90deg, rgba(7,7,9,.98) 0%, rgba(7,7,9,.89) 48%, rgba(7,7,9,.42) 78%, rgba(7,7,9,.7) 100%); }
.airport-access-alert { background: var(--bg-section); }
.airport-access-alert__card { border: 1px solid var(--bg-section); border-left: 4px solid var(--accent-primary); background: var(--bg-section); padding: 34px; }
.airport-access-alert__card h2 { font-size: clamp(28px, 3vw, 36px); font-weight: 600; }
.airport-access-alert__card p { color: var(--text-secondary); }
.airport-access-alert__card p:last-child { margin-bottom: 0; }

/* Airport FAQ / CTA */
.airport-faq-detail { background: var(--bg-secondary); }
.airport-final-cta { border-top: 1px solid var(--border); }

/* Airport Responsive */
@media (max-width: 1399.98px) {
    .airports-mega__grid { gap: 20px; }
    .airports-mega__feature { grid-template-columns: 1fr; }
    .airports-mega__feature img { max-height: 105px; }
    .airport-quick-quote { grid-template-columns: 1fr 1fr 1.2fr .8fr; }
    .airport-quick-quote .btn-premium { width: 100%; }
}
@media (max-width: 1199.98px) {
    .airport-hero-detail { min-height: 570px; }
    .airport-quick-quote { grid-template-columns: repeat(3, 1fr); }
    .airport-fleet-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991.98px) {
    .airport-hero-detail { min-height: 520px; }
    .airport-hero-detail__content { padding-block: 82px 70px; }
    .airport-intro-detail__grid,
    .airport-departure-detail__grid,
    .airport-flight-band__grid,
    .airport-special-detail__grid,
    .airport-luggage-detail__grid { grid-template-columns: 1fr; gap: 42px; }
    .airport-process-grid { grid-template-columns: repeat(2, 1fr); }
    .airport-departure-detail__media,
    .airport-departure-detail__media img { min-height: 0; }
    .airport-departure-detail__media { aspect-ratio: 16/10; }
}
@media (max-width: 767.98px) {
    .airport-hero-detail { min-height: 0; padding-top: var(--header-height); }
    .airport-hero-detail__content { padding-block: 62px 82px; }
    .airport-hero-detail h1 { font-size: clamp(34px, 10vw, 40px); }
    .airport-hero-detail__intro { font-size: 15px; }
    .airport-hero-detail__facts { width: 100%; }
    .airport-hero-detail__facts span { width: 100%; padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .airport-hero-detail__facts span:last-child { border-bottom: 0; }
    .airport-quick-quote-wrap { margin-top: 0; background: var(--bg-secondary); }
    .airport-quick-quote { grid-template-columns: 1fr; border-left: 0; border-right: 0; padding: 24px 0; box-shadow: none; }
    .airport-quick-quote input,
    .airport-quick-quote select { font-size: 16px; }
    .airport-process-grid,
    .airport-fleet-grid,
    .airport-luggage-detail__items { grid-template-columns: 1fr; }
    .airport-process-step,
    .airport-fleet-card { min-height: 205px; }
    .airport-process-step h3,
    .airport-fleet-card h3 { margin-top: 34px; }
    .airport-practical-list > div { grid-template-columns: 1fr; gap: 5px; }
    .airport-flight-band { padding: 62px 0; }
}


/* =========================================================
   PRIVATE TOURS — GLOBAL
========================================================= */
/* Private Tours mega menu */
.tours-mega__grid { display:grid; grid-template-columns: .9fr .9fr .9fr .9fr 1.35fr; gap:30px; padding-block:32px; }
.tours-mega__feature { grid-template-columns: 145px 1fr; }
.tours-mega__sub { margin-top:20px; }

/* Private Tours Hero */
.tour-hero { position:relative; min-height:610px; display:flex; align-items:center; overflow:hidden; padding-top:var(--header-height); background:var(--bg-primary); color:var(--text-primary); isolation:isolate; }
.tour-hero__media,.tour-hero__overlay { position:absolute; inset:0; }
.tour-hero__media { z-index:-3; }
.tour-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.tour-hero__overlay { z-index:-2; background:linear-gradient(90deg,rgba(7,7,9,.97) 0%,rgba(7,7,9,.84) 45%,rgba(7,7,9,.32) 75%,rgba(7,7,9,.52) 100%),linear-gradient(0deg,rgba(13,13,15,.58),rgba(13,13,15,.04)); }
.tour-hero--route .tour-hero__overlay { background:linear-gradient(90deg,rgba(7,7,9,.98) 0%,rgba(7,7,9,.88) 48%,rgba(7,7,9,.38) 80%); }
.tour-hero__content { padding-block:92px 76px; }
.tour-hero h1 { max-width:900px; margin:0 0 20px; font-size:clamp(46px,5vw,58px); line-height:1.07; font-weight:600; }
.tour-hero__intro { max-width:760px; margin-bottom:28px; color:var(--text-muted); font-size:17px; line-height:1.75; }
.tour-hero__profile { max-width:790px; margin:34px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:var(--text-muted); font-family:var(--font-editorial); font-size:17px; line-height:1.6; }

/* Destination Intro */
.tour-planning,.tour-related,.tour-destination-collection,.tour-from-london,.tour-collection-options { background:var(--bg-secondary); }
.tour-editorial-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:46px; align-items:start; }
.tour-editorial-grid h2,.tour-editorial-image h2 { font-size:clamp(30px,3vw,38px); font-weight:600; }
.tour-editorial-grid h2 {
    margin-bottom: 20px;
}
.tour-prose p { color:var(--text-secondary); line-height:1.85; }
.tour-guide-note,.tour-practical-note { margin-top:28px; border-left:3px solid var(--accent-primary); background:var(--bg-section); padding:20px 22px; color:var(--text-secondary); font-size:13px; line-height:1.75; }

/* Destination Highlights */
.tour-highlights { background:var(--bg-secondary); }
.tour-highlights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap: 15px;  }
.tour-highlight-card {  border:1px solid var(--border);  padding:20px; }
.tour-highlight-card > span { color:var(--accent-primary); font-size:11px; font-weight:700; letter-spacing:.12em; }
.tour-highlight-card h3 { margin:20px 0; font-size:18px; font-weight:600; }
.tour-highlight-card p { margin:0; color:var(--text-secondary); font-size:12px; line-height:1.7; }

/* Tour Itinerary */
.tour-itinerary { background:var(--bg-secondary); color:var(--text-primary); position: relative; overflow: visible !important;}
.tour-itinerary__layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:86px; align-items:start; overflow: visible !important; }
.tour-itinerary__intro { position:sticky; top:110px; }
.tour-itinerary__intro h2 { font-size:clamp(30px,3vw,38px); font-weight:600; }
.tour-itinerary__intro p:not(.section-eyebrow) { color:var(--text-muted); }
.tour-itinerary__timeline { position:relative; }
.tour-itinerary__timeline::before { content:""; position:absolute; left:19px; top:20px; bottom:20px; width:1px; background:rgba(255,143,0,.46); }
.tour-itinerary__item { position:relative; display:grid; grid-template-columns:40px 1fr; gap:24px; padding:0 0 38px; }
.tour-itinerary__marker { position:relative; z-index:1; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--accent-primary); background:var(--bg-secondary); color:var(--accent-primary); font-size:10px; font-weight:700; }
.tour-itinerary__item h3 { margin:1px 0 8px; font-size:17px; font-weight:600; }
.tour-itinerary__item p { margin:0; color:var(--text-muted); font-size:13px; line-height:1.72; }

/* Editorial image */
.tour-editorial-image { background:var(--bg-secondary); }
.tour-editorial-image__grid { display:grid; grid-template-columns:1.06fr .94fr; gap:76px; align-items:center; }
.tour-editorial-image__media { min-height:500px; overflow:hidden; border-radius: 15px; background:var(--bg-primary); }
.tour-editorial-image__media img { width:100%; height:100%; min-height:500px; object-fit:cover; }
.tour-editorial-image__copy > p:not(.section-eyebrow) { color:var(--text-secondary); line-height:1.82; }

/* Tour Collection Options */
.tour-collection .section-heading *{ color: var(--bg-primary) !important;}
.tour-collection-grid { display:grid; grid-template-columns:repeat(3,1fr);gap: 15px; }
.tour-collection-card { background:var(--bg-secondary); padding:20px; }
.tour-collection-card > span { color:var(--accent-secondary); font-size:10px; font-weight:700; letter-spacing:.12em; }
.tour-collection-card h3 { margin:15px 0; font-size:18px; font-weight:600; }
.tour-collection-card p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.7; }

.tour-service-link-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px;padding-top:20px;border-top:1px solid var(--border)}
.tour-service-link-row a{color:var(--accent-secondary);font-size:12px;font-weight:600}
.tour-service-link-row a:hover{color:var(--text-primary)}

/* Tour Fleet */
.tour-fleet { background:var(--bg-primary); color:var(--text-primary); }
.tour-fleet-grid { display:grid; grid-template-columns:repeat(4,1fr); gap: 15px;}
.tour-fleet-card {  display:flex; flex-direction:column; border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px; color:var(--text-primary); }
.tour-fleet-card:hover { background:var(--bg-section); color:var(--text-primary); }
.tour-fleet-card > span { color:var(--accent-primary); font-size:10px; font-weight:700; letter-spacing:.12em; }
.tour-fleet-card h3 { margin: 20px 0; font-size:18px; font-weight:600; }
.tour-fleet-card p { color:var(--text-secondary); font-size:13px; line-height:1.7; }
.tour-fleet-card b { color:var(--accent-primary); font-size:12px; font-weight:600; }
.tour-fleet-disclaimer { margin:22px 0 0; color:var(--text-muted); font-size:11px; }

/* Related Tours */
.tour-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px;  }
.tour-related-card { display:flex; flex-direction:column; background:var(--bg-secondary); padding:28px; color:var(--text-primary); }
.tour-related-card > span { color:var(--accent-secondary); font-size:10px; font-weight:700; letter-spacing:.12em; }
.tour-related-card h3 { margin:20px 0; font-size:19px; }
.tour-related-card p { color:var(--text-secondary); font-size:13px; line-height:1.7; }
.tour-related-card b {  color:var(--accent-secondary); font-size:12px; }

/* Hub destination collection */
.tour-destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tour-destination-card { overflow:hidden; border:1px solid var(--border); background:var(--bg-secondary); color:var(--text-primary); }
.tour-destination-card__media { aspect-ratio:16/10; overflow:hidden; }
.tour-destination-card__media img { width:100%; height:100%; object-fit:cover; transition:transform 550ms var(--ease-luxury); }
.tour-destination-card:hover img { transform:scale(1.035); }
.tour-destination-card__body { padding:24px; }
.tour-destination-card__body > span { color:var(--accent-secondary); font-size:10px; font-weight:700; letter-spacing:.12em; }
.tour-destination-card h3 { margin:12px 0; font-size:20px; }
.tour-destination-card p { color:var(--text-secondary); font-size:13px; line-height:1.7; }
.tour-destination-card b { color:var(--accent-secondary); font-size:12px; }

/* Combined tours + from London */
.tour-combined-hub { background:var(--bg-secondary); color:var(--text-primary); }
.tour-combined-grid,.tour-from-london-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.tour-combined-grid a { min-height:280px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:28px; color:var(--text-primary); }
.tour-combined-grid span,.tour-from-london-grid span { color:var(--accent-primary); font-size:10px; font-weight:700; letter-spacing:.12em; }
.tour-combined-grid h3,.tour-from-london-grid h3 { margin:54px 0 12px; font-size:20px; }
.tour-combined-grid p { color:var(--text-muted); font-size:13px; line-height:1.7; }
.tour-from-london-grid { border-color:var(--border); }
.tour-from-london-grid a { min-height:250px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-secondary); padding:28px; color:var(--text-primary); }
.tour-from-london-grid p { color:var(--text-secondary); font-size:13px; line-height:1.7; }

/* How touring works */
.tour-how { background:var(--bg-secondary); }
.tour-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap: 15px;}
.tour-process-grid article {  border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:20px; }
.tour-process-grid span { color:var(--accent-primary); font-size:11px; font-weight:700; }
.tour-process-grid h3 { margin:44px 0 12px; font-size:17px; }
.tour-process-grid p { color:var(--text-secondary); font-size:13px; line-height:1.7; }

/* FAQ / CTA */
.tour-faq { background:var(--bg-secondary); }
.tour-faq .faq-intro{position: sticky; top: 100px;}
.tour-faq .faq-intro *{color: var(--light-page) !important;}
.tour-final-cta { border-top:1px solid var(--border); }

/* Private Tours Responsive */
@media (max-width:1399.98px){ .tours-mega__grid{gap:20px}.tours-mega__feature{grid-template-columns:1fr}.tours-mega__feature img{max-height:105px} }
@media (max-width:1199.98px){ .tour-destination-grid{grid-template-columns:repeat(2,1fr)}.tour-fleet-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:991.98px){ .tour-hero{min-height:520px}.tour-hero__content{padding-block:82px 68px}.tour-editorial-grid,.tour-itinerary__layout,.tour-editorial-image__grid{grid-template-columns:1fr;gap:20px}.tour-itinerary__intro{position:static}.tour-editorial-image__media,.tour-editorial-image__media img{min-height:0}.tour-highlight-card{min-height:215px}.tour-collection-grid,.tour-related-grid,.tour-combined-grid,.tour-from-london-grid{grid-template-columns:1fr 1fr}.tour-process-grid{grid-template-columns:repeat(2,1fr)} 
.tour-faq .faq-intro{
  position: static;
}
}
@media (max-width:767.98px){ .tour-hero{min-height:0;align-items:flex-end}.tour-hero__content{padding-block:96px 58px}.tour-hero h1{font-size:clamp(34px,10vw,40px)}.tour-hero__intro{font-size:15px}.tour-hero__profile{font-size:15px}.tour-highlights-grid,.tour-collection-grid,.tour-related-grid,.tour-destination-grid,.tour-combined-grid,.tour-from-london-grid,.tour-fleet-grid,.tour-process-grid{grid-template-columns:1fr}.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-combined-grid a,.tour-from-london-grid a,.tour-fleet-card,.tour-process-grid article{min-height:200px}.tour-highlight-card h3,.tour-collection-card h3,.tour-related-card h3,.tour-combined-grid h3,.tour-from-london-grid h3,.tour-fleet-card h3,.tour-process-grid h3{margin-top:32px}.tour-itinerary__item{gap:18px}.tour-guide-note,.tour-practical-note{padding:18px} }


/* =========================================================
   GUIDES — GLOBAL
========================================================= */

/* Guide Hero */
.guide-hero{position:relative;min-height:500px;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}
.guide-hero__media,.guide-hero__overlay{position:absolute;inset:0}.guide-hero__media img{width:100%;height:100%;object-fit:cover}.guide-hero__overlay{background:linear-gradient(90deg,rgba(13,13,15,.96) 0%,rgba(13,13,15,.82) 46%,rgba(13,13,15,.42) 100%)}
.guide-hero__content{position:relative;z-index:2;padding-block:108px 66px}.guide-hero h1{max-width:920px;margin:16px 0 20px;font-size:clamp(44px,5vw,54px);font-weight:600;line-height:1.08}.guide-hero__lead{max-width:820px;margin:0;color:var(--text-muted);font-size:18px;line-height:1.75}
.guide-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);color:var(--text-muted);font-size:12px}.guide-meta span+span{position:relative}.guide-meta span+span:before{content:"";position:absolute;left:-15px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--accent-primary)}

/* Guide Article Layout */
.guide-opening{background:var(--bg-secondary)}.guide-layout{display:grid;grid-template-columns:250px minmax(0,820px);gap:72px;justify-content:center;align-items:start}.guide-side{position:sticky;top:110px}.guide-content{min-width:0}.guide-content p{color:var(--text-secondary);font-size:16px;line-height:1.82}.guide-section{padding:0 0 48px;margin:0 0 46px;border-bottom:1px solid var(--border);scroll-margin-top:108px}.guide-section h2{margin:0 0 20px;font-size:clamp(28px,3vw,34px);font-weight:600}.guide-section h3{font-size:20px}.guide-section p:last-child{margin-bottom:0}

/* Table of Contents */
.guide-toc{border-top:2px solid var(--accent-primary);border-bottom:1px solid var(--border);padding:18px 0}.guide-toc summary{cursor:pointer;list-style:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.guide-toc summary::-webkit-details-marker{display:none}.guide-toc nav{display:flex;flex-direction:column;gap:11px;margin-top:18px}.guide-toc a{color:var(--text-secondary);font-size:12px;line-height:1.45}.guide-toc a:hover{color:var(--accent-secondary)}

/* Guide Callouts */
.guide-callout{margin-bottom:44px;padding:24px 26px}.guide-callout>span,.guide-inline-cta>span{display:block;margin-bottom:10px;color:var(--accent-primary);font-size:10px;font-weight:700;letter-spacing:.12em}.guide-callout p{margin:0!important}.guide-callout--key{background:var(--bg-secondary)}.guide-callout--key p{color:var(--text-secondary);font-size:16px;line-height:1.75}.guide-callout--important{border:1px solid var(--border);border-left:3px solid var(--accent-primary);background:var(--bg-section)}.guide-callout--important p{color:var(--text-secondary)}.guide-callout--important a{color:var(--accent-secondary);text-decoration:underline;text-underline-offset:3px}.guide-callout--important a:hover{color:var(--text-primary)}
.guide-inline-cta{margin-top:26px;padding:20px 22px;border-left:2px solid var(--accent-primary);background:var(--bg-secondary)}.guide-inline-cta p{margin:0 0 10px!important;font-size:13px}.guide-inline-cta a{color:var(--accent-secondary);font-size:12px;font-weight:700}

/* Guide Tables */
.guide-table-wrap{overflow-x:auto;border:1px solid var(--border)}.guide-table{width:100%;min-width:680px;border-collapse:collapse;background:var(--bg-secondary);font-size:12px}.guide-table th,.guide-table td{padding:15px 16px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.55}.guide-table thead th{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.guide-table tbody th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary)}.guide-table td{color:var(--text-secondary)}

/* Guide Steps & Mistakes */
.guide-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.guide-steps li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}.guide-steps span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent-primary);color:var(--accent-secondary);font-size:10px;font-weight:700}.guide-steps p{margin:8px 0 0!important;color:var(--text-secondary)!important;font-weight:500}.guide-mistakes{display:grid;gap:10px}.guide-mistakes>div{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:14px 16px;background:var(--bg-section);border:1px solid var(--border)}.guide-mistakes span{color:var(--accent-secondary);font-size:20px;line-height:1}.guide-mistakes p{margin:0!important;font-size:14px}

/* Guide Commercial CTA */
.guide-commercial-cta{background:var(--bg-secondary);color:var(--text-primary);padding:52px 0}.guide-commercial-cta__inner{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center}.guide-commercial-cta h2{margin:6px 0 10px;font-size:clamp(28px,3vw,36px)}.guide-commercial-cta p{max-width:760px;margin:0;color:var(--text-muted);line-height:1.75}.guide-commercial-cta .btn-premium{white-space:nowrap}

/* Related Guides */
.guide-related,.guide-hub-intro{background:var(--bg-secondary)}.guide-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--border);background:var(--border)}.guide-related-card{min-height:245px;display:flex;flex-direction:column;background:var(--bg-secondary);padding:28px;color:var(--text-primary)}.guide-related-card>span,.guide-hub-card>span{color:var(--accent-secondary);font-size:10px;font-weight:700;letter-spacing:.12em}.guide-related-card h3{margin:42px 0 12px;font-size:19px}.guide-related-card p{color:var(--text-secondary);font-size:13px;line-height:1.7}.guide-related-card b{margin-top:auto;color:var(--accent-secondary);font-size:12px}.guide-faq{background:var(--bg-secondary)}

/* Guide Hub */
.guide-editorial-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:86px}.guide-editorial-intro h2{font-size:clamp(30px,3vw,38px)}.guide-prose p{color:var(--text-secondary);line-height:1.85}.guide-hub-list{background:var(--bg-secondary)}.guide-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--border);background:var(--border)}.guide-hub-card{min-height:300px;display:flex;flex-direction:column;background:var(--bg-secondary);padding:28px;color:var(--text-primary)}.guide-hub-card h3{margin:46px 0 12px;font-size:19px}.guide-hub-card p{color:var(--text-secondary);font-size:13px;line-height:1.72}.guide-hub-card b{margin-top:auto;color:var(--accent-secondary);font-size:12px}

/* Guide Responsive */
@media (max-width:1199.98px){.guide-layout{grid-template-columns:220px minmax(0,760px);gap:44px}.guide-hub-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:991.98px){.guide-hero{min-height:460px}.guide-hero__content{padding-block:92px 58px}.guide-layout{grid-template-columns:1fr;gap:32px}.guide-side{position:static}.guide-toc:not([open]) nav{display:none}.guide-commercial-cta__inner,.guide-editorial-intro{grid-template-columns:1fr;gap:28px}.guide-related-grid{grid-template-columns:1fr 1fr}}
@media (max-width:767.98px){.guide-hero{min-height:0}.guide-hero__content{padding-block:96px 52px}.guide-hero h1{font-size:clamp(32px,9vw,38px)}.guide-hero__lead{font-size:16px}.guide-meta{font-size:11px}.guide-meta span+span:before{display:none}.guide-opening{padding-block:58px}.guide-section{padding-bottom:36px;margin-bottom:36px}.guide-content p{font-size:16px;line-height:1.75}.guide-table-wrap{border:0}.guide-table{min-width:0;display:block}.guide-table thead{position:absolute;left:-9999px}.guide-table tbody,.guide-table tr,.guide-table th,.guide-table td{display:block;width:100%}.guide-table tr{margin-bottom:16px;border:1px solid var(--border);background:var(--bg-secondary)}.guide-table th,.guide-table td{border-right:0}.guide-table tbody th{background:var(--bg-secondary);color:var(--text-primary)}.guide-commercial-cta{padding:44px 0}.guide-commercial-cta__inner{display:block}.guide-commercial-cta .btn-premium{margin-top:24px}.guide-related-grid,.guide-hub-grid{grid-template-columns:1fr}.guide-related-card,.guide-hub-card{min-height:220px}.guide-steps li{grid-template-columns:46px 1fr;gap:12px}}


/* =========================================================
   LEGAL PAGES — GLOBAL
========================================================= */
/* Legal Hero */
.legal-hero{position:relative;min-height:390px;display:flex;align-items:flex-end;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}
.legal-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 22%,rgba(255,143,0,.14),transparent 32%),linear-gradient(120deg,rgba(255,255,255,.025),transparent 42%)}
.legal-hero__inner{position:relative;z-index:1;padding-block:112px 54px}
.legal-hero h1{max-width:860px;margin:12px 0 16px;font-size:clamp(42px,5vw,50px);font-weight:600;line-height:1.08}
.legal-hero__lead{max-width:820px;margin:0;color:var(--text-muted);font-size:17px;line-height:1.75}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);color:var(--text-muted);font-size:12px}
.legal-status{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.legal-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-primary)}

/* Legal Navigation */
.legal-nav-wrap{background:var(--bg-secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.legal-nav{display:grid;grid-template-columns:repeat(7,1fr)}
.legal-nav a{min-height:64px;display:flex;align-items:center;justify-content:center;padding:13px 10px;border-right:1px solid var(--border);color:var(--text-muted);text-align:center;font-size:11px;line-height:1.45}
.legal-nav a:first-child{border-left:1px solid var(--border)}.legal-nav a:hover,.legal-nav a.is-current{background:var(--bg-section);color:var(--text-primary)}.legal-nav a.is-current{box-shadow:inset 0 -2px 0 var(--accent-primary)}

/* Legal Article Layout / Typography */
.legal-page-body{background:var(--bg-secondary)}
.legal-layout{display:grid;grid-template-columns:238px minmax(0,850px);gap:64px;justify-content:center;align-items:start}
.legal-sidebar{position:sticky;top:108px}.legal-toc{border-top:2px solid var(--accent-primary);border-bottom:1px solid var(--border);padding:18px 0}.legal-toc summary{cursor:pointer;list-style:none;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.legal-toc summary::-webkit-details-marker{display:none}.legal-toc nav{display:flex;flex-direction:column;gap:10px;margin-top:16px}.legal-toc a{color:var(--text-secondary);font-size:12px;line-height:1.5}.legal-toc a:hover{color:var(--accent-secondary)}
.legal-content{min-width:0;color:var(--text-secondary)}.legal-content section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--border);scroll-margin-top:108px}.legal-content section:last-child{border-bottom:0}.legal-content h2{margin:0 0 18px;color:var(--text-secondary);font-size:clamp(27px,3vw,32px);font-weight:600}.legal-content h3{margin:25px 0 10px;color:var(--text-secondary);font-size:19px}.legal-content p,.legal-content li{font-size:16px;line-height:1.8}.legal-content p{margin:0 0 16px}.legal-content ul,.legal-content ol{padding-left:22px;margin:16px 0}.legal-content li+li{margin-top:8px}.legal-content a{color:var(--accent-secondary);text-underline-offset:3px}.legal-content a:hover{color:var(--text-primary)}
.legal-summary{margin-bottom:38px;padding:24px 26px;background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--accent-primary)}.legal-summary span{display:block;margin-bottom:9px;color:var(--accent-secondary);font-size:10px;font-weight:700;letter-spacing:.12em}.legal-summary p{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.75}
.legal-draft-notice{margin-bottom:34px;padding:22px 24px;background:var(--bg-secondary);color:var(--text-muted);border-top:2px solid var(--accent-primary)}.legal-draft-notice strong{display:block;margin-bottom:8px;color:var(--accent-primary);font-size:11px;letter-spacing:.1em}.legal-draft-notice p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.7}
.legal-callout{margin:22px 0;padding:20px 22px;background:var(--bg-section);border:1px solid var(--border);border-left:3px solid var(--accent-primary)}.legal-callout strong{display:block;margin-bottom:8px;color:var(--text-secondary)}.legal-callout p:last-child{margin-bottom:0}.legal-placeholder-list{margin:18px 0;padding:18px 20px;background:var(--bg-section);border:1px dashed var(--bg-section)}.legal-placeholder-list strong{color:var(--accent-secondary)}.legal-definition{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--border)}.legal-definition dt{font-weight:600;color:var(--text-secondary)}.legal-definition dd{margin:0;color:var(--text-secondary);line-height:1.7}

/* Legal Tables */
.legal-table-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--border);background:var(--bg-secondary)}.legal-table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px}.legal-table th,.legal-table td{padding:15px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.6}.legal-table thead th{background:var(--bg-secondary);color:var(--text-primary)}.legal-table td{color:var(--text-secondary)}.legal-table tbody th{background:var(--bg-section);color:var(--text-secondary)}

/* Policy Contact Band */
.policy-contact{background:var(--bg-secondary);color:var(--text-primary);padding:54px 0}.policy-contact__inner{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center}.policy-contact h2{margin:6px 0 10px;font-size:clamp(28px,3vw,34px)}.policy-contact p{max-width:760px;margin:0;color:var(--text-muted);line-height:1.75}.policy-contact__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.related-policies{background:var(--bg-secondary)}.related-policies__links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.related-policies__links a{min-height:120px;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:var(--bg-secondary);color:var(--text-primary)}.related-policies__links span{color:var(--accent-secondary);font-size:10px;font-weight:700;letter-spacing:.12em}.related-policies__links b{font-size:16px}

/* Cookie Consent */
.footer-cookie-settings{border:0;background:transparent;padding:0;color:var(--text-muted);font:inherit;cursor:pointer}.footer-cookie-settings:hover{color:var(--accent-primary)}
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:1090;padding:max(14px,env(safe-area-inset-bottom)) 18px 18px;background:rgba(13,13,15,.98);border-top:1px solid var(--border);box-shadow:0 -10px 30px rgba(0,0,0,.22)}.cookie-consent__inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.cookie-consent p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.65}.cookie-consent a{display:inline-block;margin-top:8px;color:var(--accent-primary);font-size:12px}.cookie-consent__eyebrow{color:var(--accent-primary)!important;font-size:10px!important;font-weight:700;letter-spacing:.12em}.cookie-consent__actions,.cookie-preferences__actions{display:flex;gap:9px;flex-wrap:wrap}.btn-cookie-secondary,.btn-cookie-link{min-height:44px;padding:0 18px;border:1px solid var(--text-secondary);background:transparent;color:var(--text-primary);font-size:11px;font-weight:600}.btn-cookie-link{border-color:transparent;color:var(--accent-primary)}
.cookie-preferences{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px}.cookie-preferences[hidden]{display:none}.cookie-preferences__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74)}.cookie-preferences__panel{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;padding:28px;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 24px 70px rgba(0,0,0,.3)}.cookie-preferences__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.cookie-preferences__head h2{margin:5px 0 10px}.cookie-preferences__close{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}.cookie-preferences__panel>p{color:var(--text-secondary);line-height:1.7}.cookie-preference-row{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:18px 0;border-top:1px solid var(--border)}.cookie-preference-row strong,.cookie-preference-row span{display:block}.cookie-preference-row span{margin-top:4px;color:var(--text-secondary);font-size:12px;line-height:1.55}.cookie-preference-row input{width:22px;height:22px;accent-color:var(--accent-primary)}

/* Legal Print */
@media print{
  header,.site-header,.legal-nav-wrap,.floating-actions,.site-footer,.policy-contact,.related-policies,.cookie-consent,.cookie-preferences,.legal-sidebar{display:none!important}
  body,.legal-page-body{background:var(--bg-section)!important;color:var(--text-primary)!important}
  .legal-hero{min-height:0!important;background:var(--bg-section)!important;color:var(--text-primary)!important}.legal-hero:before{display:none}.legal-hero__inner{padding:20px 0!important}.legal-hero__lead,.legal-meta{color:#222!important}.legal-layout{display:block!important}.legal-content{max-width:none!important}.legal-content h2,.legal-content h3{break-after:avoid}.legal-content p,.legal-content li{font-size:11pt!important;line-height:1.55!important}.legal-content a{color:var(--text-primary)!important;text-decoration:underline!important}.legal-content a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt}.legal-draft-notice{border:1px solid #000;background:var(--bg-section);color:var(--text-primary)}.legal-draft-notice p{color:var(--text-primary)}
}

/* Legal Responsive */
@media (max-width:1199.98px){.legal-nav{grid-template-columns:repeat(4,1fr)}.legal-nav a:nth-child(5){border-left:1px solid var(--border)}.legal-layout{grid-template-columns:210px minmax(0,760px);gap:42px}}
@media (max-width:991.98px){.legal-hero{min-height:350px}.legal-hero__inner{padding-block:94px 48px}.legal-layout{grid-template-columns:1fr;gap:30px}.legal-sidebar{position:static}.legal-nav{display:flex;overflow-x:auto;scrollbar-width:thin}.legal-nav a{flex:0 0 180px}.legal-toc:not([open]) nav{display:none}.policy-contact__inner{grid-template-columns:1fr}.policy-contact__actions{justify-content:flex-start}.related-policies__links{grid-template-columns:1fr 1fr}}
@media (max-width:767.98px){.legal-hero{min-height:0}.legal-hero__inner{padding-block:92px 42px}.legal-hero h1{font-size:clamp(32px,9vw,38px)}.legal-hero__lead{font-size:15px}.legal-page-body{padding-block:58px}.legal-content p,.legal-content li{font-size:15.5px;line-height:1.75}.legal-definition{grid-template-columns:1fr;gap:5px}.legal-table-wrap{border:0;overflow:visible}.legal-table{min-width:0;display:block}.legal-table thead{position:absolute;left:-9999px}.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block;width:100%}.legal-table tr{margin-bottom:14px;border:1px solid var(--border);background:var(--bg-section)}.legal-table th,.legal-table td{border-right:0}.legal-table tbody th{background:var(--bg-secondary);color:var(--text-primary)}.related-policies__links{grid-template-columns:1fr}.cookie-consent__inner{grid-template-columns:1fr}.cookie-consent__actions{display:grid;grid-template-columns:1fr}.cookie-consent__actions button{width:100%}.cookie-preferences{padding:10px}.cookie-preferences__panel{padding:22px 18px}.cookie-preferences__actions{display:grid;grid-template-columns:1fr}.cookie-preferences__actions button{width:100%}}
/* ---------- Multi-day route + itinerary ---------- */
.multiday-duration { margin-bottom: 16px; min-height: 34px; padding: 6px 12px; font-size: 11px; }
.tour-route-summary {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
    padding: 46px 0;
}
.tour-route-summary__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.tour-route-summary__head h2 { margin: 0; color: var(--text-primary); font-size: clamp(26px,3vw,34px); }
.tour-route-list {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(120px,1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}
.tour-route-list li {
    position: relative;
    min-height: 86px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg-section);
    padding: 15px;
}
.tour-route-list li::after {
    content: "→";
    position: absolute;
    right: -8px;
    top: 50%;
    z-index: 2;
    width: 16px;
    color: var(--accent-primary);
    background: var(--bg-secondary);
    text-align: center;
    transform: translateY(-50%);
}
.tour-route-list li:last-child::after { display: none; }
.tour-route-list span { color: var(--accent-primary); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.tour-route-list strong { color: var(--text-primary); font-size: 12px; line-height: 1.4; }


.extended-tour-intro.multiday-overview #overviewTitle, .extended-tour-intro.multiday-overview .tour-editorial-grid p{
 color: var(--bg-primary);
}

.multiday-itinerary .section-heading *{color: var(--light-text);}
.multiday-itinerary__list { display: grid; gap: 14px; }
.tour-day {
    scroll-margin-top: calc(var(--header-height) + 78px);
    display: grid;
    grid-template-columns: 125px minmax(0,1fr);
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
    overflow: hidden;
}
.tour-day:focus { outline: 2px solid var(--accent-primary); outline-offset: 3px; }
.tour-day__label {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #181818;
    color: var(--accent-primary);
    padding: 24px 14px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}
.tour-day__content { padding: 24px 28px; }
.tour-day h3 { margin: 0 0 12px; font-size: 20px; }
.tour-day p { margin: 0 0 10px; font-size: 13px; line-height: 1.7; }
.tour-day p:last-child { margin-bottom: 0; }

.multiday-practical__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 34px;
}
.multiday-practical__grid .multiday-practical__media img{
    object-fit: cover;
    height: 100%;
}
.tour-inclusion-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}
.tour-inclusion-grid article {
    min-height: 190px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg-section);
    padding: 22px;
}
.tour-inclusion-grid span { color: var(--accent-primary); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.tour-inclusion-grid h3 { margin: 20px 0 10px; font-size: 16px; }
.tour-inclusion-grid p { margin: 0; font-size: 12.5px; line-height: 1.7; }
.multiday-luggage-note {
    margin-top: 24px;
    border-left: 3px solid var(--accent-primary);
    border-radius: 4px;
    background: var(--bg-section);
    color: var(--text-secondary);
    padding: 18px 20px;
    font-size: 13px;
}

/* =========================================================
   CONTACT PAGE
========================================================= */

/* Contact Hero */
.page-contact .contact-hero .internal-hero__media img { object-position: center 46%; }
.contact-hero .internal-hero__overlay { background: linear-gradient(90deg, rgba(13,13,15,.94) 0%, rgba(13,13,15,.74) 54%, rgba(13,13,15,.43) 100%), linear-gradient(0deg, rgba(13,13,15,.46), transparent 52%); }
.contact-hero h1 { max-width: 760px; font-size: clamp(46px, 4.6vw, 56px); }

/* Contact Methods */
.contact-methods-section { background: var(--bg-secondary); }
.contact-methods-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--border);background:var(--border); }
.contact-method-card { min-height:250px;display:flex;flex-direction:column;align-items:flex-start;padding:26px 24px;background:var(--bg-secondary);transition:background-color var(--transition),transform var(--transition); }
.contact-method-card:hover { background:var(--bg-section); }
.contact-method-card__icon { width:44px;height:44px;display:grid;place-items:center;margin-bottom:24px;border:1px solid var(--accent-primary);color:var(--accent-secondary);font-size:17px;font-weight:700; }
.contact-method-card__label { margin-bottom:8px;color:var(--accent-secondary);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
.contact-method-card strong { color:var(--text-secondary);font-size:16px;line-height:1.4;overflow-wrap:anywhere; }
.contact-method-card>span:not(.contact-method-card__icon):not(.contact-method-card__label) { margin-top:10px;color:var(--text-secondary);font-size:13px;line-height:1.65; }
.contact-method-card b { margin-top:auto;padding-top:20px;color:var(--text-secondary);font-size:11px;letter-spacing:.08em;text-transform:uppercase; }

/* Contact Form */
.contact-form-section { background:var(--bg-primary);color:var(--text-primary);scroll-margin-top:96px; }
.contact-form-layout { display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start; }
.contact-form-card { padding:42px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border); }
.contact-form-card__heading { max-width:760px;margin-bottom:30px; }
.contact-form-card__heading h2 { margin-bottom:12px;font-size:clamp(28px,3vw,34px); }
.contact-form-card__heading>p:last-child { margin-bottom:0;color:var(--text-secondary);font-size:14px;line-height:1.75; }
.contact-form-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 16px; }
.contact-field { min-width:0; }
.contact-field--quarter { grid-column:span 1; }
.contact-field--half { grid-column:span 2; }
.contact-field .iti.iti--allow-dropdown{width: 100%;} 
.contact-field--full { grid-column:1 / -1; }
.contact-field[hidden] { display:none!important; }
.contact-field label { display:block;margin-bottom:7px;color:var(--text-secondary);font-size:12px;font-weight:600; }
.contact-field label span { color:var(--accent-secondary); }
.contact-field input,.contact-field select,.contact-field textarea { width:100%;border:1px solid var(--border);border-radius:3px;background:var(--bg-section);color:var(--text-secondary);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition); }
.contact-field input,.contact-field select { min-height:50px;padding:0 13px; }
.contact-field textarea { min-height:180px;padding:13px;resize:vertical;line-height:1.65; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(255,143,0,.14); }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:var(--text-muted); }
.contact-field.has-error input,.contact-field.has-error select,.contact-field.has-error textarea { border-color:var(--error); }
.contact-field-error { display:block;margin-top:6px;color:var(--error);font-size:12px;line-height:1.5; }
.contact-field-help { margin:7px 0 0;color:var(--text-muted);font-size:12px;line-height:1.55; }
.contact-label-row { display:flex;align-items:flex-end;justify-content:space-between;gap:16px; }
.contact-char-count { color:var(--light-text);font-size:11px;font-variant-numeric:tabular-nums; }
.form-location-wrap { position:relative; }
.form-location-wrap .address-suggestions { left:0;width:100%;top:100%;z-index:60;background:var(--bg-section);border:1px solid var(--border);color:var(--text-primary); }
.contact-form-submit-wrap { display:flex;align-items:flex-end;justify-content:flex-end; }
.contact-submit-btn { width:100%;min-height:50px; }
.contact-submit-btn:disabled { cursor:wait;opacity:.72; }
.contact-privacy-copy { margin:20px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.65; }
.contact-privacy-copy a { color:var(--accent-secondary);text-decoration:underline;text-underline-offset:3px; }
.contact-noscript { margin:12px 0 0;padding:10px 12px;background:var(--bg-secondary);border-left:3px solid var(--accent-primary);color:var(--text-secondary);font-size:12px; }
.contact-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.contact-alert { margin:0 0 24px;padding:17px 19px;border-left:3px solid var(--accent-primary);font-size:13px;line-height:1.6; }
.contact-alert strong { display:block;margin-bottom:4px; }
.contact-alert p { margin:0; }
.contact-alert--error { background:rgba(198,90,90,.12);border-color:var(--error);color:var(--error); }


/* ---------- Private Tours hub discovery ---------- */
.extended-tour-hub-section {
    background: var(--bg-primary);
    color: var(--text-primary);
}
.extended-tour-hub-section--multi { background: var(--bg-secondary); }
.extended-tour-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}
.extended-tour-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
    color: var(--text-primary);
    transition: transform var(--transition), border-color var(--transition), background-color var(--transition);
}
.extended-tour-card:hover { transform: translateY(-2px); border-color: rgba(255,143,0,.55); }
.extended-tour-card__media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--bg-secondary); }
.extended-tour-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-luxury); }
.extended-tour-card:hover .extended-tour-card__media img { transform: scale(1.035); }
.extended-tour-card__body { padding: 22px; }
.extended-tour-card__body > span { display: block; margin-bottom: 8px; color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.extended-tour-card h3 { margin: 0 0 10px; color: var(--text-primary); font-size: 19px; line-height: 1.3; }
.extended-tour-card p { margin: 0 0 15px; color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.extended-tour-card b { color: var(--accent-primary); font-size: 11px; letter-spacing: .04em; }
.extended-tour-card .route-mini {  color: var(--text-muted); font-size: 11.5px; }
.extended-tour-card .tour-tag-row { margin: 0 0 16px; }
.extended-tour-card .tour-tag-row i { font-style: normal; }


.tour-flexible-planning * ,.tour-guide-clarification *{color: var(--light-text) !important;}

/* Voice Input */
.voice-input-panel { margin-top:18px;padding:20px 21px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary); }
.voice-input-panel__copy { display:grid;grid-template-columns:155px 1fr;gap:18px;align-items:start; }
.voice-input-panel__eyebrow { color:var(--accent-primary);font-size:10px;font-weight:700;letter-spacing:.13em; }
.voice-input-panel__copy p { margin:0;color:var(--text-muted);font-size:13px;line-height:1.7; }
.voice-controls { display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px; }
.voice-btn { min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;border:1px solid var(--accent-primary);border-radius:2px;background:transparent;color:var(--accent-primary);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:background-color var(--transition),color var(--transition),border-color var(--transition); }
.voice-btn:hover { background:var(--accent-primary);color:var(--text-primary); }
.voice-btn:disabled { cursor:default;opacity:1; }
.voice-btn[aria-pressed="true"] { background:var(--accent-primary);color:var(--text-primary); }
.voice-btn__mic { width:12px;height:12px;display:grid;place-items:center;font-size:10px;line-height:1; }
.voice-btn--secondary { border-color:var(--text-muted);color:var(--text-primary); }
.voice-btn--secondary:hover { background:var(--bg-section);border-color:var(--text-primary);color:var(--bg-secondary); }
.voice-btn--ghost { margin-left:auto;border-color:transparent;color:var(--text-muted); }
.voice-btn--ghost:hover { background:var(--bg-section);border-color:var(--text-secondary);color:var(--text-primary); }
.voice-status { min-height:24px;margin-top:11px;color:var(--light-text);font-size:12px;line-height:1.55; }
.voice-status[data-state="listening"] { color:var(--accent-primary); }
.voice-status[data-state="error"],.voice-status[data-state="denied"] { color:var(--error); }
.voice-fallback { margin:15px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6; }
.voice-privacy-note { margin-top:15px;padding-top:15px;border-top:1px solid var(--border); }
.voice-privacy-note strong { display:block;margin-bottom:6px;color:var(--accent-primary);font-size:9px;letter-spacing:.13em; }
.voice-privacy-note p { margin:0;color:var(--text-muted);font-size:11px;line-height:1.65; }
.voice-input-panel[data-voice-state="listening"] .voice-btn__mic { border-radius:50%;background:var(--bg-primary);animation:voicePulse 1.4s ease-in-out infinite; }
@keyframes voicePulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,143,0,.30)}50%{box-shadow:0 0 0 8px rgba(200,166,96,0)} }

/* Contact Support Panel */
.contact-support-panel { position:sticky;top:104px;padding:30px;background:var(--bg-secondary);border:1px solid var(--border); }
.contact-support-panel h2 { margin-bottom:12px;color:var(--text-primary);font-size:clamp(25px,2.7vw,31px); }
.contact-support-panel>p:not(.section-eyebrow) { margin-bottom:24px;color:var(--text-muted);font-size:13px;line-height:1.7; }
.contact-support-list { border-top:1px solid var(--border); }
.contact-support-list>div { display:grid;grid-template-columns:34px 1fr;gap:4px 12px;padding:15px 0;border-bottom:1px solid var(--border); }
.contact-support-list span { grid-row:1 / span 2;color:var(--accent-primary);font-size:10px;font-weight:700;letter-spacing:.08em; }
.contact-support-list strong { color:var(--text-primary);font-size:13px; }
.contact-support-list p { margin:2px 0 0;color:var(--text-muted);font-size:11px;line-height:1.55; }
.contact-support-note { margin-top:22px;padding:17px;background:var(--bg-section);border-left:2px solid var(--accent-primary); }
.contact-support-note strong { color:var(--accent-primary);font-size:10px;letter-spacing:.1em;text-transform:uppercase; }
.contact-support-note p { margin:6px 0 0;color:var(--text-muted);font-size:12px;line-height:1.65; }

/* How Voice Works */
.voice-how-section { background:var(--bg-secondary);color:var(--text-primary); }
.voice-how-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border); }
.voice-how-card { min-height:245px;padding:30px;background:var(--bg-section); }
.voice-how-card>span { display:block;margin-bottom:42px;color:var(--accent-primary);font-size:12px;font-weight:700;letter-spacing:.12em; }
.voice-how-card h3 { margin-bottom:12px;font-size:20px; }
.voice-how-card p { margin:0;color:var(--text-muted);font-size:13px;line-height:1.7; }

/* Journey Help */
.contact-journey-help { background:var(--bg-secondary); }
.journey-help-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.journey-help-item { min-height:180px;padding:24px;background:var(--bg-section); }
.journey-help-item>span { display:block;margin-bottom:25px;color:var(--accent-secondary);font-size:10px;font-weight:700;letter-spacing:.1em; }
.journey-help-item h3 { margin-bottom:9px;font-size:17px; }
.journey-help-item p { margin:0;color:var(--text-secondary);font-size:13px;line-height:1.65; }

/* Contact FAQ / Final Help */
.contact-faq-section { background:var(--bg-section); }
.contact-final-help { padding:66px 0;background:var(--bg-primary);color:var(--text-primary); }
.contact-final-help__inner { display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center; }
.contact-final-help h2 { margin:5px 0 10px;font-size:clamp(28px,3vw,36px); }
.contact-final-help p:not(.section-eyebrow) { max-width:760px;margin:0;color:var(--text-muted);line-height:1.75; }
.contact-final-help__actions { display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end; }

/* Contact Success */
.contact-success-page { min-height:70vh;background:var(--bg-primary); }
.contact-success-hero { min-height:680px;display:flex;align-items:center;padding:calc(var(--header-height) + 70px) 0 80px;background:radial-gradient(circle at 72% 35%,rgba(255,143,0,.14),transparent 28%),var(--bg-primary);color:var(--text-primary); }
.contact-success-hero__inner { max-width:820px;text-align:center; }
.contact-success-mark { width:66px;height:66px;display:grid;place-items:center;margin:0 auto 24px;border:1px solid var(--accent-primary);color:var(--accent-primary);font-size:27px; }
.contact-success-hero h1 { margin-bottom:20px;font-size:clamp(38px,5vw,56px); }
.contact-success-hero__inner>p:not(.section-eyebrow):not(.contact-success-privacy) { max-width:680px;margin:0 auto 28px;color:var(--text-muted);font-size:17px;line-height:1.75; }
.contact-success-hero .cta-group { justify-content:center; }
.contact-success-privacy { max-width:620px;margin:26px auto 0;color:var(--text-muted);font-size:11px;line-height:1.65; }

/* Contact Responsive */
@media (max-width:1199.98px) {
    .contact-methods-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contact-form-layout { grid-template-columns:minmax(0,1fr) 320px; }
    .contact-form-card { padding:34px; }
}
@media (max-width:991.98px) {
    .contact-form-layout { grid-template-columns:1fr; }
    .contact-support-panel { position:static; }
    .contact-final-help__inner { grid-template-columns:1fr; }
    .contact-final-help__actions { justify-content:flex-start; }
}
@media (max-width:767.98px) {
    .contact-hero h1 { font-size:clamp(34px,10vw,40px); }
    .contact-methods-grid,.voice-how-grid,.journey-help-grid { grid-template-columns:1fr; }
    .contact-method-card { min-height:220px; }
    .contact-form-card { padding:25px 18px; }
    .contact-form-grid { grid-template-columns:1fr;gap:17px; }
    .contact-field--quarter,.contact-field--half,.contact-field--full { grid-column:1; }
    .contact-field input,.contact-field select,.contact-field textarea { font-size:16px; }
    .contact-field input,.contact-field select { min-height:50px; }
    .contact-label-row { align-items:flex-start; }
    .voice-input-panel { padding:18px 15px; }
    .voice-input-panel__copy { grid-template-columns:1fr;gap:8px; }
    .voice-controls { display:grid;grid-template-columns:1fr 1fr; }
    .voice-btn { min-height:46px;width:100%; }
    .voice-btn:first-child { grid-column:1 / -1; }
    .voice-btn--ghost { margin-left:0; }
    .contact-support-panel { padding:25px 20px; }
    .contact-final-help__actions { display:grid;grid-template-columns:1fr;width:100%; }
    .contact-final-help__actions a { width:100%; }
    .contact-success-hero { min-height:620px;padding-top:calc(var(--header-height) + 60px); }
    .contact-success-hero__inner>p:not(.section-eyebrow):not(.contact-success-privacy) { font-size:15px; }
}
@media (max-width:420px) {
    .contact-method-card { padding:23px 18px; }
    .contact-form-card { padding-inline:15px; }
    .voice-controls { grid-template-columns:1fr; }
    .voice-btn:first-child { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
    .voice-input-panel[data-voice-state="listening"] .voice-btn__mic { animation:none;box-shadow:0 0 0 3px rgba(255,143,0,.28); }
}


/* =========================================================
   29. FINAL GLOBAL OVERRIDE — DROPPIN OBSIDIAN ORANGE
   This layer intentionally supersedes the former gold / ivory
   surface system without changing page structure or SEO URLs.
========================================================= */
html { background: var(--bg-primary); }
body {
    background: var(--bg-primary);
    color: var(--text-secondary);
}
main,
.internal-page,
.page-fleet main,
.page-services main,
.page-airport main,
.page-private-tours main,
.page-guide main,
.page-legal main,
.page-contact main { background: var(--bg-primary); color: var(--text-secondary); }

h1,h2,h3,h4,h5,h6,
.section-heading h2,
.why-intro h2,
.faq-heading h2 { color: var(--text-primary); }
p,li,dd,figcaption,.section-heading p,.why-intro > p,.faq-heading > p { color: var(--text-secondary); }
small,.small,.meta,.guide-meta,.legal-meta { color: var(--text-muted); }
a:hover { color: var(--accent-primary); }
.section-eyebrow,
.section-eyebrow--gold,
.mega-feature__eyebrow { color: var(--accent-primary); }

/* Global buttons */
.btn-premium,
.header-book,
.quote-submit,
.contact-submit,
.service-final-cta .btn-premium,
.tour-final-cta .btn-premium,
.airport-final-cta .btn-premium {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--bg-primary);
}
.btn-premium:hover,
.header-book:hover,
.quote-submit:hover,
.contact-submit:hover {
    background: var(--accent-secondary);
    border-color: var(--accent-secondary);
    color: var(--bg-primary);
}
.btn-dark-custom,
.btn-outline-dark,
.btn-outline-light-custom {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}
.btn-dark-custom:hover,
.btn-outline-dark:hover,
.btn-outline-light-custom:hover {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--bg-primary);
}
.text-link-gold,
.text-link-dark { color: var(--accent-primary); }
.text-link-gold:hover,
.text-link-dark:hover { color: var(--accent-secondary); }

/* Former light / ivory sections become layered dark surfaces */
.trust-strip,
.fleet-section,
.routes-section,
.reviews-section,
.why-section,
.faq-section,
.internal-page,
.internal-editorial--ivory,
.process-section,
.coverage-section,
.standards-section,
.testimonial-preview,
.corporate-benefits,
.featured-locations,
.south-section,
.directory-section,
.featured-destinations,
.flexible-tour-section,
.arrival-section,
.flight-monitor-section,
.airport-routes,
.airport-vehicles,
.related-services-section,
.fleet-intro,
.fleet-journey-section,
.fleet-planning-section,
.vehicle-overview,
.vehicle-best-section,
.vehicle-use-section,
.vehicle-use-section--alternate,
.related-fleet-section,
.fleet-faq,
.fleet-services-section,
.vehicle-booking-detail,
.services-overview-intro,
.service-choice-guide,
.service-fleet-preview,
.service-intro,
.service-editorial-split--light,
.service-process-section,
.service-related,
.service-faq,
.airport-intro-detail,
.airport-process-detail,
.airport-departure-detail,
.airport-special-detail,
.airport-routes-detail,
.airport-luggage-detail,
.airport-related-detail,
.airport-faq-detail,
.contact-methods-section,
.guide-related,
.guide-hub-intro,
.guide-hub-list,
.guide-faq,
.related-policies,
.error-page {
    background: var(--bg-secondary);
    color: var(--text-secondary);
}

/* Card / panel surfaces */
.service-card,
.fleet-card,
.route-card,
.review-card,
.why-card,
.trust-item,
.location-card,
.destination-card,
.airport-route-card,
.airport-route-card,
.services-core-card,
.service-fleet-card,
.service-route-card,
.related-fleet-card,
.fleet-lineup-card,
.airport-route-card,
.airport-access-alert__card,
.tour-guide-note,
.tour-practical-note,
.tour-collection-card,
.tour-related-card,
.tour-destination-card,
.guide-callout,
.guide-inline-cta,
.guide-mistakes > div,
.guide-related-card,
.guide-hub-card,
.legal-summary,
.legal-callout,
.legal-placeholder-list,
.legal-table-wrap,
.related-policies__links a,
.contact-method-card,
.journey-help-item,
.contact-form-panel,
.quote-panel,
.flight-monitor-card,
.vehicle-suitability,
.coverage-destinations,
.fleet-compatibility,
.fleet-compatibility__row {
    background: var(--bg-section);
    border-color: var(--border);
    color: var(--text-secondary);
}

/* Header, mega menus, mobile navigation, footer */
.site-header.is-scrolled,
.site-header.menu-open,
.mega-menu,
.mega-panel,
.offcanvas-menu,
.mobile-nav-panel,
.site-footer,
.footer-bottom {
    background: var(--bg-primary);
    border-color: var(--border);
}
.mega-menu,
.mega-panel { background: var(--bg-secondary); border-top-color: var(--accent-primary); }
.site-nav a,
.mega-menu a,
.mega-panel a,
.mobile-nav a,
.site-footer a { color: var(--text-secondary); }
.site-nav a:hover,
.site-nav a[aria-current="page"],
.mega-menu a:hover,
.mega-panel a:hover,
.mobile-nav a:hover,
.site-footer a:hover { color: var(--accent-primary); }

/* Forms */
input,
select,
textarea,
.quote-field input,
.quote-field select,
.contact-field input,
.contact-field select,
.contact-field textarea {
    background: var(--bg-section);
    color: var(--text-primary);
    border-color: var(--border);
}
input::placeholder,
textarea::placeholder { color: var(--text-muted); opacity: 1; }
input:focus,
select:focus,
textarea:focus,
.quote-field input:focus,
.quote-field select:focus,
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 1px var(--accent-primary);
    outline: none;
}
select option { background: var(--bg-section); color: var(--text-primary); }

/* FAQ */
.faq-item,
.internal-faq__item,
.service-faq__item,
.tour-faq__item,
.airport-faq__item,
.guide-faq__item {
    border-color: var(--border);
    background: transparent;
}
.faq-question,
.faq-toggle,
.accordion-button { color: var(--text-primary); }
.faq-question::after,
.faq-toggle::after,
.accordion-button::after { color: var(--accent-primary); }
.faq-answer,
.accordion-body { color: var(--text-secondary); }

/* Guides */
.guide-layout,
.guide-content,
.guide-article,
.guide-prose { color: var(--text-secondary); }
.guide-content h2,
.guide-content h3,
.guide-article h2,
.guide-article h3 { color: var(--text-primary); }
.guide-content a,
.guide-article a,
.guide-toc a { color: var(--accent-primary); }
.guide-content a:hover,
.guide-article a:hover,
.guide-toc a:hover { color: var(--accent-secondary); }
.guide-callout--key { background: var(--bg-section); }
.guide-callout--important,
.guide-mistakes > div { background: var(--bg-section); border-color: var(--border); }

/* Legal */
.legal-hero { background: var(--bg-primary); }
.legal-nav,
.legal-layout { background: var(--bg-secondary); }
.legal-content { color: var(--text-secondary); }
.legal-content h2,
.legal-content h3,
.legal-toc summary,
.legal-definition dt { color: var(--text-primary); }
.legal-content a,
.legal-toc a { color: var(--accent-primary); }
.legal-content a:hover,
.legal-toc a:hover { color: var(--accent-secondary); }
.legal-table thead th { background: var(--bg-section); color: var(--text-primary); }
.legal-table tbody th,
.legal-table td { background: var(--bg-secondary); color: var(--text-secondary); border-color: var(--border); }
.legal-status { color: var(--accent-primary); }

/* Contact + voice */
.contact-page,
.contact-form-section { background: var(--bg-primary); }
.contact-form-shell,
.contact-support-panel,
.voice-privacy,
.voice-prompt,
.contact-error,
.contact-success-card { background: var(--bg-secondary); border-color: var(--border); }
.voice-btn {
    background: transparent;
    border-color: var(--accent-primary);
    color: var(--text-primary);
}
.voice-btn:hover { background: rgba(255,143,0,.08); }
.voice-btn.is-listening,
.voice-control.is-listening {
    background: rgba(255,143,0,.12);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}
.voice-status.is-listening { color: var(--accent-primary); }

/* Breadcrumbs, routes, active markers */
.breadcrumb a { color: var(--text-secondary); }
.breadcrumb a:hover { color: var(--accent-primary); }
.breadcrumb [aria-current="page"] { color: var(--text-primary); }
.breadcrumb-separator { color: var(--text-muted); }
.route-arrow,
.route-marker,
.itinerary-marker,
.tour-itinerary__number { color: var(--accent-primary); border-color: var(--accent-primary); }

/* Reviews */
.review-stars,
.google-review-stars { color: var(--accent-primary); }
.review-card time,
.review-meta { color: var(--text-muted); }

/* Floating actions */
.back-to-top {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--accent-primary);
}
.back-to-top:hover { background: var(--accent-primary); color: var(--bg-primary); }

::selection { background: var(--accent-primary); color: var(--bg-primary); }
:focus-visible { outline-color: var(--accent-primary); }

@media (max-width: 991.98px) {
    .offcanvas-menu,
    .mobile-nav-panel { background: var(--bg-primary); }
}

@media print {
    body,
    main,
    .legal-layout,
    .guide-layout,
    .legal-content,
    .guide-content { background: #fff !important; color: #000 !important; }
    h1,h2,h3,h4,h5,h6,p,li,dd,dt,td,th { color: #000 !important; }
    a { color: #000 !important; text-decoration: underline !important; }
    .site-header,.site-footer,.floating-actions,.cookie-consent,.back-to-top,.whatsapp-float,.trustpilot-float { display:none !important; }
}

/* =========================================================
   30. FINAL UI / NAVIGATION QA — 2026-08-30
   Site-wide usability refinements after full-page visual audit.
========================================================= */

/* ---------- Header + desktop navigation ---------- */
.site-header {
    background: var(--bg-primary);
    border-bottom-color: rgba(255,255,255,.08);
    -webkit-backdrop-filter: blur(12px) saturate(120%);
    backdrop-filter: blur(12px) saturate(120%);
}
.site-header.is-scrolled,
.site-header.has-open-menu {
    background: rgba(11,11,11,.985);
    border-bottom-color: var(--border);
    box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.site-header__inner { gap: 18px; }
.desktop-nav { gap: 2px; }
.nav-link-custom {
    padding-inline: 12px;
    color: var(--text-secondary);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: -.01em;
}
.nav-link-custom::after {
    left: 12px;
    right: 12px;
    height: 2px;
    background: var(--accent-primary);
}
.nav-link-custom:hover,
.nav-link-custom.is-active,
.mega-trigger[aria-expanded="true"] { color: var(--text-primary); }
.mega-trigger {
    gap: 8px;
    border-radius: 2px;
}
.mega-trigger[aria-expanded="true"] {
    background: linear-gradient(180deg, rgba(255,143,0,.08), rgba(255,143,0,.02));
}
.nav-chevron {
    display: inline-flex;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    transform-origin: center;
    transition: color var(--transition-fast), transform var(--transition);
}
.nav-chevron svg {
    width: 11px;
    height: 7px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.mega-trigger:hover .nav-chevron,
.mega-trigger[aria-expanded="true"] .nav-chevron { color: var(--accent-primary); }
.mega-trigger[aria-expanded="true"] .nav-chevron,
.mega-nav-item.is-open .nav-chevron { transform: rotate(180deg); }

/* ---------- Mega menu redesign ---------- */
.mega-menu {
    top: var(--header-height);
    max-height: calc(100dvh - var(--header-height) - 10px);
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 1px solid var(--accent-primary);
    border-bottom: 1px solid var(--border);
    background:
        radial-gradient(circle at 82% 0%, rgba(255,143,0,.055), transparent 26%),
        var(--bg-secondary);
    box-shadow: 0 28px 52px rgba(0,0,0,.42);
    scrollbar-color: var(--border) var(--bg-secondary);
    transform: translateY(-12px);
    transition: opacity 220ms ease, transform 260ms var(--ease-luxury), visibility 220ms ease;
}
.mega-nav-item.is-open .mega-menu { transform: translateY(0); }
.mega-menu__grid,
.services-mega__grid,
.airports-mega__grid,
.tours-mega__grid,
.fleet-mega__grid {
    position: relative;
    gap: 22px;
    padding-top: 28px;
    padding-bottom: 30px;
}

.mega-column { min-width: 0; }
.mega-title,
.mega-feature__eyebrow {
    position: relative;
    margin-bottom: 11px;
    padding-bottom: 10px;
    color: var(--accent-primary);
    font-size: 10px;
    letter-spacing: .15em;
}
.mega-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 1px;
    background: var(--accent-secondary);
}
.mega-column a {
    position: relative;
    display: flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    margin: 1px 0;
    border-left: 2px solid transparent;
    border-radius: 2px;
    color: var(--text-secondary);
    padding: 7px 10px;
    font-size: 12.5px;
    line-height: 1.35;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.mega-column a::after {
    content: "→";
    margin-left: auto;
    color: var(--accent-primary);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}
.mega-column a:hover,
.mega-column a:focus-visible {
    border-left-color: var(--accent-primary);
    background: var(--bg-section);
    color: var(--text-primary);
    transform: translateX(2px);
}
.mega-column a:hover::after,
.mega-column a:focus-visible::after { opacity: 1; transform: translateX(0); }
.mega-feature,
.fleet-mega__cta {
    border-color: var(--border);
    background: var(--bg-section);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.mega-feature { min-height: 170px; }
.mega-feature img { min-height: 100%; }
.mega-feature__content { padding: 20px; }
.mega-feature__content p:not(.mega-feature__eyebrow),
.fleet-mega__cta p:not(.mega-title) { color: var(--text-secondary); }
.mega-feature__actions { align-items: center; }

/* ---------- Mobile header + off-canvas ---------- */
.mobile-menu-toggle {
    position: relative;
    border-color: var(--border);
    background: var(--bg-secondary);
    transition: border-color var(--transition-fast), background-color var(--transition-fast);
}
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible { border-color: var(--accent-primary); background: var(--bg-section); }
.mobile-menu-toggle span {
    height: 2px;
    border-radius: 999px;
    background: var(--text-primary);
    transition: transform var(--transition), opacity var(--transition);
}
.mobile-offcanvas {
    border-left: 1px solid var(--border) !important;
    box-shadow: -24px 0 48px rgba(0,0,0,.42);
}
.mobile-offcanvas .offcanvas-header {
    background: var(--bg-primary);
    border-bottom-color: var(--border);
}
.mobile-offcanvas .offcanvas-body { background: var(--bg-primary); }
.mobile-nav > a,
.mobile-accordion-trigger {
    min-height: 56px;
    border-bottom-color: var(--border);
    color: var(--text-primary);
    font-size: 14px;
    transition: color var(--transition-fast), padding-left var(--transition-fast), background-color var(--transition-fast);
}
.mobile-nav > a:hover,
.mobile-accordion-trigger:hover,
.mobile-accordion-trigger[aria-expanded="true"] {
    color: var(--accent-primary);
}
.mobile-accordion-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--text-muted);
    transition: color var(--transition), border-color var(--transition), transform var(--transition), background-color var(--transition);
}
.mobile-accordion-icon svg {
    width: 11px;
    height: 7px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.mobile-accordion-trigger[aria-expanded="true"] .mobile-accordion-icon {
    border-color: rgba(255,143,0,.48);
    background: rgba(255,143,0,.08);
    color: var(--accent-primary);
    transform: rotate(180deg);
}
.mobile-accordion-panel {
    margin-inline: -20px;
    border-bottom-color: var(--border);
    background: var(--bg-secondary);
    padding: 8px 20px 12px 30px;
}
.mobile-accordion-panel a {
    position: relative;
    border-bottom: 1px solid rgba(48,48,48,.68);
    color: var(--text-secondary);
    padding: 10px 22px 10px 12px;
    font-size: 13px;
}
.mobile-accordion-panel a:last-child { border-bottom: 0; }
.mobile-accordion-panel a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent-secondary);
    transform: translateY(-50%);
}
.mobile-accordion-panel a:hover,
.mobile-accordion-panel a:focus-visible { color: var(--accent-primary); }
.btn-close-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--text-primary);
    transition: color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.btn-close-custom:hover { border-color: var(--accent-primary); color: var(--accent-primary); transform: rotate(5deg); }

/* ---------- Site-wide surface consistency ---------- */
.fleet-card,
.route-card,
.review-card,
.related-service-card { background: var(--bg-section); }

main > section:not(.home-hero):not(.internal-hero):not(.fleet-hero):not(.tour-hero):not(.airport-hero-detail):not(.guide-hero):not(.legal-hero):not(.contact-success-hero) {
    border-top: 1px solid rgba(48,48,48,.72);
}

.section-heading { margin-bottom: 44px; }
.section-heading h2 { text-wrap: balance; }

.section-heading p { max-width: 760px; margin-inline: auto; }

/* More legible long-form copy on the dark site. */
.guide-content,
.legal-content,
.service-editorial-copy,
.tour-prose,
.editorial-copy { color: var(--text-secondary); }
.guide-content p,
.legal-content p,
.guide-content li,
.legal-content li { line-height: 1.82; }

/* ---------- Card / module usability ---------- */
.service-card,
.fleet-card,
.route-card,
.review-card,
.related-service-card,
.services-core-card,
.service-feature-card,
.service-group-card,
.airport-card,
.airport-route-card,
.airport-fleet-card,
.tour-highlight-card,
.tour-related-card,
.tour-destination-card,
.guide-hub-card,
.contact-method-card,
.principle-card,
.benefit-item {
    transition: transform 320ms var(--ease-luxury), border-color 260ms ease, background-color 260ms ease, box-shadow 320ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .service-card:hover,
    .fleet-card:hover,
    .route-card:hover,
    .review-card:hover,
    .related-service-card:hover,
    .services-core-card:hover,
    .service-feature-card:hover,
    .service-group-card:hover,
    .airport-card:hover,
    .airport-route-card:hover,
    .airport-fleet-card:hover,
    .tour-highlight-card:hover,
    .tour-related-card:hover,
    .tour-destination-card:hover,
    .guide-hub-card:hover,
    .contact-method-card:hover,
    .principle-card:hover,
    .benefit-item:hover {
        transform: translateY(-3px);
        border-color: rgba(255,143,0,.48);
        box-shadow: 0 18px 34px rgba(0,0,0,.16);
    }
}

/* ---------- FAQ: clearer active state + smoother interaction ---------- */
.faq-item {
    margin-inline: -16px;
    border-color: var(--border);
    border-radius: 3px;
    padding-inline: 16px;
    transition: background-color var(--transition), border-color var(--transition);
}
.faq-item.is-open {
    border-color: rgba(255,143,0,.34);
    background: var(--bg-section);
}
.faq-question { min-height: 68px; }
.faq-symbol {
    border: 1px solid var(--border);
    border-radius: 50%;
    font-size: 18px;
    transition: border-color var(--transition), color var(--transition), transform var(--transition);
}
.faq-item.is-open .faq-symbol {
    border-color: rgba(255,143,0,.5);
    color: var(--accent-primary);
    transform: rotate(180deg);
}
.faq-answer p { padding-right: 42px;padding-left: 15px; }

/* ---------- Forms ---------- */
input,
select,
textarea {
    color-scheme: dark;
}
.quick-quote,
.contact-form-card,
.airport-quick-quote,
.guide-callout,
.legal-callout {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.contact-field input,
.contact-field select,
.contact-field textarea,
.quote-field input,
.quote-field select {
    transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}
.contact-field input:hover,
.contact-field select:hover,
.contact-field textarea:hover,
.quote-field input:hover,
.quote-field select:hover { border-color: #444; }

/* ---------- Animation polish ---------- */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(1.5px);
    transition: opacity 680ms var(--ease-luxury), transform 680ms var(--ease-luxury), filter 680ms var(--ease-luxury);
    will-change: opacity, transform;
}
.reveal.is-visible,
.reveal-ready {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Prevent extremely wide desktop nav from becoming cramped at 1280px. */
@media (max-width: 1339.98px) {
    .desktop-nav { display: none; }
    .mobile-menu-toggle { display: block; }
    .site-header__inner { justify-content: space-between; }
    .header-actions { margin-left: 0; }
}

@media (max-width: 767.98px) {
    .site-header { background: rgba(11,11,11,.97); }
    .mobile-offcanvas { width: min(92vw, 420px) !important; }
    .faq-item { margin-inline: -10px; padding-inline: 0px; }
    .faq-answer p { padding-right: 0; }
    .section-heading { margin-bottom: 34px; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal { filter: none; }
    .service-card,
    .fleet-card,
    .route-card,
    .review-card,
    .related-service-card,
    .services-core-card,
    .service-feature-card,
    .service-group-card,
    .airport-card,
    .airport-route-card,
    .airport-fleet-card,
    .tour-highlight-card,
    .tour-related-card,
    .tour-destination-card,
    .guide-hub-card,
    .contact-method-card,
    .principle-card,
    .benefit-item { transform: none !important; transition-duration: 0.01ms !important; }
}

/* =========================================================
   31. Booking / Quote / Testimonials QA additions
========================================================= */
.journey-planner-section { background: var(--bg-secondary); }
.journey-planner-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
    gap: 34px;
    align-items: start;
}
.journey-planner-support {
    position: sticky;
    top: calc(var(--header-height) + 28px);
    border: 1px solid var(--border);
    background: var(--bg-section);
    padding: 30px;
}
.journey-planner-support h2 {
    margin-bottom: 24px;
    color: var(--text-primary);
    font-size: clamp(24px, 2.5vw, 31px);
}
.journey-support-list { margin-bottom: 24px; border-top: 1px solid var(--border); }
.journey-support-list > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 2px 12px;
    border-bottom: 1px solid var(--border);
    padding: 16px 0;
}
.journey-support-list span { grid-row: 1 / 3; color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.journey-support-list strong { color: var(--text-primary); font-size: 13px; }
.journey-support-list p { margin: 2px 0 0; color: var(--text-muted); font-size: 12px; line-height: 1.55; }
.contact-field--quarter { grid-column: span 1; }

.testimonial-directory { background: var(--bg-secondary); }
.review-source-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    max-width: 980px;
    margin: 0 auto;
}
.review-source-card {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border);
    background: var(--bg-section);
    padding: 30px;
}
.review-source-card > span { color: var(--accent-primary); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.review-source-card h3 { margin: 46px 0 12px; font-size: 21px; }
.review-source-card p { color: var(--text-secondary); font-size: 13px; }
.review-source-card .text-link-gold { margin-top: auto; }

@media (max-width: 991.98px) {
    .journey-planner-layout { grid-template-columns: 1fr; }
    .journey-planner-support { position: static; }
}
@media (max-width: 767.98px) {
    .contact-field--quarter { grid-column: 1 / -1; }
    .review-source-grid { grid-template-columns: 1fr; }
    .journey-planner-support { padding: 24px; }
}

/* =========================================================
   32. Responsive Grid Hardening — Final QA
========================================================= */
.service-fleet-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-width: 0;
}
.service-fleet-card,
.service-fleet-card__media,
.service-fleet-card__body {
    min-width: 0;
    max-width: 100%;
}
.service-fleet-card__media {
    display: block;
}
.service-fleet-card__media img {
    display: block;
    max-width: 100%;
}

@media (max-width: 1199.98px) {
    .service-fleet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .service-fleet-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Mega-menu visibility is immediate on open and delayed only on close.
   This keeps keyboard focus reliable while preserving the fade/slide exit. */
.mega-menu {
    transition:
        opacity 220ms ease,
        transform 260ms var(--ease-luxury),
        visibility 0s linear 260ms;
}
.mega-nav-item.is-open .mega-menu {
    visibility: visible;
    transition:
        opacity 220ms ease,
        transform 260ms var(--ease-luxury),
        visibility 0s linear 0s;
}

/* =========================================================
   33. Final 320px Overflow Fixes — 2026-08-30
========================================================= */
@media (max-width: 767.98px) {
    /* Legal policy navigation: compact grid instead of a wide horizontal rail. */
    .legal-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
        width: 100%;
    }
    .legal-nav a {
        min-width: 0;
        width: 100%;
        flex: none;
        min-height: 56px;
        padding: 11px 8px;
        border-left: 0 !important;
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
        overflow-wrap: anywhere;
        word-break: normal;
    }
    .legal-nav a:nth-child(2n) { border-right: 0; }
    .legal-nav a:nth-last-child(-n+2) { border-bottom: 0; }

    /* Editorial CTA labels can be intentionally descriptive; wrap them on phones. */
    .guide-commercial-cta .btn-premium,
    .guide-content .btn-premium,
    .guide-cta .btn-premium {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.35;
        padding-inline: 14px;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 359.98px) {
    .legal-nav { grid-template-columns: minmax(0, 1fr); }
    .legal-nav a,
    .legal-nav a:nth-child(2n),
    .legal-nav a:nth-last-child(-n+2) {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }
    .legal-nav a:last-child { border-bottom: 0; }
}

/* =========================================================
   34. FINAL LIGHT + DARK BALANCE — 2026-08-30
   Premium hybrid UI requested after the all-dark Obsidian build.
   Dark is reserved for navigation, heroes, premium bands and CTAs;
   reading/content modules use bright neutral surfaces for clarity.
========================================================= */
:root {
    --light-page: #F4F5F6;
    --light-surface: #FFFFFF;
    --light-soft: #ECEEEF;
    --light-soft-2: #F8F8F7;
    --light-text: #17191B;
    --light-copy: #52565B;
    --light-muted: #73777C;
    --light-border: #D9DCE0;
}

/* Global light reading canvas */
html { background: var(--light-page); }
body { background: var(--light-page); color: var(--light-copy); }
main,
.internal-page,
.page-fleet main,
.page-services main,
.page-airport main,
.page-private-tours main,
.page-guide main,
.page-legal main,
.page-contact main {
    background: var(--light-page);
    color: var(--light-copy);
}
main h1, main h2, main h3, main h4, main h5, main h6,
.section-heading h2,
.why-intro h2,
.faq-heading h2 { color: var(--light-text); }
main p, main li, main dd, main figcaption,
.section-heading p,
.why-intro > p,
.faq-heading > p { color: var(--light-copy); }
main small, main .small, main .meta { color: var(--light-muted); }

/* Primary light sections */
.services-section,
.fleet-section,
.why-section,
.faq-section,
.reviews-section,
.internal-editorial--ivory,
.split-feature,
.process-section,
.internal-faq,
.principle-section,
.coverage-section,
.standards-section,
.testimonial-preview,
.corporate-benefits,
.featured-locations,
.south-section,
.directory-section,
.featured-destinations,
.flexible-tour-section,
.arrival-section,
.flight-monitor-section,
.airport-routes,
.airport-vehicles,
.related-services-section,
.fleet-intro,
.fleet-choice-section,
.fleet-journey-section,
.fleet-planning-section,
.vehicle-specs,
.vehicle-overview,
.vehicle-best-section,
.vehicle-use-section:not(.vehicle-use-section--dark),
.related-fleet-section,
.fleet-faq,
.fleet-services-section,
.vehicle-booking-detail,
.services-overview-intro,
.service-choice-guide,
.service-fleet-preview,
.service-intro,
.service-editorial-split--light,
.service-process-section,
.service-related,
.service-faq,
.service-group-band--ivory,
.airport-intro-detail,
.airport-process-detail,
.airport-departure-detail,
.airport-routes-detail,
.airport-luggage-detail,
.airport-related-detail,
.airport-faq-detail,
.tour-editorial-image,
.tour-how,
.tour-faq,
.tour-related,
.guide-opening,
.guide-related,
.guide-hub-intro,
.guide-hub-list,
.guide-faq,
.legal-layout,
.related-policies,
.contact-methods-section,
.contact-form-section,
.error-page,
.booking-page,
.quote-page,
.testimonials-section {
    background: var(--light-page);
    color: var(--light-copy);
}

/* Alternate light bands provide structure without returning to an all-dark page */
.routes-section,
.trust-strip + .fleet-section,
.location-directory,
.service-choice-guide,
.service-fleet-preview,
.airport-routes-detail,
.airport-related-detail,
.tour-related,
.guide-related,
.related-policies,
.contact-methods-section,
.fleet-planning-section {
    background: var(--light-soft-2);
}

/* Home trust strip remains a deliberate dark divider */
.trust-strip {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}
.trust-strip h2 { color: var(--text-primary); }
.trust-strip p { color: var(--text-secondary); }
.trust-strip .trust-item { border-color: var(--border); border-radius: 5px;}

/* Light cards / information panels */
.service-card,
.fleet-card,
.route-card,
.review-card,
.why-card,
.location-card,
.destination-card,
.airport-route-card,
.services-core-card,
.service-fleet-card,
.service-route-card,
.related-fleet-card,
.fleet-choice-card,
.airport-access-alert__card,
.tour-guide-note,
.tour-practical-note,
.tour-collection-card,
.tour-related-card,
.tour-destination-card,
.guide-callout,
.guide-inline-cta,
.guide-mistakes > div,
.guide-related-card,
.guide-hub-card,
.legal-summary,
.legal-callout,
.legal-placeholder-list,
.legal-table-wrap,
.related-policies__links a,
.contact-method-card,
.journey-help-item,
.contact-form-panel,
.contact-support-panel,
.voice-privacy,
.voice-prompt,
.contact-success-card,
.flight-monitor-card,
.vehicle-suitability,
.coverage-destinations,
.fleet-compatibility,
.fleet-compatibility__row,
.related-service-card,
.service-group-card,
.service-choice-row,
.tour-process-grid article,
.vehicle-use-card,
.process-step,
.principle-card,
.account-benefit,
.solution-card,
.directory-group {
    background: var(--light-surface);
    border-color: var(--light-border);
    color: var(--light-copy);
    box-shadow: 0 12px 34px rgba(22, 24, 28, .055);
}

/* Card typography on light surfaces */
.service-card h3,
.fleet-card h3,
.route-card h3,
.review-card h3,
.location-card h3,
.destination-card h3,
.services-core-card h3,
.service-fleet-card h3,
.service-group-card h3,
.related-service-card h3,
.tour-destination-card h3,
.tour-related-card h3,
.guide-related-card h3,
.guide-hub-card h3,
.contact-method-card h3,
.journey-help-item h3,
.vehicle-use-card h3,
.process-step h3,
.principle-card h3,
.account-benefit h3,
.solution-card h3,
.directory-group h3,
.coverage-destinations,
.fleet-compatibility__row > div:first-child {
    color: var(--light-text);
}
.service-card p,
.fleet-card p,
.route-card p,
.review-card p,
.location-card p,
.destination-card p,
.services-core-card p,
.service-fleet-card p,
.service-group-card p,
.related-service-card p,
.tour-destination-card p,
.tour-related-card p,
.guide-related-card p,
.guide-hub-card p,
.contact-method-card p,
.journey-help-item p,
.vehicle-use-card p,
.process-step p,
.principle-card p,
.account-benefit p,
.solution-card p,
.directory-group p,
.fleet-compatibility__row > div {
    color: var(--light-copy);
}

/* Lines/borders on light content */
.benefit-grid,
.benefit-item,
.faq-item,
.internal-faq__item,
.service-faq__item,
.tour-faq__item,
.airport-faq__item,
.guide-faq__item,
.premium-list li,
.editorial-service-list,
.standards-points,
.standards-points > div,
.service-choice-row,
.tour-service-link-row,
.guide-section,
.guide-toc,
.legal-toc,
.legal-nav,
.related-services-grid,
.related-service-card,
.process-grid,
.process-step,
.principle-grid,
.principle-card,
.coverage-destinations,
.coverage-destinations span,
.fleet-compatibility,
.fleet-compatibility__row > div,
.vehicle-use-grid,
.vehicle-use-card,
.tour-process-grid,
.tour-process-grid article {
    border-color: var(--light-border);
}

/* Form system is light by default for better readability */
input,
select,
textarea,
.contact-field input,
.contact-field select,
.contact-field textarea,
.booking-field input,
.booking-field select,
.booking-field textarea {
    background: var(--light-surface);
    color: var(--light-text);
    border-color: var(--light-border);
}
input::placeholder,
textarea::placeholder { color: #8B8F93; }
select option { background: var(--light-surface); color: var(--light-text); }
.contact-form-panel,
.contact-support-panel { border: 1px solid var(--light-border); }
.contact-field label,
.booking-field label,
.form-label { color: var(--light-text); }

/* Quick quote stays dark to anchor the hero */
.quote-panel,
.quick-quote-shell,
.home-hero .quote-panel {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}
.quote-panel input,
.quote-panel select,
.quote-panel textarea,
.quick-quote-shell input,
.quick-quote-shell select,
.quick-quote-shell textarea,
.quote-field input,
.quote-field select {
    background: var(--bg-section);
    color: var(--text-primary);
    border-color: var(--border);
}
.quote-panel label,
.quote-field label { color: var(--text-secondary); }
.quote-panel input::placeholder,
.quick-quote-shell input::placeholder { color: var(--text-muted); }
.quote-panel select option,
.quick-quote-shell select option { background: var(--bg-section); color: var(--text-primary); }

/* Long-form Guides are intentionally light for comfortable reading */
.page-guide main { background: var(--light-page); }
.guide-layout,
.guide-content,
.guide-article,
.guide-prose { color: var(--light-copy); }
.guide-content h2,
.guide-content h3,
.guide-article h2,
.guide-article h3,
.guide-toc summary { color: var(--light-text); }
.guide-content p,
.guide-article p,
.guide-section p,
.guide-toc a { color: var(--light-copy); }
.guide-content a,
.guide-article a,
.guide-toc a:hover { color: #B86100; }
.guide-toc { background: var(--light-surface); border: 1px solid var(--light-border); border-top: 3px solid var(--accent-primary); padding: 20px; }
.guide-callout--key { background: #202124; color: var(--text-primary); border-color: #202124; }
.guide-callout--key h2,
.guide-callout--key h3,
.guide-callout--key strong,
.guide-callout--key p { color: var(--text-primary); }
.guide-callout--planning { background: #FFF7EB; border-color: #F1D3AA; }
.guide-callout--important { background: var(--light-surface); border-color: var(--light-border); }

/* Legal pages use bright reading surfaces and retain dark premium heroes */
.page-legal main { background: var(--light-page); }
.legal-nav { background: var(--light-surface); border-color: var(--light-border); }
.legal-nav a { color: var(--light-copy); }
.legal-nav a:hover,
.legal-nav a[aria-current="page"] { color: #B86100; }
.legal-content { color: var(--light-copy); }
.legal-content h2,
.legal-content h3,
.legal-toc summary,
.legal-definition dt { color: var(--light-text); }
.legal-content p,
.legal-content li,
.legal-toc a { color: var(--light-copy); }
.legal-content a,
.legal-toc a:hover { color: #B86100; }
.legal-toc { background: var(--light-surface); border: 1px solid var(--light-border); border-top: 3px solid var(--accent-primary); padding: 20px; }
.legal-table thead th { background: #202124; color: #FFFFFF; border-color: #34363A; }
.legal-table tbody th,
.legal-table td { background: var(--light-surface); color: var(--light-copy); border-color: var(--light-border); }

/* Dark premium bands retain the Obsidian Orange identity */
.section-dark,
.internal-dark-band,
.expectation-band,
.roadshow-band,
.airport-benefits-band,
.fleet-lineup-section,
.fleet-standards-band,
.vehicle-experience,
.vehicle-use-section--dark,
.vehicle-gallery-section,
.service-group-band:not(.service-group-band--ivory),
.service-feature-section--dark,
.service-editorial-split:not(.service-editorial-split--light),
.airport-special-detail--dark,
.airport-fleet-detail,
.tour-fleet,
.tour-combined-hub,
.final-cta,
.internal-final-cta,
.service-final-cta,
.airport-final-cta,
.tour-final-cta,
.fleet-final-cta,
.policy-contact,
.contact-final-cta,
.contact-success-hero {
    background: var(--bg-primary);
    color: var(--text-primary);
}
.section-dark h1, .section-dark h2, .section-dark h3,
.internal-dark-band h1, .internal-dark-band h2, .internal-dark-band h3,
.expectation-band h2, .expectation-band h3,
.roadshow-band h2, .roadshow-band h3,
.airport-benefits-band h2, .airport-benefits-band h3,
.fleet-lineup-section h2, .fleet-lineup-section h3,
.fleet-standards-band h2, .fleet-standards-band h3,
.vehicle-experience h2, .vehicle-experience h3,
.vehicle-use-section--dark h2, .vehicle-use-section--dark h3,
.vehicle-gallery-section h2, .vehicle-gallery-section h3,
.service-group-band:not(.service-group-band--ivory) h2,
.service-group-band:not(.service-group-band--ivory) h3,
.service-feature-section--dark h2, .service-feature-section--dark h3,
.service-editorial-split:not(.service-editorial-split--light) h2,
.service-editorial-split:not(.service-editorial-split--light) h3,
.airport-special-detail--dark h2, .airport-special-detail--dark h3,
.airport-fleet-detail h2, .airport-fleet-detail h3,
.tour-fleet h2, .tour-fleet h3,
.tour-combined-hub h2, .tour-combined-hub h3,
.final-cta h2, .internal-final-cta h2,
.service-final-cta h2, .airport-final-cta h2,
.tour-final-cta h2, .fleet-final-cta h2,
.policy-contact h2, .contact-final-cta h2,
.contact-success-hero h1 { color: var(--text-primary); }
.section-dark p,
.internal-dark-band p,
.expectation-band p,
.roadshow-band p,
.airport-benefits-band p,
.fleet-lineup-section p,
.fleet-standards-band p,
.vehicle-experience p,
.vehicle-use-section--dark p,
.vehicle-gallery-section p,
.service-group-band:not(.service-group-band--ivory) p,
.service-feature-section--dark p,
.service-editorial-split:not(.service-editorial-split--light) p,
.airport-special-detail--dark p,
.airport-fleet-detail p,
.tour-fleet p,
.tour-combined-hub p,
.final-cta p,
.internal-final-cta p,
.service-final-cta p,
.airport-final-cta p,
.tour-final-cta p,
.fleet-final-cta p,
.policy-contact p,
.contact-final-cta p { color: var(--text-secondary); }

/* Dark cards inside intentionally dark sections */
.fleet-lineup-card,
.fleet-standards-grid article,
.tour-fleet-card,
.service-group-band:not(.service-group-band--ivory) .service-group-card,
.service-feature-section--dark .service-feature-card,
.airport-fleet-detail .service-fleet-card {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-secondary);
    box-shadow: none;
}
.fleet-lineup-card h3,
.fleet-standards-grid h3,
.tour-fleet-card h3,
.service-group-band:not(.service-group-band--ivory) .service-group-card h3,
.service-feature-section--dark .service-feature-card h3,
.airport-fleet-detail .service-fleet-card h3 { color: var(--text-primary); }
.fleet-lineup-card p,
.fleet-standards-grid p,
.tour-fleet-card p,
.service-group-band:not(.service-group-band--ivory) .service-group-card p,
.service-feature-section--dark .service-feature-card p,
.airport-fleet-detail .service-fleet-card p { color: var(--text-secondary); }

/* Hero family remains dark and cinematic */
.home-hero,
.internal-hero,
.fleet-hero,
.airport-hero-detail,
.tour-hero,
.guide-hero,
.legal-hero,
.contact-success-hero {
    background: var(--bg-primary);
    color: var(--text-primary);
}
.home-hero h1, .home-hero h2, .home-hero h3,
.internal-hero h1, .internal-hero h2, .internal-hero h3,
.fleet-hero h1, .fleet-hero h2, .fleet-hero h3,
.airport-hero-detail h1, .airport-hero-detail h2, .airport-hero-detail h3,
.tour-hero h1, .tour-hero h2, .tour-hero h3,
.guide-hero h1, .guide-hero h2, .guide-hero h3,
.legal-hero h1, .legal-hero h2, .legal-hero h3,
.contact-success-hero h1 { color: var(--text-primary); }
.home-hero p, .internal-hero p, .fleet-hero p,
.airport-hero-detail p, .tour-hero p, .guide-hero p,
.legal-hero p, .contact-success-hero p { color: var(--text-secondary); }
.breadcrumb-nav,
.home-hero .breadcrumb,
.internal-hero .breadcrumb,
.fleet-hero .breadcrumb,
.airport-hero-detail .breadcrumb,
.tour-hero .breadcrumb,
.guide-hero .breadcrumb,
.legal-hero .breadcrumb { color: var(--text-secondary); }

/* Light FAQ treatment */
.faq-item,
.internal-faq__item,
.service-faq__item,
.tour-faq__item,
.airport-faq__item,
.guide-faq__item {
    background: transparent;
    border-color: var(--light-border);
}
.faq-question,
.faq-toggle,
.accordion-button { color: var(--light-text); }
.faq-answer,
.accordion-body,
.faq-answer p { color: var(--light-copy); }
.faq-item.is-open { background: rgba(255, 143, 0, .045); }

/* Refined hover/focus on the light system */
.service-card,
.fleet-card,
.route-card,
.review-card,
.location-card,
.destination-card,
.service-group-card,
.tour-destination-card,
.tour-related-card,
.guide-related-card,
.contact-method-card,
.related-service-card {
    transition: transform 260ms var(--ease-luxury), border-color 260ms ease, box-shadow 260ms ease;
}
.service-card:hover,
.fleet-card:hover,
.route-card:hover,
.review-card:hover,
.location-card:hover,
.destination-card:hover,
.service-group-card:hover,
.tour-destination-card:hover,
.tour-related-card:hover,
.guide-related-card:hover,
.contact-method-card:hover,
.related-service-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255,143,0,.55);
    box-shadow: 0 18px 42px rgba(22, 24, 28, .09);
}

/* Better button contrast on light surfaces */
.btn-dark-custom,
.btn-outline-dark {
    background: #17191B;
    border-color: #17191B;
    color: #FFFFFF;
}
.btn-dark-custom:hover,
.btn-outline-dark:hover {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--bg-primary);
}
.btn-outline-light-custom { background: transparent; border-color: rgba(255,255,255,.5); color: #FFFFFF; }
.btn-outline-light-custom:hover { background: #FFFFFF; border-color: #FFFFFF; color: #17191B !important; }

/* Contact voice controls on light form surfaces */
.voice-btn { color: var(--light-text); background: var(--light-surface); border-color: var(--accent-primary); }
.voice-btn:hover { background: #FFF5E7; color: var(--light-text); }
.voice-btn.is-listening,
.voice-control.is-listening { background: #FFF0D9; color: #A95600; }
.voice-privacy,
.voice-prompt { color: var(--light-copy); }

/* Reviews / meta */
.review-source,
.review-card time,
.review-meta,
.fleet-card li span,
.fleet-note,
.guide-meta:not(.guide-hero .guide-meta),
.legal-meta:not(.legal-hero .legal-meta) { color: var(--light-muted); }
.google-g { background: var(--light-surface); border-color: var(--light-border); }

/* Header/footer remain dark by design */
.site-header,
.site-header.is-scrolled,
.site-header.menu-open,
.mega-menu,
.mega-panel,
.offcanvas-menu,
.mobile-nav-panel,
.site-footer,
.footer-bottom { color: var(--text-primary); }

/* Mobile hardening for the hybrid theme */
@media (max-width: 991.98px) {
    .guide-side { position: static; }
    .guide-toc,
    .legal-toc { width: 100%; }
    .contact-form-panel,
    .contact-support-panel { box-shadow: none; }
}
@media (max-width: 767.98px) {
    .service-card,
    .fleet-card,
    .route-card,
    .review-card,
    .location-card,
    .destination-card,
    .contact-method-card,
    .guide-related-card,
    .tour-related-card,
    .related-service-card { box-shadow: 0 8px 22px rgba(22,24,28,.05); }
}

@media (prefers-reduced-motion: reduce) {
    .service-card:hover,
    .fleet-card:hover,
    .route-card:hover,
    .review-card:hover,
    .location-card:hover,
    .destination-card:hover,
    .service-group-card:hover,
    .tour-destination-card:hover,
    .tour-related-card:hover,
    .guide-related-card:hover,
    .contact-method-card:hover,
    .related-service-card:hover { transform: none; }
}

/* =========================================================
   35. Hybrid Theme Detail Fixes
========================================================= */
/* Section headings default to dark text on the light canvas. */
.section-heading--dark h2 { color: var(--light-text); }
.section-heading--dark p { color: var(--light-copy); }

/* Restore white heading copy only when the heading sits in a deliberate dark band. */
.section-dark .section-heading--dark h2,
.internal-dark-band .section-heading--dark h2,
.expectation-band .section-heading--dark h2,
.roadshow-band .section-heading--dark h2,
.airport-benefits-band .section-heading--dark h2,
.fleet-lineup-section .section-heading--dark h2,
.fleet-standards-band .section-heading--dark h2,
.vehicle-gallery-section .section-heading--dark h2,
.service-group-band:not(.service-group-band--ivory) .section-heading--dark h2,
.service-feature-section--dark .section-heading--dark h2,
.airport-fleet-detail .section-heading--dark h2,
.airport-special-detail--dark .section-heading--dark h2,
.tour-fleet .section-heading--dark h2,
.tour-combined-hub .section-heading--dark h2,
.voice-how-section .section-heading--dark h2 { color: var(--text-primary) !important; }
.section-dark .section-heading--dark p,
.internal-dark-band .section-heading--dark p,
.expectation-band .section-heading--dark p,
.roadshow-band .section-heading--dark p,
.airport-benefits-band .section-heading--dark p,
.fleet-lineup-section .section-heading--dark p,
.fleet-standards-band .section-heading--dark p,
.vehicle-gallery-section .section-heading--dark p,
.service-group-band:not(.service-group-band--ivory) .section-heading--dark p,
.service-feature-section--dark .section-heading--dark p,
.airport-fleet-detail .section-heading--dark p,
.airport-special-detail--dark .section-heading--dark p,
.tour-fleet .section-heading--dark p,
.tour-combined-hub .section-heading--dark p,
.voice-how-section .section-heading--dark p { color: var(--text-muted) !important; }

/* Contact: bright form and help areas with one dark voice explainer band. */
.contact-form-section,
.contact-journey-help,
.contact-faq-section { background: var(--light-page); color: var(--light-copy); }
.contact-form-card,
.contact-support-panel,
.voice-input-panel,
.contact-support-note,
.voice-how-card,
.journey-help-item {
    border-color: var(--light-border);
}
.contact-form-card,
.contact-support-panel,
.voice-input-panel,
.contact-support-note,
.journey-help-item {
    background: var(--light-surface);
    color: var(--light-copy);
    box-shadow: 0 12px 34px rgba(22,24,28,.055);
}
.contact-form-card__heading h2,
.contact-support-panel h2,
.contact-support-list strong,
.contact-form-card strong,
.contact-support-note p { color: var(--light-text); }
.contact-form-card__heading > p:last-child,
.contact-support-panel > p:not(.section-eyebrow),
.contact-support-list p,
.contact-privacy-copy,
.voice-input-panel__copy p,
.voice-fallback,
.voice-privacy-note p { color: var(--light-copy); }
.contact-support-list,
.contact-support-list > div,
.voice-privacy-note { border-color: var(--light-border); }
.contact-support-note { border-left-color: var(--accent-primary); }
.form-location-wrap .address-suggestions { background: var(--light-surface); border-color: var(--light-border); color: var(--light-text); }
.voice-how-section { background: var(--bg-secondary); color: var(--text-primary); }
.voice-how-card { background: var(--bg-section); color: var(--text-primary); box-shadow: none; }
.voice-how-card h3 { color: var(--text-primary); }
.voice-how-card p { color: var(--text-secondary); }
.contact-final-help { background: var(--bg-primary); color: var(--text-primary); }
.contact-final-help h2 { color: var(--text-primary); }
.contact-final-help p:not(.section-eyebrow) { color: var(--text-secondary); }

/* Booking, quote and testimonial supporting content */
.journey-planner-section,
.testimonial-directory { background: var(--light-page); color: var(--light-copy); }
.journey-planner-support,
.review-source-card {
    background: var(--light-surface);
    border-color: var(--light-border);
    color: var(--light-copy);
    box-shadow: 0 12px 34px rgba(22,24,28,.055);
}
.journey-planner-support h2,
.journey-support-list strong,
.review-source-card h3 { color: var(--light-text); }
.journey-support-list,
.journey-support-list > div { border-color: var(--light-border); }
.journey-support-list p,
.review-source-card p { color: var(--light-copy); }

/* Fleet light-detail fixes */
.fleet-choice-section,
.vehicle-specs { color: var(--light-copy); border-color: var(--light-border); }
.fleet-choice-section h2,
.fleet-choice-section h3,
.vehicle-specs strong,
.fleet-planning-section h2,
.fleet-planning-section h3 { color: var(--light-text); }
.vehicle-specs__grid > div { border-color: var(--light-border); }
.fleet-compatibility__row > div { background: var(--light-surface); }
.fleet-compatibility__header { background: #202124; color: #FFFFFF; }
.fleet-compatibility__header > div { border-color: #34363A; }

/* Tour light-content fixes */
.tour-collection-card,
.tour-related-card,
.tour-destination-card,
.tour-process-grid article { color: var(--light-copy); }
.tour-collection-card h3,
.tour-related-card h3,
.tour-destination-card h3,
.tour-process-grid h3 { color: var(--light-text); }
.tour-collection-card p,
.tour-related-card p,
.tour-destination-card p,
.tour-process-grid p { color: var(--light-copy); }

/* Light related-service/card links should stay clear and premium. */
.light-surface-link,
.related-service-card .text-link-dark,
.service-fleet-card .text-link-dark { color: #B86100; }
.related-service-card .text-link-dark:hover,
.service-fleet-card .text-link-dark:hover { color: #7D4200; }

/* Mobile table/card conversions should inherit light colours. */
@media (max-width: 767.98px) {
    .legal-table tr { background: var(--light-surface); border-color: var(--light-border); }
    .legal-table tbody th { background: var(--light-soft); color: var(--light-text); }
    .legal-table td { background: var(--light-surface); color: var(--light-copy); }
    .journey-planner-support,
    .contact-form-card,
    .contact-support-panel { box-shadow: none; }
}

/* =========================================================
   36. FINAL PROFESSIONAL UI SYSTEM — 2026-08-30
   Page-by-page consistency pass: contrast, 4px geometry,
   alignment, responsive safety and progressive enhancement.
========================================================= */
:root {
    --ui-page: #F5F6F7;
    --ui-surface: #FFFFFF;
    --ui-surface-soft: #EEF0F2;
    --ui-surface-subtle: #FAFAF9;
    --ui-ink: #15171A;
    --ui-copy: #4B5056;
    --ui-muted: #6E747B;
    --ui-line: #DCE0E4;
    --ui-accent-text: #A65300;
    --ui-radius: 4px;
    --ui-shadow: 0 10px 28px rgba(15, 18, 22, .055);
    --ui-shadow-hover: 0 16px 38px rgba(15, 18, 22, .09);
}

/* ---------- Base readability ---------- */
body {
    background: var(--ui-page);
    color: var(--ui-copy);
}
main,
.internal-page,
.page-fleet main,
.page-services main,
.page-airport main,
.page-private-tours main,
.page-guide main,
.page-legal main,
.page-contact main {
    background: var(--ui-page);
    color: var(--ui-copy);
}

main :where(h1,h2,h3,h4,h5,h6) {
    color: var(--ui-ink);
    text-wrap: balance;
}
main :where(p,li,dd,figcaption) { color: var(--ui-copy); }
main :where(small,.small,.meta) { color: var(--ui-muted); }

/* Accessible accent text on light surfaces. The brighter brand orange stays
   reserved for dark surfaces, buttons, focus and decorative accents. */
main :where(a.text-link-gold,a.text-link-dark,.light-surface-link),
.page-guide main a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom),
.page-legal main a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom) {
    color: var(--ui-accent-text);
}
main :where(a.text-link-gold,a.text-link-dark,.light-surface-link):hover,
.page-guide main a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom):hover,
.page-legal main a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom):hover {
    color: #7F4000;
}

/* ---------- Deliberate dark surfaces: enforce predictable contrast ---------- */
:where(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .final-cta,.internal-final-cta,.service-final-cta,.airport-final-cta,.tour-final-cta,.fleet-final-cta,
    .policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero,.site-footer
) {
    color: var(--text-primary);
}
:where(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .final-cta,.internal-final-cta,.service-final-cta,.airport-final-cta,.tour-final-cta,.fleet-final-cta,
    .policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero,.site-footer
) :where(h1,h2,h3,h4,h5,h6,strong,dt,.section-heading--dark h2,.section-heading--light h2) {
    color: var(--text-primary) !important;
}
:where(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .final-cta,.internal-final-cta,.service-final-cta,.airport-final-cta,.tour-final-cta,.fleet-final-cta,
    .policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero,.site-footer
) :where(p,li,dd,figcaption,.section-heading--dark p,.section-heading--light p) {
    color: var(--text-secondary) !important;
}

/* ---------- Geometry: consistent 4px edge language ---------- */
:where(
    .btn-premium,.btn-dark-custom,.btn-outline-light-custom,.btn-outline-dark,.header-book,.quote-submit,.contact-submit,
    .voice-btn,.mobile-menu-toggle,.btn-close-custom,
    input,select,textarea,
    .quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote,
    .contact-form-panel,.contact-form-card,.contact-support-panel,.voice-input-panel,.voice-privacy,.voice-prompt,
    .journey-planner-support,.review-source-card,.contact-success-card,
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,.related-service-card,
    .related-fleet-card,.fleet-choice-card,.fleet-lineup-card,.vehicle-use-card,.vehicle-suitability,.flight-monitor-card,
    .airport-route-card,.airport-fleet-card,.airport-process-step,.airport-access-alert__card,
    .tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.tour-fleet-card,
    .tour-guide-note,.tour-practical-note,.tour-process-grid article,
    .guide-callout,.guide-inline-cta,.guide-mistakes > div,.guide-related-card,.guide-hub-card,.guide-table-wrap,
    .legal-summary,.legal-callout,.legal-placeholder-list,.legal-table-wrap,.related-policies__links a,
    .contact-method-card,.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,
    .coverage-destinations,.fleet-compatibility,.faq-item,.mega-feature,.fleet-mega__cta,.modal-content
) {
    border-radius: var(--ui-radius) !important;
}

/* Preserve circular status/icon controls where the shape is semantically useful. */
:where(.faq-symbol,.floating-action,.back-to-top,.mobile-accordion-icon,.voice-btn__mic,.legal-status)::before { }

/* ---------- Modern button treatment ---------- */
:where(.btn-premium,.btn-dark-custom,.btn-outline-light-custom,.btn-outline-dark,.header-book,.quote-submit,.contact-submit) {
    min-height: 48px;
    padding: 13px 20px;
    border-radius: var(--ui-radius) !important;
    font-weight: 650;
    letter-spacing: .055em;
    box-shadow: none;
    transition: transform 180ms ease, box-shadow 220ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.btn-premium,
.header-book,
.quote-submit,
.contact-submit {
    background: var(--accent-primary) !important;
    border-color: var(--accent-primary);
    color: var(--bg-primary) !important;
}
.btn-premium:hover,
.header-book:hover,
.quote-submit:hover,
.contact-submit:hover {
    background: var(--accent-secondary);
    border-color: var(--accent-secondary);
    color: var(--bg-primary) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(204,134,45,.18);
}

/* ---------- Light content cards ---------- */
:where(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,.fleet-choice-card,
    .airport-route-card,.airport-access-alert__card,.tour-guide-note,.tour-practical-note,.tour-collection-card,
    .tour-related-card,.tour-destination-card,.guide-callout:not(.guide-callout--key),.guide-inline-cta,.guide-mistakes > div,
    .guide-related-card,.guide-hub-card,.legal-summary,.legal-callout,.legal-placeholder-list,.legal-table-wrap,
    .related-policies__links a,.contact-method-card,.journey-help-item,.contact-form-panel,.contact-form-card,
    .contact-support-panel,.voice-input-panel,.voice-privacy,.voice-prompt,.contact-success-card,.flight-monitor-card,
    .vehicle-suitability,.coverage-destinations,.fleet-compatibility,.service-group-band--ivory .service-group-card,
    .service-editorial-split--light .service-feature-card,.tour-process-grid article,.vehicle-use-section:not(.vehicle-use-section--dark) .vehicle-use-card,
    .process-step,.principle-card,.account-benefit,.solution-card,.directory-group,.journey-planner-support,.review-source-card
) {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-line) !important;
    color: var(--ui-copy) !important;
    box-shadow: var(--ui-shadow);
}
:where(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,.fleet-choice-card,
    .airport-route-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.guide-related-card,.guide-hub-card,
    .contact-method-card,.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,
    .journey-planner-support,.review-source-card
) :where(h2,h3,h4,strong,dt) { color: var(--ui-ink) !important; }
:where(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,.fleet-choice-card,
    .airport-route-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.guide-related-card,.guide-hub-card,
    .contact-method-card,.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,
    .journey-planner-support,.review-source-card
) :where(p,li,dd) { color: var(--ui-copy) !important; }

/* Dark cards that intentionally sit in premium dark modules. */
:where(
    .fleet-lineup-card,.fleet-standards-grid article,.tour-fleet-card,
    .service-group-band:not(.service-group-band--ivory) .service-group-card,
    .service-feature-section--dark .service-feature-card,.airport-fleet-detail .service-fleet-card,
    .voice-how-card,.tour-combined-grid > a,.tour-from-london-grid > a,
    .guide-callout--key
) {
    background: var(--bg-section) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-secondary) !important;
    box-shadow: none;
    border-radius: var(--ui-radius) !important;
}
:where(
    .fleet-lineup-card,.fleet-standards-grid article,.tour-fleet-card,
    .service-group-band:not(.service-group-band--ivory) .service-group-card,
    .service-feature-section--dark .service-feature-card,.airport-fleet-detail .service-fleet-card,
    .voice-how-card,.tour-combined-grid > a,.tour-from-london-grid > a,.guide-callout--key
) :where(h2,h3,h4,strong,b) { color: var(--text-primary) !important; }
:where(
    .fleet-lineup-card,.fleet-standards-grid article,.tour-fleet-card,
    .service-group-band:not(.service-group-band--ivory) .service-group-card,
    .service-feature-section--dark .service-feature-card,.airport-fleet-detail .service-fleet-card,
    .voice-how-card,.tour-combined-grid > a,.tour-from-london-grid > a,.guide-callout--key
) :where(p,li) { color: var(--text-secondary) !important; }

/* ---------- Card alignment and content rhythm ---------- */
:where(
    .service-grid,.fleet-grid,.route-grid,.review-grid,.location-card-grid,.services-core-grid,.service-feature-grid,
    .service-fleet-grid,.service-route-grid,.service-group-grid,.related-services-grid,.related-fleet-grid,
    .fleet-choice-grid,.airport-card-grid,.airport-route-grid,.airport-fleet-grid,.airport-process-grid,
    .tour-highlights-grid,.tour-collection-grid,.tour-related-grid,.tour-destination-grid,.tour-combined-grid,
    .tour-from-london-grid,.tour-fleet-grid,.tour-process-grid,.guide-related-grid,.guide-hub-grid,
    .contact-methods-grid,.journey-help-grid,.process-grid,.principle-grid,.solution-grid,.directory-grid,.review-source-grid
) > * {
    min-width: 0;
}
:where(
    .service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.services-core-card,
    .service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,.related-service-card,
    .related-fleet-card,.fleet-choice-card,.airport-card,.airport-route-card,.airport-fleet-card,
    .tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.tour-fleet-card,
    .guide-related-card,.guide-hub-card,.contact-method-card,.journey-help-item,.review-source-card
) {
    height: 100%;
    overflow: hidden;
}
:where(
    .service-card__body,.fleet-card__body,.route-card__body,.location-card__body,.services-core-card__body,
    .service-fleet-card__body,.tour-destination-card__body
) {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
}
:where(
    .service-card__body,.fleet-card__body,.route-card__body,.location-card__body,.services-core-card__body,
    .service-fleet-card__body,.tour-destination-card__body
) > :where(.text-link-gold,.text-link-dark,a:last-child) { margin-top: auto; }

/* ---------- Media edges ---------- */
:where(
    .service-card__media,.fleet-card__image,.route-card__image,.location-card__media,.services-core-card__media,
    .service-fleet-card__media,.fleet-lineup-card__media,.related-fleet-card__media,.tour-destination-card__media,
    .vehicle-gallery__main,.vehicle-gallery__thumb
) { overflow: hidden; }
:where(
    .service-card__media img,.fleet-card__image img,.route-card__image img,.location-card__media img,.services-core-card__media img,
    .service-fleet-card__media img,.fleet-lineup-card__media img,.related-fleet-card__media img,.tour-destination-card__media img,
    .vehicle-gallery__main img,.vehicle-gallery__thumb img
) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 520ms var(--ease-luxury);
}

/* ---------- Hover polish: subtle, professional, never jumpy ---------- */
@media (hover: hover) and (pointer: fine) {
    :where(
        .service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.services-core-card,
        .service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,.related-service-card,
        .related-fleet-card,.fleet-choice-card,.airport-card,.airport-route-card,.airport-fleet-card,
        .tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.tour-fleet-card,
        .guide-related-card,.guide-hub-card,.contact-method-card,.review-source-card
    ):hover {
        transform: translateY(-2px);
        border-color: rgba(255,143,0,.52) !important;
        box-shadow: var(--ui-shadow-hover);
    }
    :where(.service-card,.fleet-card,.route-card,.location-card,.services-core-card,.service-fleet-card,.fleet-lineup-card,.related-fleet-card,.tour-destination-card):hover img {
        transform: scale(1.035);
    }
}

.tour-at-glance {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
}
.tour-at-glance__grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
}
.tour-at-glance__grid > div {
    min-width: 0;
    min-height: 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    border-right: 1px solid var(--border);
    padding: 18px 22px;
}
.tour-at-glance__grid > div:last-child { border-right: 0; }
.tour-at-glance span { color: var(--accent-primary); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.tour-at-glance strong { color: var(--text-primary); font-size: 13px; font-weight: 600; line-height: 1.45; }
.tour-tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.tour-tag-row > span,
.tour-tag-row > i {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--bg-section);
    color: var(--text-secondary);
    padding: 5px 9px;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .08em;
}
.extended-tour-intro .section-eyebrow, .extended-tour-intro  #introTitle , .extended-tour-intro .tour-prose p{color:var(--bg-secondary)}
.tour-editorial-image__copy * {color: var(--bg-primary) !important;}

.voice-tour-link {margin-top: 15px;}
.voice-tour-link  a{color: var(--accent-secondary); text-decoration: underline;}
/* ---------- Section/module alignment ---------- */
main > section:not(.home-hero):not(.internal-hero):not(.fleet-hero):not(.tour-hero):not(.airport-hero-detail):not(.guide-hero):not(.legal-hero):not(.contact-success-hero) {
    border-top: 0 !important;
}
.section-space { padding-block: clamp(34px, 4vw, 46px); position: relative; }
.section-space h2, .section-space p{
 color: var(--light-border);
}
.section-heading,
.faq-heading,
.faq-intro {
    max-width: 780px;
}
.section-heading { margin-bottom: clamp(32px, 4vw, 46px); }
.section-heading h2,
.why-intro h2,
.faq-heading h2,
.faq-intro h2 {
    margin-bottom: 14px;
    line-height: 1.18;
}
.section-heading p,
.why-intro > p,
.faq-heading > p,
.faq-intro > p {
    max-width: 720px;
    line-height: 1.72;
}

/* ---------- FAQ redesign ---------- */
.faq-list { display: grid; gap: 10px; }
.faq-item {
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid var(--ui-line) !important;
    background: var(--ui-surface) !important;
    box-shadow: none;
}
.faq-item.is-open {
    border-color: rgba(255,143,0,.48) !important;
    background: #FFF9F1 !important;
}
.faq-item h3 { margin: 0; }
.faq-question {
    min-height: 64px;
    gap: 18px;
    color: var(--ui-ink) !important;
    text-align: left;
}
.faq-answer,
.faq-answer p { color: var(--ui-copy) !important; }
.faq-symbol {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-color: var(--ui-line);
    color: var(--ui-accent-text);
}

/* ---------- Forms ---------- */
input,select,textarea { color-scheme: light; }
:where(.contact-field input,.contact-field select,.contact-field textarea,.booking-field input,.booking-field select,.booking-field textarea) {
    min-height: 50px;
    border: 1px solid var(--ui-line) !important;
    background: var(--ui-surface) !important;
    color: var(--ui-ink) !important;
    box-shadow: 0 0 0 0 transparent;
}
:where(.contact-field textarea,.booking-field textarea) { min-height: 180px; }
:where(.contact-field input,.contact-field select,.contact-field textarea,.booking-field input,.booking-field select,.booking-field textarea):focus {
    border-color: var(--accent-primary) !important;
    box-shadow: 0 0 0 3px rgba(255,143,0,.12) !important;
    outline: 0;
}
:where(.quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote) input,
:where(.quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote) select,
:where(.quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote) textarea {
    color-scheme: dark;
    background: var(--bg-section) !important;
    color: var(--text-primary) !important;
    border-color: var(--border) !important;
}
:where(.quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote) input::placeholder,
:where(.quote-panel,.quick-quote-shell,.quick-quote,.airport-quick-quote) textarea::placeholder { color: #A9A9A9; }

/* ---------- Guide + Legal readability ---------- */
.guide-content,
.guide-article,
.guide-prose,
.legal-content {
    color: var(--ui-copy) !important;
}
.guide-content :where(h2,h3),
.guide-article :where(h2,h3),
.legal-content :where(h2,h3),
.legal-definition dt { color: var(--ui-ink) !important; }
.guide-content :where(p,li),
.guide-article :where(p,li),
.legal-content :where(p,li,dd) {
    color: var(--ui-copy) !important;
    line-height: 1.82;
}
.guide-toc,
.legal-toc,
.legal-nav {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
}
.guide-toc :where(summary,a),
.legal-toc :where(summary,a),
.legal-nav a { color: var(--ui-copy) !important; }
.guide-toc summary,
.legal-toc summary { color: var(--ui-ink) !important; }
.guide-toc a:hover,
.legal-toc a:hover,
.legal-nav a:hover,
.legal-nav a[aria-current="page"] { color: var(--ui-accent-text) !important; }

/* ---------- Header / navigation refinement ---------- */
.mega-trigger,
.mega-column a { border-radius: var(--ui-radius) !important; }
.mega-menu { border-radius: 0 0 var(--ui-radius) var(--ui-radius); }
.nav-chevron { width: 14px; height: 14px; flex-basis: 14px; }
.nav-chevron svg { width: 10px; height: 6px; stroke-width: 1.8; }
.mega-trigger[aria-expanded="true"] { background: rgba(255,143,0,.075); }

/* ---------- Progressive enhancement: content must never depend on JS ---------- */
.reveal,
.reveal:not(.is-visible),
.reveal:not(.reveal-ready) {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    will-change: auto;
}
.reveal.is-visible {
    animation: uiRevealSoft 520ms var(--ease-luxury) both;
}
@keyframes uiRevealSoft {
    from { opacity: .82; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ---------- Responsive alignment / overflow hardening ---------- */
:where(.container,.section-heading,.faq-layout,.guide-layout,.legal-layout,.contact-form-layout,.journey-planner-layout) {
    min-width: 0;
}
:where(h1,h2,h3,h4,p,a,li,dd,dt,button,label) { overflow-wrap: break-word; }

@media (max-width: 1199.98px) {
    .section-space { padding-block: 42px; }
}

@media (max-width: 991.98px) {
    .section-space { padding-block: 34px; }
    :where(.split-feature__grid,.service-intro-layout,.tour-editorial-grid,.airport-intro-detail__grid,.airport-special-detail__grid,.departure-band__grid,.roadshow-band__grid,.airport-flight-band__grid) {
        gap: 42px;
    }
    .journey-planner-support { position: static; }
}

@media (max-width: 767.98px) {
    .container { width: min(100% - 32px, var(--container)); }
    .section-space { padding-block: 25px; }
    .section-heading,
    .faq-heading,
    .faq-intro { margin-bottom: 30px; }
    .section-heading h2,
    .why-intro h2,
    .faq-heading h2,
    .faq-intro h2 { font-size: clamp(26px, 7.8vw, 30px); }
    .faq-item { padding-inline: 16px !important; }
    .faq-question { min-height: 60px; font-size: 15px; }
    .faq-answer p { padding-right: 0; padding-bottom: 18px; }
    :where(.btn-premium,.btn-dark-custom,.btn-outline-light-custom,.btn-outline-dark,.quote-submit,.contact-submit) {
        min-height: 48px;
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }
    :where(.contact-form-panel,.contact-form-card,.contact-support-panel,.journey-planner-support,.review-source-card) { padding: 22px !important; }
    :where(.guide-callout,.guide-inline-cta,.legal-summary,.legal-callout,.tour-guide-note,.tour-practical-note) { padding: 18px !important; }
}

@media (max-width: 399.98px) {
    .container { width: min(100% - 28px, var(--container)); }
    .cta-group { gap: 10px; }
    .cta-group > a,
    .cta-group > button { width: 100%; }
    .legal-nav { grid-template-columns: minmax(0,1fr); }
    .legal-nav a { border-right: 0 !important; border-bottom: 1px solid var(--ui-line) !important; }
    .legal-nav a:last-child { border-bottom: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal.is-visible { animation: none !important; }
    :where(.service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.services-core-card,
    .service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,.related-service-card,.related-fleet-card,
    .fleet-choice-card,.airport-card,.airport-route-card,.airport-fleet-card,.tour-highlight-card,.tour-collection-card,
    .tour-related-card,.tour-destination-card,.tour-fleet-card,.guide-related-card,.guide-hub-card,.contact-method-card,.review-source-card) {
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   37. CONTENT CONTRAST GUARANTEE — light/dark section scopes
========================================================= */
/* Light reading/content sections: explicitly override legacy dark-copy rules. */
:where(
    .services-section,.fleet-section,.why-section,.routes-section,.faq-section,.reviews-section,
    .internal-editorial--ivory,.split-feature,.process-section,.internal-faq,.principle-section,.coverage-section,
    .standards-section,.testimonial-preview,.corporate-benefits,.featured-locations,.south-section,.directory-section,
    .featured-destinations,.flexible-tour-section,.arrival-section,.flight-monitor-section,.airport-routes,.airport-vehicles,
    .related-services-section,.fleet-intro,.fleet-choice-section,.fleet-journey-section,.fleet-planning-section,.vehicle-specs,
    .vehicle-overview,.vehicle-best-section,.vehicle-use-section:not(.vehicle-use-section--dark),.related-fleet-section,
    .fleet-faq,.fleet-services-section,.vehicle-booking-detail,.services-overview-intro,.service-choice-guide,
    .service-fleet-preview,.service-intro,.service-editorial-split--light,.service-process-section,.service-related,.service-faq,
    .service-group-band--ivory,.airport-intro-detail,.airport-process-detail,.airport-departure-detail,.airport-routes-detail,
    .airport-luggage-detail,.airport-related-detail,.airport-faq-detail,.tour-intro--ivory,.tour-editorial-image,.tour-how,
    .tour-faq,.tour-related,.guide-opening,.guide-related,.guide-hub-intro,.guide-hub-list,.guide-faq,.legal-layout,
    .related-policies,.contact-methods-section,.contact-form-section,.contact-journey-help,.contact-faq-section,
    .journey-planner-section,.testimonial-directory,.error-section,.booking-page,.quote-page,.testimonials-section
) {
    color: var(--ui-copy) !important;
}
:where(
    .services-section,.fleet-section,.why-section,.routes-section,.faq-section,.reviews-section,
    .internal-editorial--ivory,.split-feature,.process-section,.internal-faq,.principle-section,.coverage-section,
    .standards-section,.testimonial-preview,.corporate-benefits,.featured-locations,.south-section,.directory-section,
    .featured-destinations,.flexible-tour-section,.arrival-section,.flight-monitor-section,.airport-routes,.airport-vehicles,
    .related-services-section,.fleet-intro,.fleet-choice-section,.fleet-journey-section,.fleet-planning-section,.vehicle-specs,
    .vehicle-overview,.vehicle-best-section,.vehicle-use-section:not(.vehicle-use-section--dark),.related-fleet-section,
    .fleet-faq,.fleet-services-section,.vehicle-booking-detail,.services-overview-intro,.service-choice-guide,
    .service-fleet-preview,.service-intro,.service-editorial-split--light,.service-process-section,.service-related,.service-faq,
    .service-group-band--ivory,.airport-intro-detail,.airport-process-detail,.airport-departure-detail,.airport-routes-detail,
    .airport-luggage-detail,.airport-related-detail,.airport-faq-detail,.tour-intro--ivory,.tour-editorial-image,.tour-how,
    .tour-faq,.tour-related,.guide-opening,.guide-related,.guide-hub-intro,.guide-hub-list,.guide-faq,.legal-layout,
    .related-policies,.contact-methods-section,.contact-form-section,.contact-journey-help,.contact-faq-section,
    .journey-planner-section,.testimonial-directory,.error-section,.booking-page,.quote-page,.testimonials-section
) :where(h1,h2,h3,h4,h5,h6,strong,dt,b) {
    color: var(--ui-ink) !important;
}
:where(
    .services-section,.fleet-section,.why-section,.routes-section,.faq-section,.reviews-section,
    .internal-editorial--ivory,.split-feature,.process-section,.internal-faq,.principle-section,.coverage-section,
    .standards-section,.testimonial-preview,.corporate-benefits,.featured-locations,.south-section,.directory-section,
    .featured-destinations,.flexible-tour-section,.arrival-section,.flight-monitor-section,.airport-routes,.airport-vehicles,
    .related-services-section,.fleet-intro,.fleet-choice-section,.fleet-journey-section,.fleet-planning-section,.vehicle-specs,
    .vehicle-overview,.vehicle-best-section,.vehicle-use-section:not(.vehicle-use-section--dark),.related-fleet-section,
    .fleet-faq,.fleet-services-section,.vehicle-booking-detail,.services-overview-intro,.service-choice-guide,
    .service-fleet-preview,.service-intro,.service-editorial-split--light,.service-process-section,.service-related,.service-faq,
    .service-group-band--ivory,.airport-intro-detail,.airport-process-detail,.airport-departure-detail,.airport-routes-detail,
    .airport-luggage-detail,.airport-related-detail,.airport-faq-detail,.tour-intro--ivory,.tour-editorial-image,.tour-how,
    .tour-faq,.tour-related,.guide-opening,.guide-related,.guide-hub-intro,.guide-hub-list,.guide-faq,.legal-layout,
    .related-policies,.contact-methods-section,.contact-form-section,.contact-journey-help,.contact-faq-section,
    .journey-planner-section,.testimonial-directory,.error-section,.booking-page,.quote-page,.testimonials-section
) :where(p,li,dd,figcaption,.section-heading p,.faq-heading p,.faq-intro p) {
    color: var(--ui-copy) !important;
}

/* Eyebrows need different orange values depending on their surface. */
main .section-eyebrow { color: var(--ui-accent-text) !important; }
:where(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,.tour-fleet,.tour-combined-hub,
    .tour-itinerary,.voice-how-section,.guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,
    .airport-final-cta,.tour-final-cta,.fleet-final-cta,.policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero
) .section-eyebrow { color: var(--accent-primary) !important; }

/* Dark editorial CTA/callout specifics that previously inherited light text. */
.guide-commercial-cta :where(h2,h3,strong) { color: var(--text-primary) !important; }
.guide-commercial-cta :where(p,li) { color: var(--text-secondary) !important; }
.guide-callout--key :where(p,li) { color: var(--text-secondary) !important; }
.guide-callout--key :where(strong,h2,h3) { color: var(--text-primary) !important; }

/* Legal draft notice is a light, high-contrast warning panel on screen. */
.legal-draft-notice {
    margin-bottom: 34px;
    padding: 20px 22px;
    border: 1px solid #E4C79C;
    border-left: 3px solid var(--accent-primary);
    border-radius: var(--ui-radius);
    background: #FFF8EC;
    color: var(--ui-copy);
}
.legal-draft-notice strong { color: var(--ui-accent-text) !important; }
.legal-draft-notice p { color: var(--ui-copy) !important; }

/* Breadcrumbs: light text in heroes, accessible dark-orange links on light pages. */
.breadcrumb-nav { color: var(--ui-muted); }
.breadcrumb-nav a { color: var(--ui-accent-text); }
:where(.home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero) .breadcrumb-nav {
    color: var(--text-secondary) !important;
}
:where(.home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero) .breadcrumb-nav a {
    color: var(--text-primary) !important;
}
:where(.home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero) .breadcrumb-nav a:hover {
    color: var(--accent-primary) !important;
}

/* Helper/meta text must remain legible on light surfaces. */
.contact-field-help,
.form-text,
.fleet-note,
.review-meta,
.review-source,
.guide-meta:not(.guide-hero .guide-meta),
.legal-meta:not(.legal-hero .legal-meta) { color: var(--ui-muted) !important; }
.contact-privacy-copy a,
.voice-privacy-note a { color: var(--ui-accent-text) !important; }

/* Keep hero meta/lead readable. */
.guide-hero__lead,
.legal-hero__lead,
.guide-hero .guide-meta,
.legal-hero .legal-meta { color: var(--text-secondary) !important; }

/* Button and text-link colours should not be affected by inherited link rules. */
.btn-premium,
.header-book,
.quote-submit,
.contact-submit { color: var(--bg-primary) !important; }
.btn-outline-light-custom { color: var(--text-primary) !important; }
.btn-dark-custom,
.btn-outline-dark { color: #FFFFFF !important; }
.text-link-gold,
.text-link-dark { color: var(--ui-accent-text) !important; }
:where(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.fleet-lineup-section,.fleet-standards-band,
    .vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,.service-feature-section--dark,
    .service-group-band:not(.service-group-band--ivory),.airport-fleet-detail,.tour-fleet,.tour-combined-hub,.tour-itinerary,
    .guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,.airport-final-cta,.tour-final-cta,.fleet-final-cta
) :where(.text-link-gold,.text-link-dark) { color: var(--accent-primary) !important; }

/* =========================================================
   38. FINAL CONTRAST PRIORITY FIXES
========================================================= */
/* Use :is() here (rather than :where()) so dark module rules outrank
   page-family typography such as .guide-article h2. */
main :is(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .vehicle-extra-section,.service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,.tour-fleet,.tour-combined-hub,
    .tour-itinerary,.voice-how-section,.guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,
    .airport-final-cta,.tour-final-cta,.fleet-final-cta,.policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero
) :is(h1,h2,h3,h4,h5,h6,strong,b,dt) {
    color: var(--text-primary) !important;
}
main :is(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .vehicle-extra-section,.service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,.tour-fleet,.tour-combined-hub,
    .tour-itinerary,.voice-how-section,.guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,
    .airport-final-cta,.tour-final-cta,.fleet-final-cta,.policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero
) :is(p,li,dd,figcaption) {
    color: var(--text-secondary) !important;
}
main :is(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .trust-strip,.section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,
    .vehicle-extra-section,.service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,
    .service-editorial-split:not(.service-editorial-split--light),.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,.tour-fleet,.tour-combined-hub,
    .tour-itinerary,.voice-how-section,.guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,
    .airport-final-cta,.tour-final-cta,.fleet-final-cta,.policy-contact,.contact-final-cta,.contact-final-help,.contact-success-hero
) .section-eyebrow {
    color: var(--accent-primary) !important;
}

/* Guide reading components are light; their internal steps must not inherit the old dark copy colour. */
main .guide-opening .guide-steps p,
main .guide-opening .guide-mistakes p,
main .guide-section .guide-steps p,
main .guide-section .guide-mistakes p {
    color: var(--ui-copy) !important;
}

/* Legal policy navigation: current page should remain clear on the light nav surface. */
.legal-nav a.is-current,
.legal-nav a[aria-current="page"] {
    background: #FFF4E5 !important;
    color: var(--ui-accent-text) !important;
    box-shadow: inset 0 -2px 0 var(--accent-primary);
}

/* Dark editorial vehicle module introduced on selected Fleet pages. */
.vehicle-extra-section {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}
.vehicle-extra-section .vehicle-extra-aside { border-color: var(--border); }
.vehicle-extra-section .btn-outline-light-custom { color: var(--text-primary) !important; }

/* Bright brand orange is accessible on the black/charcoal surfaces. */
main :is(
    .home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
    .section-dark,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,.fleet-lineup-section,
    .fleet-standards-band,.vehicle-experience,.vehicle-use-section--dark,.vehicle-gallery-section,.vehicle-extra-section,
    .service-group-band:not(.service-group-band--ivory),.service-feature-section--dark,.service-info-band,.service-route-section,
    .airport-special-detail--dark,.airport-fleet-detail,.airport-flight-band,.departure-band,.tour-fleet,.tour-combined-hub,
    .tour-itinerary,.voice-how-section,.guide-commercial-cta,.final-cta,.internal-final-cta,.service-final-cta,
    .airport-final-cta,.tour-final-cta,.fleet-final-cta,.policy-contact,.contact-final-cta,.contact-final-help
) :is(.text-link-gold,.text-link-dark) {
    color: var(--accent-primary) !important;
}

/* =========================================================
   39. PAGE-FAMILY FINAL UI ALIGNMENT + CONTRAST LOCK
   Final production pass: explicit rules intentionally outrank legacy page CSS.
========================================================= */
/* Standard light content bands. */
main .service-feature-section:not(.service-feature-section--dark),
main .service-route-section,
main .airport-card-grid,
main .corporate-solutions,
main .solutions-section {
    background: var(--ui-page) !important;
    color: var(--ui-copy) !important;
}

/* Light cards must always carry dark readable copy. */
main .services-section .service-card,
main .solution-card,
main .airport-card,
main .service-feature-section:not(.service-feature-section--dark) .service-feature-card,
main .service-route-section .service-route-card,
main .related-services-section .related-service-card,
main .service-related .related-service-card {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
    box-shadow: var(--ui-shadow) !important;
}
main .services-section .service-card :is(h3,h4,strong,b),
main .solution-card :is(h3,h4,strong,b),
main .airport-card :is(h3,h4,strong,b),
main .service-feature-section:not(.service-feature-section--dark) .service-feature-card :is(h3,h4,strong,b),
main .service-route-section .service-route-card :is(h3,h4,strong,b),
main .related-services-section .related-service-card :is(h3,h4,strong,b),
main .service-related .related-service-card :is(h3,h4,strong,b) {
    color: var(--ui-ink) !important;
}
main .services-section .service-card :is(p,li),
main .solution-card :is(p,li),
main .airport-card :is(p,li),
main .service-feature-section:not(.service-feature-section--dark) .service-feature-card :is(p,li),
main .service-route-section .service-route-card :is(p,li),
main .related-services-section .related-service-card :is(p,li),
main .service-related .related-service-card :is(p,li) {
    color: var(--ui-copy) !important;
}
main .services-section .service-card :is(.text-link-gold,.text-link-dark),
main .airport-card :is(.text-link-gold,.text-link-dark),
main .service-route-section .service-route-card :is(.text-link-gold,.text-link-dark),
main .related-services-section .related-service-card :is(.text-link-gold,.text-link-dark),
main .service-related .related-service-card :is(.text-link-gold,.text-link-dark) {
    color: var(--ui-accent-text) !important;
}
main .service-feature-section:not(.service-feature-section--dark) .section-heading :is(h2,h3),
main .service-route-section .section-heading :is(h2,h3) { color: var(--ui-ink) !important; }
main .service-feature-section:not(.service-feature-section--dark) .section-heading p:not(.section-eyebrow),
main .service-route-section .section-heading p:not(.section-eyebrow) { color: var(--ui-copy) !important; }
main .service-feature-section:not(.service-feature-section--dark) .section-eyebrow,
main .service-route-section .section-eyebrow { color: var(--ui-accent-text) !important; }
main .service-feature-section:not(.service-feature-section--dark) .service-feature-card > span,
main .service-route-section .service-route-card > span { color: var(--ui-accent-text) !important; }

/* Dark editorial bands: explicit contrast for every page family. */
main .service-editorial-split:not(.service-editorial-split--light),
main .destination-editorial,
main .vehicle-extra-section,
main .airport-special-detail--dark,
main .airport-flight-band,
main .departure-band,
main .guide-commercial-cta,
main .guide-final-cta {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}
main .destination-editorial :is(h1,h2,h3,strong,b),
main .vehicle-extra-section :is(h1,h2,h3,strong,b),
main .airport-special-detail--dark :is(h1,h2,h3,strong,b),
main .airport-flight-band :is(h1,h2,h3,strong,b),
main .departure-band :is(h1,h2,h3,strong,b),
main .guide-article .guide-commercial-cta :is(h1,h2,h3,strong,b),
main .guide-article .guide-final-cta :is(h1,h2,h3,strong,b) {
    color: var(--text-primary) !important;
}
main .destination-editorial :is(p,li),
main .vehicle-extra-section :is(p,li),
main .airport-special-detail--dark :is(p,li),
main .airport-flight-band :is(p,li),
main .departure-band :is(p,li),
main .guide-article .guide-commercial-cta :is(p,li),
main .guide-article .guide-final-cta :is(p,li) {
    color: var(--text-secondary) !important;
}
main .destination-editorial .section-eyebrow,
main .vehicle-extra-section .section-eyebrow,
main .airport-special-detail--dark .section-eyebrow,
main .airport-flight-band .section-eyebrow,
main .departure-band .section-eyebrow,
main .guide-article .guide-commercial-cta .section-eyebrow,
main .guide-article .guide-final-cta .section-eyebrow {
    color: var(--accent-primary) !important;
}

/* Guide components: editorial text always remains visible on light article surfaces. */
main .guide-article :is(.guide-steps,.guide-mistakes,.guide-table-wrap,.guide-inline-cta) :is(h2,h3,h4,strong,b) {
    color: var(--ui-ink) !important;
}
main .guide-article :is(.guide-steps,.guide-mistakes,.guide-table-wrap,.guide-inline-cta) :is(p,li,td,th) {
    color: var(--ui-copy) !important;
}
main .guide-article .guide-steps span { color: var(--ui-accent-text) !important; }

/* Hero labels and dark-band text links use bright orange; light content uses the darker accessible orange. */
main :is(.home-hero,.internal-hero,.fleet-hero,.airport-hero-detail,.tour-hero,.guide-hero,.legal-hero,
.destination-editorial,.vehicle-extra-section,.service-editorial-split:not(.service-editorial-split--light),
.airport-special-detail--dark,.guide-commercial-cta,.guide-final-cta,.internal-final-cta,.service-final-cta,
.airport-final-cta,.tour-final-cta,.fleet-final-cta) .section-eyebrow {
    color: var(--accent-primary) !important;
}

/* Global four-pixel geometry: keep only intentionally circular controls circular. */
main :is(article,.card,.service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,
.airport-card,.service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,.related-service-card,
.related-fleet-card,.fleet-choice-card,.fleet-lineup-card,.vehicle-use-card,.airport-route-card,.airport-fleet-card,
.airport-process-step,.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.tour-fleet-card,
.guide-callout,.guide-inline-cta,.guide-related-card,.guide-hub-card,.legal-summary,.legal-callout,.contact-method-card,
.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,.faq-item),
main :is(input,select,textarea,.form-control,.form-select),
main :is(.contact-form-panel,.contact-support-panel,.quote-panel,.quick-quote-shell,.airport-quick-quote,.legal-toc,.guide-toc,.legal-nav) {
    border-radius: 4px !important;
}

/* Newer professional module alignment: consistent internal rhythm and equal-height grids. */
main :is(.service-feature-grid,.service-route-grid,.related-services-grid,.service-fleet-grid,.airport-card-grid,
.airport-route-grid,.airport-fleet-grid,.fleet-grid,.routes-grid,.reviews-grid,.why-grid,.tour-related-grid,
.guide-related-grid,.contact-method-grid) > * {
    min-width: 0;
    height: 100%;
}
main :is(.service-card,.solution-card,.airport-card,.service-feature-card,.service-route-card,.related-service-card,
.service-fleet-card,.fleet-card,.route-card,.review-card,.tour-related-card,.guide-related-card) {
    overflow: hidden;
}
main :is(.service-card,.solution-card,.airport-card,.service-feature-card,.service-route-card,.related-service-card,
.service-fleet-card,.fleet-card,.route-card,.review-card,.tour-related-card,.guide-related-card) :is(h2,h3,h4,p) {
    max-width: 100%;
}

/* More refined hover: restrained lift, no abrupt page movement. */
@media (hover:hover) and (pointer:fine) {
    main :is(.service-card,.solution-card,.airport-card,.service-feature-card,.service-route-card,.related-service-card,
    .service-fleet-card,.fleet-card,.route-card,.review-card,.tour-related-card,.guide-related-card,.contact-method-card) {
        transition: transform 220ms cubic-bezier(.22,.61,.36,1), border-color 220ms ease, box-shadow 220ms ease;
    }
    main :is(.service-card,.solution-card,.airport-card,.service-feature-card,.service-route-card,.related-service-card,
    .service-fleet-card,.fleet-card,.route-card,.review-card,.tour-related-card,.guide-related-card,.contact-method-card):hover {
        transform: translateY(-2px);
        border-color: rgba(255,143,0,.45) !important;
        box-shadow: 0 14px 32px rgba(20,24,28,.10) !important;
    }
}

/* Mobile: remove legacy forced heights/margins that create misalignment. */
@media (max-width: 767.98px) {
    main .service-card p,
    main .airport-card p,
    main .solution-card p { min-height: 0 !important; }
    main :is(.service-card,.solution-card,.airport-card,.service-feature-card,.service-route-card,.related-service-card,
    .service-fleet-card,.fleet-card,.route-card,.review-card,.tour-related-card,.guide-related-card) {
        min-height: 0 !important;
    }
    main .service-route-card h3,
    main .service-feature-card h3,
    main .airport-card h3,
    main .solution-card h3 { margin-top: 22px !important; }
}

/* =========================================================
   40. TYPOGRAPHY VISIBILITY FAILSAFE
   Default every content section to readable dark-on-light typography, then
   explicitly restore white/grey typography only on known dark surfaces.
========================================================= */
main section :is(h2,h3,h4,h5,h6) { color: var(--ui-ink) !important; }
main section :is(p,li,dd,figcaption):not(.section-eyebrow) { color: var(--ui-copy) !important; }
main section .section-eyebrow { color: var(--ui-accent-text) !important; }

main :is(
    section[class*="hero"],section[class*="--dark"],section[class*="final-cta"],
    .trust-strip,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-gallery-section,.vehicle-extra-section,
    .service-group-band:not(.service-group-band--ivory),.service-editorial-split:not(.service-editorial-split--light),
    .service-info-band,.airport-flight-band,.departure-band,.airport-fleet-detail,.destination-editorial,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .policy-contact,.contact-final-help,.contact-success-hero,.section-dark
) :is(h1,h2,h3,h4,h5,h6,strong,b,dt) {
    color: var(--text-primary) !important;
}
main :is(
    section[class*="hero"],section[class*="--dark"],section[class*="final-cta"],
    .trust-strip,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-gallery-section,.vehicle-extra-section,
    .service-group-band:not(.service-group-band--ivory),.service-editorial-split:not(.service-editorial-split--light),
    .service-info-band,.airport-flight-band,.departure-band,.airport-fleet-detail,.destination-editorial,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .policy-contact,.contact-final-help,.contact-success-hero,.section-dark
) :is(p,li,dd,figcaption):not(.section-eyebrow) {
    color: var(--text-secondary) !important;
}
main :is(
    section[class*="hero"],section[class*="--dark"],section[class*="final-cta"],
    .trust-strip,.internal-dark-band,.expectation-band,.roadshow-band,.airport-benefits-band,
    .fleet-lineup-section,.fleet-standards-band,.vehicle-experience,.vehicle-gallery-section,.vehicle-extra-section,
    .service-group-band:not(.service-group-band--ivory),.service-editorial-split:not(.service-editorial-split--light),
    .service-info-band,.airport-flight-band,.departure-band,.airport-fleet-detail,.destination-editorial,
    .tour-fleet,.tour-combined-hub,.tour-itinerary,.voice-how-section,.guide-commercial-cta,
    .policy-contact,.contact-final-help,.contact-success-hero,.section-dark
) .section-eyebrow {
    color: var(--accent-primary) !important;
}

/* Light cards inside a dark parent remain self-contained light surfaces. */
main :is(.service-route-section,.service-feature-section:not(.service-feature-section--dark))
:is(.service-route-card,.service-feature-card) :is(h3,h4,strong,b) { color: var(--ui-ink) !important; }
main :is(.service-route-section,.service-feature-section:not(.service-feature-section--dark))
:is(.service-route-card,.service-feature-card) :is(p,li) { color: var(--ui-copy) !important; }

/* =========================================================
   41. FINAL RELEASE CONTRAST + GEOMETRY LOCK — 2026-08-30
   Resolves remaining legacy surface specificity across Tours, Legal and
   selected Services. Keeps the dark/light rhythm, guarantees readable copy,
   and standardises modern 4px component edges site-wide.
========================================================= */

/* ---- Light reading surfaces that still had legacy charcoal backgrounds ---- */
main .tour-intro,
main .tour-intro--ivory,
main .tour-highlights,
main .tour-collection,
main .tour-planning,
main .tour-editorial-image,
main .tour-related,
main .tour-faq,
main .tour-destination-collection,
main .tour-from-london,
main .tour-collection-options,
main .legal-page-body,
main .service-intro,
main .service-process-section,
main .service-related,
main .service-faq,
main .service-choice-guide,
main .service-fleet-preview,
main .service-group-band--ivory,
main .page-service-wedding .service-intro,
main .page-service-wedding .service-process-section {
    background: var(--ui-page) !important;
    color: var(--ui-copy) !important;
}

main .tour-highlights,
main .tour-planning,
main .tour-related,
main .tour-from-london,
main .service-choice-guide,
main .service-fleet-preview,
main .service-related,
main .legal-page-body {
    background: var(--ui-surface-subtle) !important;
}

/* All typography within the light families remains readable regardless of old page CSS. */
main :is(
    .tour-intro,.tour-intro--ivory,.tour-highlights,.tour-collection,.tour-planning,.tour-editorial-image,
    .tour-related,.tour-faq,.tour-destination-collection,.tour-from-london,.tour-collection-options,
    .legal-page-body,.service-intro,.service-process-section,.service-related,.service-faq,.service-choice-guide,
    .service-fleet-preview,.service-group-band--ivory
) :is(h1,h2,h3,h4,h5,h6,strong,b,dt) {
    color: var(--ui-ink) !important;
}
main :is(
    .tour-intro,.tour-intro--ivory,.tour-highlights,.tour-collection,.tour-planning,.tour-editorial-image,
    .tour-related,.tour-faq,.tour-destination-collection,.tour-from-london,.tour-collection-options,
    .legal-page-body,.service-intro,.service-process-section,.service-related,.service-faq,.service-choice-guide,
    .service-fleet-preview,.service-group-band--ivory
) :is(p,li,dd,figcaption) {
    color: var(--ui-copy) !important;
}
main :is(
    .tour-intro,.tour-intro--ivory,.tour-highlights,.tour-collection,.tour-planning,.tour-editorial-image,
    .tour-related,.tour-faq,.tour-destination-collection,.tour-from-london,.tour-collection-options,
    .legal-page-body,.service-intro,.service-process-section,.service-related,.service-faq,.service-choice-guide,
    .service-fleet-preview,.service-group-band--ivory
) .section-eyebrow {
    color: var(--ui-accent-text) !important;
}

/* Tour cards and route links are now clean light cards; dark itinerary/fleet bands stay dark. */
main :is(.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card),
main .tour-from-london-grid > a,
main .tour-collection-options a,
main .tour-destination-collection a {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
    box-shadow: var(--ui-shadow) !important;
}
main :is(.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card) :is(h3,h4,strong,b),
main .tour-from-london-grid > a :is(h3,h4,strong,b),
main .tour-collection-options a :is(h3,h4,strong,b),
main .tour-destination-collection a :is(h3,h4,strong,b) {
    color: var(--ui-ink) !important;
}
main :is(.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card) :is(p,li),
main .tour-from-london-grid > a :is(p,li),
main .tour-collection-options a :is(p,li),
main .tour-destination-collection a :is(p,li) {
    color: var(--ui-copy) !important;
}
main :is(.tour-highlight-card,.tour-collection-card,.tour-related-card,.tour-destination-card) > span,
main .tour-from-london-grid > a > span,
main .tour-collection-options a > span,
main .tour-destination-collection a > span {
    color: var(--ui-accent-text) !important;
}
main :is(.tour-highlights-grid,.tour-collection-grid,.tour-related-grid,.tour-destination-grid,.tour-from-london-grid) {
    border-color: var(--ui-line) !important;
}

/* Deliberate Tour dark bands retain white/grey copy and bright orange accents. */
main :is(.tour-itinerary,.tour-fleet,.tour-combined-hub) {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}
main :is(.tour-itinerary,.tour-fleet,.tour-combined-hub) :is(h1,h2,h3,h4,strong,b) {
    color: var(--text-primary) !important;
}
main :is(.tour-itinerary,.tour-fleet,.tour-combined-hub) :is(p,li) {
    color: var(--text-secondary) !important;
}
main :is(.tour-itinerary,.tour-fleet,.tour-combined-hub) .section-eyebrow,
main :is(.tour-itinerary,.tour-fleet,.tour-combined-hub) :is(.text-link-gold,.text-link-dark) {
    color: var(--accent-primary) !important;
}

/* Corporate and service solution cards: explicit light-card contrast. */
main :is(.solution-card,.account-benefit,.service-choice-row,.service-group-band--ivory .service-group-card) {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
    box-shadow: var(--ui-shadow) !important;
}
main :is(.solution-card,.account-benefit,.service-choice-row,.service-group-band--ivory .service-group-card)
:is(h3,h4,strong,b) { color: var(--ui-ink) !important; }
main :is(.solution-card,.account-benefit,.service-choice-row,.service-group-band--ivory .service-group-card)
:is(p,li) { color: var(--ui-copy) !important; }

/* Guide / Legal links on light reading surfaces: accessible burnt-orange text. */
main :is(.guide-content,.guide-article,.guide-toc,.guide-related,.legal-page-body,.legal-content,.legal-toc,.legal-nav)
a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom) {
    color: var(--ui-accent-text) !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
main :is(.guide-content,.guide-article,.guide-toc,.guide-related,.legal-page-body,.legal-content,.legal-toc,.legal-nav)
a:not(.btn-premium):not(.btn-dark-custom):not(.btn-outline-dark):not(.btn-outline-light-custom):hover {
    color: #783C00 !important;
}

/* Contact helper / privacy text must never drop into low-contrast grey. */
main .page-contact :is(.contact-privacy-copy,.voice-fallback,.voice-privacy-note p,.contact-support-list p,.contact-form-card__heading > p:last-child),
main.page-contact :is(.contact-privacy-copy,.voice-fallback,.voice-privacy-note p,.contact-support-list p,.contact-form-card__heading > p:last-child),
.page-contact main :is(.contact-privacy-copy,.voice-fallback,.voice-privacy-note p,.contact-support-list p,.contact-form-card__heading > p:last-child) {
    color: var(--ui-copy) !important;
}

/* ---- Four-pixel geometry everywhere it is intentionally non-circular ---- */
:root { --component-radius: 4px; }

:is(
    .btn-premium,.btn-dark-custom,.btn-outline-dark,.btn-outline-light-custom,.header-book,
    .mobile-menu-toggle,.btn-close-custom,.voice-btn,.voice-control,.cookie-consent button,
    .cookie-preferences button,.pagination a,.pagination button
) {
    border-radius: var(--component-radius) !important;
}

main :is(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-feature-card,.service-fleet-card,.service-route-card,.service-group-card,
    .related-service-card,.related-fleet-card,.fleet-choice-card,.fleet-lineup-card,.vehicle-use-card,
    .airport-route-card,.airport-fleet-card,.airport-process-step,.tour-highlight-card,.tour-collection-card,
    .tour-related-card,.tour-destination-card,.tour-fleet-card,.guide-callout,.guide-inline-cta,.guide-related-card,
    .guide-hub-card,.legal-summary,.legal-callout,.legal-table-wrap,.contact-method-card,.journey-help-item,
    .process-step,.principle-card,.account-benefit,.solution-card,.directory-group,.faq-item,.internal-faq__item,
    .service-faq__item,.airport-faq__item,.tour-faq__item,.guide-faq__item,.contact-form-panel,.contact-support-panel,
    .contact-form-card,.voice-input-panel,.contact-support-note,.quote-panel,.quick-quote-shell,.airport-quick-quote,
    .guide-toc,.legal-toc,.legal-nav,.related-policies__links a,.guide-mistakes > div,.contact-success-card
),
main :is(input,select,textarea,.form-control,.form-select),
.mega-menu,.mega-feature,.fleet-mega__cta,.cookie-consent,.cookie-preferences__panel {
    border-radius: var(--component-radius) !important;
}

/* Media follows the same smooth geometry where it is a contained module. */
main :is(.split-feature__media,.vehicle-use-media,.tour-editorial-image__media,.guide-image,.contact-hero__media) {
    border-radius: var(--component-radius) !important;
    overflow: hidden;
}

/* Intentionally circular controls stay circular. */
.floating-whatsapp,.back-to-top,.floating-action--round,.review-star,.timeline-marker {
    border-radius: 999px !important;
}

/* ---- Modern alignment / rhythm ---- */
main .section-heading,
main .faq-heading,
main .why-intro {
    max-width: 820px;
}
main .section-heading.text-center,
main .faq-heading.text-center,
main .why-intro.text-center {
    margin-inline: auto;
}
main .section-heading > :last-child,
main .faq-heading > :last-child,
main .why-intro > :last-child { margin-bottom: 0; }

main :is(.service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.airport-card,
.service-feature-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,
.tour-highlight-card,.tour-collection-card,.tour-related-card,.guide-related-card,.contact-method-card,
.solution-card,.account-benefit) {
    display: flex;
    flex-direction: column;
}
main :is(.service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.airport-card,
.service-feature-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,
.tour-highlight-card,.tour-collection-card,.tour-related-card,.guide-related-card,.contact-method-card,
.solution-card,.account-benefit) :is(.text-link-gold,.text-link-dark,.btn-premium,.btn-outline-dark,.btn-dark-custom) {
    margin-top: auto;
}

/* Stable progressive-enhancement animation: content is always visible. */
.reveal {
    opacity: 1 !important;
    transform: none !important;
}
html.js .reveal:not(.is-visible) {
    opacity: 1 !important;
    transform: none !important;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .reveal.is-visible {
        animation: droppinRevealIn 560ms cubic-bezier(.22,.61,.36,1) both;
    }
    @keyframes droppinRevealIn {
        from { opacity: .001; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

/* ---- Responsive production hardening ---- */
@media (max-width: 991.98px) {
    main :is(.service-intro-layout,.split-feature__grid,.vehicle-use-layout,.tour-editorial-grid,
    .tour-editorial-image__grid,.airport-intro-detail__grid,.airport-special-detail__grid,.departure-band__grid,
    .roadshow-band__grid,.airport-flight-band__grid) {
        grid-template-columns: minmax(0,1fr) !important;
        gap: 40px !important;
    }
    main :is(.service-feature-grid,.service-route-grid,.service-fleet-grid,.related-services-grid,
    .airport-route-grid,.airport-fleet-grid,.fleet-grid,.routes-grid,.reviews-grid,.why-grid,
    .tour-related-grid,.guide-related-grid,.contact-method-grid) {
        min-width: 0;
    }
}

@media (max-width: 767.98px) {
    :root { --section-space: 60px; }
    .container { width: min(100% - 32px, var(--container)); }

    main :is(.service-card,.fleet-card,.route-card,.review-card,.location-card,.destination-card,.airport-card,
    .service-feature-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,
    .tour-highlight-card,.tour-collection-card,.tour-related-card,.guide-related-card,.contact-method-card,
    .solution-card,.account-benefit) {
        min-width: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    main :is(h1,h2,h3,h4,p,a,li,button,label,span) {
        overflow-wrap: anywhere;
    }

    main :is(.cta-group,.hero-actions,.mega-feature__actions,.contact-actions,.policy-actions) {
        flex-wrap: wrap;
    }
    main :is(.cta-group,.hero-actions,.contact-actions,.policy-actions) > :is(a,button) {
        max-width: 100%;
    }

    .legal-nav {
        grid-template-columns: minmax(0,1fr) !important;
        overflow: hidden;
    }
    .legal-nav a {
        min-width: 0 !important;
        width: 100%;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .guide-commercial-cta .btn-premium,
    .guide-final-cta .btn-premium,
    .guide-inline-cta .btn-premium {
        white-space: normal !important;
        text-align: center;
        max-width: 100%;
    }
}

@media (max-width: 399.98px) {
    .container { width: min(100% - 28px, var(--container)); }
    main :is(.btn-premium,.btn-dark-custom,.btn-outline-dark,.btn-outline-light-custom) {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }
}

/* =========================================================
   FINAL DEEP QA — FLOW SAFETY & MODULE ALIGNMENT
   2026-08-30
   Removes legacy overlapping quote treatments and hardens
   shared module layout across every page family.
========================================================= */

/* Never use structural overlap for conversion forms. Both quote modules now
   occupy real document space at every viewport width. */
.quick-quote-shell {
    height: auto !important;
    padding: 28px 0 36px !important;
    background: var(--bg-secondary) !important;
}
.quick-quote {
    top: 0 !important;
    margin: 0 !important;
}
.services-section {
    padding-top: var(--section-space) !important;
}

.airport-quick-quote-wrap {
    position: relative;
    z-index: 2;
    margin-top: 0 !important;
    padding: 28px 0 30px;
    background: var(--bg-secondary);
}
.airport-quick-quote {
    margin: 0;
    box-shadow: 0 12px 30px rgba(11,15,20,.08);
}

/* Shared form/grid safety. A field is always allowed to shrink inside its
   track instead of forcing its parent wider. */
.quick-quote > *,
.airport-quick-quote > *,
.contact-form-grid > *,
.quote-form-grid > *,
.booking-form-grid > * {
    min-width: 0;
}
.quick-quote input,
.quick-quote select,
.airport-quick-quote input,
.airport-quick-quote select,
.contact-form-grid input,
.contact-form-grid select,
.contact-form-grid textarea {
    max-width: 100%;
}

/* Long labels/CTA text may wrap instead of creating horizontal overflow. */
:where(.btn-premium,.btn-dark-custom,.btn-outline-dark,.btn-outline-light-custom,.header-book,.quote-submit,.contact-submit) {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
}

/* Top-level content modules must remain in normal flow. */
main.main-content > section,
main.main-content > article,
main.main-content > div:not(.modal):not(.offcanvas) {
    clear: both;
}

/* Prevent media/grid children from pushing editorial layouts out of bounds. */
main :is(
    .airport-intro-detail__grid,.airport-departure-detail__grid,.airport-flight-band__grid,
    .airport-special-detail__grid,.airport-luggage-detail__grid,.internal-split,.split-feature,
    .service-editorial-grid,.tour-editorial-grid,.vehicle-use-grid,.contact-layout,
    .legal-layout,.guide-layout,.corporate-overview-grid,.coverage-grid
) > * {
    min-width: 0;
}
main img,
main video,
main iframe {
    max-width: 100%;
}

/* Inputs and native controls should never exceed their containing card. */
main :is(input,select,textarea,button) {
    max-width: 100%;
}

/* Extra safety around sticky/floating UI on small screens. */
@media (max-width: 991.98px) {
    .quick-quote-shell,
    .airport-quick-quote-wrap {
        padding-block: 24px 28px !important;
    }
    .quick-quote,
    .airport-quick-quote {
        top: 0 !important;
        margin: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .quick-quote-shell,
    .airport-quick-quote-wrap {
        padding-block: 20px 24px !important;
    }
    .airport-quick-quote {
        border-left: 1px solid var(--border) !important;
        border-right: 1px solid var(--border) !important;
        padding: 18px !important;
        box-shadow: none !important;
    }
    .quick-quote {
        border-radius: 4px;
    }
}

/* =========================================================
   FINAL DEEP QA — CONTRAST + TABLET NAV HARDENING
========================================================= */

/* Light cards can sit inside intentionally dark bands. Give their descendants
   enough specificity to keep the card internally dark-on-light. */
main section[class] :is(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,.fleet-choice-card,
    .airport-route-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.guide-related-card,.guide-hub-card,
    .contact-method-card,.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,
    .journey-planner-support,.review-source-card
) :is(p,li,dd,figcaption) {
    color: var(--ui-copy) !important;
}
main section[class] :is(
    .service-card,.fleet-card,.route-card,.review-card,.why-card,.location-card,.destination-card,.airport-card,
    .services-core-card,.service-fleet-card,.service-route-card,.related-service-card,.related-fleet-card,.fleet-choice-card,
    .airport-route-card,.tour-collection-card,.tour-related-card,.tour-destination-card,.guide-related-card,.guide-hub-card,
    .contact-method-card,.journey-help-item,.process-step,.principle-card,.account-benefit,.solution-card,.directory-group,
    .journey-planner-support,.review-source-card
) :is(h2,h3,h4,strong,b,dt) {
    color: var(--ui-ink) !important;
}

/* Accessible accent text on light cards instead of the brighter hero orange. */
main section[class] :is(
    .principle-card__number,.solution-card__number,.contact-method-card__label,
    .airport-process-step > span,.process-step > span,.service-process-step > span,
    .legal-summary > span,.related-policies__links span
) {
    color: var(--ui-accent-text) !important;
}

/* Contact method cards include descriptive spans outside <p>. */
main .contact-methods-section .contact-method-card > span:not(.contact-method-card__icon):not(.contact-method-card__label) {
    color: var(--ui-copy) !important;
}
main .contact-methods-section .contact-method-card__icon,
main .contact-methods-section .contact-method-card__label {
    color: var(--ui-accent-text) !important;
}

/* Airport operational detail rows are light-surface copy. */
main .airport-departure-detail .airport-practical-list span,
main .airport-luggage-detail .airport-luggage-detail__items span,
main .airport-related-detail :is(p,span) {
    color: var(--ui-copy) !important;
}
main .airport-process-detail .airport-process-step > span {
    color: var(--ui-accent-text) !important;
}

/* Small classification labels used inside light service/fleet cards. */
main section[class] :is(
    .service-fleet-card,.fleet-card,.services-core-card,.airport-route-card,
    .related-service-card,.related-fleet-card,.vehicle-use-card
) > span,
main section[class] :is(
    .service-fleet-card__body,.fleet-card__body,.services-core-card__body,
    .related-fleet-card > div
) > span {
    color: var(--ui-accent-text) !important;
}

/* Legal labels on light policy surfaces. */
main .legal-page-body .legal-summary span,
main .related-policies .related-policies__links span {
    color: var(--ui-accent-text) !important;
}

/* Required markers and light-form emphasis remain accessible. */
main :is(.contact-form-section,.booking-page,.quote-page) :is(.required,.required-marker,label > span[aria-hidden="true"]) {
    color: var(--ui-accent-text) !important;
}

/* Tablet Legal navigation should not require horizontal swiping. */
@media (max-width: 991.98px) {
    .legal-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        overflow: visible !important;
    }
    .legal-nav a {
        flex: none !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 54px;
        border: 0 !important;
        border-right: 1px solid var(--ui-line) !important;
        border-bottom: 1px solid var(--ui-line) !important;
        white-space: normal;
    }
    .legal-nav a:nth-child(2n) { border-right: 0 !important; }
    .service-feature-section--dark .service-feature-grid,.vehicle-best-section .vehicle-use-grid,.fleet-choice-section .fleet-choice-grid{gap: 15px; border-color: transparent;}
    
}
@media (max-width: 575.98px) {
    .legal-nav { grid-template-columns: 1fr !important; }
    .legal-nav a { border-right: 0 !important; }
}

/* =========================================================
   FINAL DEEP QA — EXPLICIT SURFACE / TEXT CONTRAST LOCK
   2026-08-30
   Last-resort specificity layer after complete page-family scan.
========================================================= */

/* Home quote is a deliberate dark conversion module. */
main .quick-quote-shell,
main .quick-quote-shell .quick-quote,
main .quick-quote-shell .quote-heading {
    color: var(--text-primary) !important;
}
main .quick-quote-shell #quickQuoteTitle,
main .quick-quote-shell .quote-heading h2,
main .quick-quote-shell label { color: var(--text-primary) !important; }
main .quick-quote-shell .quote-heading p,
main .quick-quote-shell small { color: var(--text-secondary) !important; }

/* About — Fleet & Chauffeur standards supporting text. */
main .standards-section .standards-points span,
main .standards-section .standards-points span b {
    color: var(--ui-copy) !important;
}
main .standards-section .standards-points strong { color: var(--ui-accent-text) !important; }

/* Corporate cards live on a light surface even when nested in a legacy dark band. */
body main .internal-dark-band .solution-card,
body main .corporate-solutions .solution-card,
body main .solution-card {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
}
body main .internal-dark-band .solution-card :is(h3,h4,strong,b),
body main .corporate-solutions .solution-card :is(h3,h4,strong,b),
body main .solution-card :is(h3,h4,strong,b) { color: var(--ui-ink) !important; }
body main .internal-dark-band .solution-card :is(p,li,span:not(.solution-card__number)),
body main .corporate-solutions .solution-card :is(p,li,span:not(.solution-card__number)),
body main .solution-card :is(p,li,span:not(.solution-card__number)) { color: var(--ui-copy) !important; }
body main .solution-card__number,
body main .account-benefit > span,
body main .account-benefit > strong:first-child { color: var(--ui-accent-text) !important; }

/* Airport parent hub cards: accessible accents on light cards. */
body main .airport-card { background: var(--ui-surface) !important; color: var(--ui-copy) !important; }
body main .airport-card :is(h3,h4,strong) { color: var(--ui-ink) !important; }
body main .airport-card :is(p,li) { color: var(--ui-copy) !important; }
body main .airport-card__code,
body main .airport-card :is(.text-link-gold,.text-link-dark),
body main .airport-card :is(.text-link-gold,.text-link-dark) span { color: var(--ui-accent-text) !important; }

/* Airport-specific alternating editorial modules: even items are light, --dark items are dark. */
body main .airport-special-detail:not(.airport-special-detail--dark) {
    background: var(--ui-surface-subtle) !important;
    color: var(--ui-copy) !important;
}
body main .airport-special-detail:not(.airport-special-detail--dark) :is(h2,h3,h4,strong,b) {
    color: var(--ui-ink) !important;
}
body main .airport-special-detail:not(.airport-special-detail--dark) :is(p,li) {
    color: var(--ui-copy) !important;
}
body main .airport-special-detail:not(.airport-special-detail--dark) .section-eyebrow,
body main .airport-special-detail:not(.airport-special-detail--dark) :is(.text-link-dark,.text-link-gold),
body main .airport-special-detail:not(.airport-special-detail--dark) :is(.text-link-dark,.text-link-gold) span {
    color: var(--ui-accent-text) !important;
}
body main .airport-special-detail--dark {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}
body main .airport-special-detail--dark :is(h2,h3,h4,strong,b) { color: var(--text-primary) !important; }
body main .airport-special-detail--dark :is(p,li) { color: var(--text-secondary) !important; }
body main .airport-special-detail--dark .section-eyebrow,
body main .airport-special-detail--dark :is(.text-link-gold,.text-link-dark),
body main .airport-special-detail--dark :is(.text-link-gold,.text-link-dark) span { color: var(--accent-primary) !important; }

/* Airport route cards and process markers are light-card accents. */
body main .airport-route-card :is(i,span:not(.route-meta),.route-quote-link,.text-link-gold,.text-link-dark),
body main .airport-route-card :is(.route-quote-link,.text-link-gold,.text-link-dark) span,
body main .airport-process-detail .airport-process-step > span,
body main .airport-card-grid .airport-card__code { color: var(--ui-accent-text) !important; }

/* Fleet overview / vehicle comparison: make the whole functional comparison readable. */
body main .fleet-choice-card > span,
body main .fleet-planning :is(.process-step > span,.section-eyebrow),
body main .fleet-services :is(.section-eyebrow,.service-label),
body main .vehicle-specs__grid > div > span:first-child { color: var(--ui-accent-text) !important; }
body main .fleet-compatibility {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
}
body main .fleet-compatibility__header {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}
body main .fleet-compatibility__header > div {
    color: var(--text-primary) !important;
    border-color: var(--border) !important;
}
body main .fleet-compatibility__row > div {
    background: var(--ui-surface) !important;
    color: var(--ui-copy) !important;
    border-color: var(--ui-line) !important;
}
body main .fleet-compatibility__row > div:first-child {
    color: var(--ui-ink) !important;
    font-weight: 600;
}
body main .fleet-compatibility__row > div:not(:first-child)::before { color: var(--ui-accent-text) !important; }
@media (max-width: 767.98px) {
    body main .fleet-compatibility__row > div:first-child {
        background: var(--ui-surface-soft) !important;
        color: var(--ui-ink) !important;
    }
}

/* Guide key callout stays deliberately dark. */
body main .guide-callout.guide-callout--key {
    background: var(--bg-secondary) !important;
    border-color: var(--border) !important;
    color: var(--text-primary) !important;
}
body main .guide-callout.guide-callout--key :is(h2,h3,strong,b) { color: var(--text-primary) !important; }
body main .guide-callout.guide-callout--key :is(p,li) { color: var(--text-secondary) !important; }
body main .guide-callout.guide-callout--key > span { color: var(--accent-primary) !important; }

/* Guide comparison tables are functional light UI, including mobile card mode. */
body main .guide-table-wrap,
body main table.guide-table {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
}
body main .guide-table :is(th,td) {
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
}
body main .guide-table thead th {
    background: var(--ui-surface-soft) !important;
    color: var(--ui-ink) !important;
}
body main .guide-table tbody th {
    background: var(--ui-surface-subtle) !important;
    color: var(--ui-ink) !important;
}
body main .guide-table tbody td { background: var(--ui-surface) !important; }

/* Guide labels, inline CTA labels, mistakes and hub category labels use accessible orange on light. */
body main :is(.guide-inline-cta,.guide-related-card,.guide-hub-card,.guide-mistakes > div) > span,
body main :is(.guide-inline-cta,.guide-related-card,.guide-hub-card,.guide-mistakes > div) span:first-child,
body main .guide-callout:not(.guide-callout--key) > span {
    color: var(--ui-accent-text) !important;
}
body main .guide-mistakes > div > span[aria-hidden="true"] { color: #8F4700 !important; }

/* Tours — planning links are light-surface links. */
body main .tour-planning :is(a,.text-link-gold,.text-link-dark),
body main .tour-planning :is(a,.text-link-gold,.text-link-dark) span { color: var(--ui-accent-text) !important; }

/* Contact — all small status / step text remains AA-readable on light cards. */
body main .contact-char-count,
body main .voice-status { color: #62686F !important; }
body main .voice-input-panel__eyebrow,
body main .contact-support-list > div > span,
body main .journey-help-item > span { color: var(--ui-accent-text) !important; }
body main .contact-support-panel :is(h2,strong) { color: var(--ui-ink) !important; }
body main .contact-support-panel :is(p,li) { color: var(--ui-copy) !important; }

/* Generic tiny labels on light modules: avoid legacy muted/orange values below AA. */
body main :is(.review-placeholder-label,.review-meta,.guide-meta,.legal-meta,.contact-meta) {
    color: #62686F !important;
}
body main .review-placeholder-stars { color: var(--ui-accent-text) !important; }

/* FAQ controls are light on the mixed UI; use the accessible accent tone. */
body main :is(.faq-section,.internal-faq,.service-faq,.airport-faq-detail,.tour-faq,.guide-faq,.contact-faq-section)
.faq-symbol { color: var(--ui-accent-text) !important; }

/* Service light modules: all numerical/classification accents use accessible orange. */
body main :is(.service-process-section,.service-choice-guide,.service-fleet-preview,.service-group-band--ivory,
.service-related,.service-feature-section:not(.service-feature-section--dark),.service-route-section)
:is(.service-process-step > span,.process-step > span,.section-eyebrow,.service-label,.card-label,.service-code) {
    color: var(--ui-accent-text) !important;
}

/* Locations directory uses a light surface; place labels are body-colour, not dark-surface grey. */
body main .south-section :is(span,p,li),
body main .directory-section :is(span,p,li),
body main .coverage-destinations span { color: var(--ui-copy) !important; }
body main .coverage-destinations span strong { color: var(--ui-accent-text) !important; }

/* Native form / quote modules: labels on dark bars must remain visible. */
body main .airport-quick-quote :is(label,legend),
body main .quick-quote :is(label,legend) { color: var(--text-secondary) !important; }
body main .airport-quick-quote :is(input,select),
body main .quick-quote :is(input,select) {
    background: var(--bg-section) !important;
    color: var(--text-primary) !important;
    border-color: var(--border) !important;
}
body main .airport-quick-quote :is(input,select)::placeholder,
body main .quick-quote :is(input,select)::placeholder { color: #A9A9A9 !important; opacity: 1; }

/* Final geometry / flow protection for every quote bar. */
body main .airport-quick-quote-wrap,
body main .quick-quote-shell {
    overflow: visible !important;
    contain: layout paint;
}
body main .airport-quick-quote,
body main .quick-quote {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
}

/* =========================================================
   FINAL DEEP QA — REMAINING LIGHT-MODULE MICRO-CONTRAST
========================================================= */
/* Home service cards are light even though the Services band began life dark. */
body.home-page main article.service-card p { color: var(--ui-copy) !important; }
body.home-page main article.service-card :is(h3,strong) { color: var(--ui-ink) !important; }
body.home-page main article.service-card :is(.text-link-gold,.text-link-dark),
body.home-page main article.service-card :is(.text-link-gold,.text-link-dark) span { color: var(--ui-accent-text) !important; }
body.home-page main article.route-card > span,
body.home-page main article.route-card .route-quote-link,
body.home-page main article.route-card .route-quote-link span { color: var(--ui-accent-text) !important; }

/* Corporate vehicle-use detail rows. */
body main .vehicle-use-section:not(.vehicle-use-section--dark) .vehicle-use-list span {
    color: var(--ui-copy) !important;
}
body main .vehicle-use-section:not(.vehicle-use-section--dark) .vehicle-use-list b {
    color: var(--ui-ink) !important;
}

/* Fleet overview planning/service sections are light modules in the final system. */
body main .fleet-planning-section {
    background: var(--ui-surface-subtle) !important;
    color: var(--ui-copy) !important;
}
body main .fleet-planning-section :is(h2,h3,strong) { color: var(--ui-ink) !important; }
body main .fleet-planning-section :is(p,li) { color: var(--ui-copy) !important; }
body main .fleet-planning-panel > span { color: var(--ui-accent-text) !important; }
body main .fleet-services-section {
    background: var(--ui-page) !important;
    color: var(--ui-copy) !important;
    border-color: var(--ui-line) !important;
}
body main .fleet-services-section :is(h2,h3,strong) { color: var(--ui-ink) !important; }
body main .fleet-services-section :is(p,li,small) { color: var(--ui-copy) !important; }
body main .fleet-services-links,
body main .fleet-services-links a { border-color: var(--ui-line) !important; }
body main .fleet-services-links a > span { color: var(--ui-accent-text) !important; }

/* Booking / quote support cards and required markers. */
body main .journey-planner-support .journey-support-list > div > span,
body main .journey-planner-support .section-eyebrow,
body main :is(.booking-page,.quote-page,.journey-planner-section) label > span {
    color: var(--ui-accent-text) !important;
}
body main .journey-planner-support :is(p,small) { color: var(--ui-copy) !important; }

/* Locations regional pills are now proper light cards, not dark remnants. */
body main .south-section {
    background: var(--ui-surface-subtle) !important;
    color: var(--ui-copy) !important;
}
body main .south-section :is(h2,h3,strong,b) { color: var(--ui-ink) !important; }
body main .south-section :is(p,li) { color: var(--ui-copy) !important; }
body main .south-section .section-eyebrow { color: var(--ui-accent-text) !important; }
body main .region-pill-grid { border-color: var(--ui-line) !important; }
body main .region-pill-grid span {
    background: var(--ui-surface) !important;
    border-color: var(--ui-line) !important;
    color: var(--ui-copy) !important;
}

/* Services overview: numeric labels and explanatory spans are light-card content. */
body main .service-group-band--ivory .service-group-card > span,
body main .service-choice-guide .service-choice-row > span:first-child,
body main .service-choice-guide .service-choice-row > strong + span {
    color: var(--ui-copy) !important;
}
body main .service-group-band--ivory .service-group-card > span:first-child,
body main .service-group-band--ivory .service-group-card .service-card__code {
    color: var(--ui-accent-text) !important;
}
body main .service-choice-row :is(strong,b) { color: var(--ui-ink) !important; }
body main .service-choice-row span { color: var(--ui-copy) !important; }

/* Light editorial service split markers (e.g. Prom planning). */
body main .service-editorial-split--light :is(.service-detail-list > div > span,.service-process-step > span,.process-step > span) {
    color: var(--ui-accent-text) !important;
}

/* Private Tours hub destination/process labels. */
body main .tour-destination-card > span,
body main .tour-process-grid article > span,
body main .tour-how article > span,
body main .tour-related-card > span { color: var(--ui-accent-text) !important; }

/* Testimonials editorial notes and source markers. */
body main .review-source-card > span { color: var(--ui-accent-text) !important; }
body main .testimonial-directory .accuracy-note {
    background: var(--ui-surface-soft) !important;
    color: var(--ui-copy) !important;
    border-color: var(--ui-line) !important;
}
body main .testimonial-directory .accuracy-note :is(p,span,strong) { color: var(--ui-copy) !important; }

/* Airport hub CSS can sit under old dark parent specificity; force card internals last. */
body main section article.airport-card p { color: var(--ui-copy) !important; }
body main section article.airport-card :is(h3,strong) { color: var(--ui-ink) !important; }
body main section article.airport-card :is(.text-link-gold,.text-link-dark),
body main section article.airport-card :is(.text-link-gold,.text-link-dark) span,
body main section article.airport-card .airport-card__code { color: var(--ui-accent-text) !important; }

/* Ultra-specific final audit rules for legacy dark-parent specificity. */
html body.home-page main#main-content section.services-section.section-dark article.service-card .service-card__body p {
    color: #4B5056 !important;
}
html body.home-page main#main-content section.services-section.section-dark article.service-card .service-card__body h3 {
    color: #15171A !important;
}
html body.home-page main#main-content article.route-card > span,
html body.home-page main#main-content article.route-card a.route-quote-link,
html body.home-page main#main-content article.route-card a.route-quote-link span {
    color: #A65300 !important;
}

html body main#main-content section.internal-dark-band.airport-grid-section article.airport-card p {
    color: #4B5056 !important;
}
html body main#main-content section.internal-dark-band.airport-grid-section article.airport-card h3 {
    color: #15171A !important;
}
html body main#main-content section.internal-dark-band.airport-grid-section article.airport-card .airport-card__code,
html body main#main-content section.internal-dark-band.airport-grid-section article.airport-card a.text-link-gold,
html body main#main-content section.internal-dark-band.airport-grid-section article.airport-card a.text-link-gold span {
    color: #A65300 !important;
}

html body main#main-content section.service-editorial-split.service-editorial-split--light .service-compact-list > div > span {
    color: #A65300 !important;
}

html body main#main-content a.tour-destination-card > span,
html body main#main-content .tour-process-grid article > span,
html body main#main-content .tour-how article > span {
    color: #A65300 !important;
}

/* Final three audited light-module details. */
html body.home-page main#main-content article.route-card .route-card__body > span:first-child {
    color: #A65300 !important;
}
html body main#main-content .arrival-section .numbered-process li > span {
    color: #A65300 !important;
}
html body main#main-content .airport-vehicles .vehicle-use-list span {
    color: #4B5056 !important;
}
html body main#main-content a.tour-destination-card .tour-destination-card__body > span:first-child {
    color: #A65300 !important;
}


/* ---------- Responsive ---------- */
@media (max-width: 1535.98px) {
    .tours-mega__grid--five { grid-template-columns:.94fr .98fr .98fr .94fr 1.18fr; gap: 18px; padding-block: 20px; }
    .tours-mega__grid--five .mega-column a { font-size: 12px; }
    .tours-mega__feature--compact img { height: 96px; }
}
@media (max-width: 1339.98px) {
    .tours-mega--expanded { display: none; }
    .extended-tour-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .footer-grid { grid-template-columns: repeat(3,1fr); gap: 36px; }
    .footer-brand { grid-column: span 3; }
}
@media (max-width: 991.98px) {
    .extended-tour-hero { min-height: 520px; }
    .tour-at-glance__grid { grid-template-columns: 1fr 1fr; }
    .tour-at-glance__grid > div:nth-child(2n) { border-right: 0; }
    .tour-at-glance__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .multiday-practical__grid { grid-template-columns: 1fr; gap: 34px; }
    .multiday-practical__media img { min-height: 340px; }
    .tour-inclusion-grid { grid-template-columns: 1fr 1fr; }
    .jump-to-day { top: 10px; }
}
@media (max-width: 767.98px) {
    .extended-tour-grid { grid-template-columns: 1fr; }
    .extended-tour-card__body { padding: 19px; }
    .tour-at-glance__grid { grid-template-columns: 1fr; }
    .tour-at-glance__grid > div { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--border) !important; padding: 14px 18px; }
    .tour-at-glance__grid > div:last-child { border-bottom: 0 !important; }
    .tour-route-summary { padding: 38px 0; }
    .tour-route-summary__head { display: block; }
    .tour-route-list { grid-template-columns: 1fr; }
    .tour-route-list li { min-height: 68px; }
    .tour-route-list li::after { content: "↓"; top: auto; right: 18px; bottom: -10px; transform: none; }
    .jump-to-day { width: calc(100% - 28px); margin-inline: 14px; padding: 8px; }
    .jump-to-day > span { display: none; }
    .tour-day { grid-template-columns: 1fr; }
    .tour-day__label { justify-content: flex-start; padding: 13px 18px; }
    .tour-day__content { padding: 20px 18px; }
    .tour-inclusion-grid { grid-template-columns: 1fr; }
    .tour-inclusion-grid article { min-height: 0; }
    .extended-tour-practical .tour-editorial-image__media img,
    .multiday-practical__media img { min-height: 270px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
    .footer-brand { grid-column: span 2; }
}
@media (max-width: 479.98px) {
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .extended-tour-card h3 { font-size: 18px; }
    .tour-tag-row > span,.tour-tag-row > i { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .extended-tour-card,
    .extended-tour-card__media img { transition: none !important; }
    .extended-tour-card:hover { transform: none; }
}

.multiday-practical .section-eyebrow{color: var(--accent-secondary);}
.multiday-practical #practicalTitle{margin-bottom: 25px; color: var(--bg-secondary);}

.media-gallery-section .section-head{margin-bottom: 30px; }
.media-gallery-section .section-head *{color: var(--bg-primary) !important;}
.media-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.media-gallery__item {
    position: relative;
    display: block;
    overflow: hidden;
    height: 300px;
    background: #111;
    border-radius: 16px;
}

.media-gallery__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s var(--ease-luxury);
}

.media-gallery__item:hover img {
    transform: scale(1.04);
}


/* WIDTH ONLY */

.media-gallery__item--large,
.media-gallery__item--wide {
    grid-column: span 2;
}

.media-gallery__item--small,
.media-gallery__item--medium,
.media-gallery__item--short {
    grid-column: span 1;
}


/* VIDEO */

.media-gallery__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 50%;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 16px;
    pointer-events: none;
    transition: .3s ease;
}

.media-gallery__item--video:hover .media-gallery__play {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: #111;
    transform: translate(-50%, -50%) scale(1.08);
}


/* TABLET */

@media (max-width: 991px) {
    .media-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .media-gallery__item {
        height: 280px;
    }

    .media-gallery__item--large,
    .media-gallery__item--wide {
        grid-column: span 2;
    }

    .media-gallery__item--small,
    .media-gallery__item--medium,
    .media-gallery__item--short {
        grid-column: span 1;
    }
}


/* MOBILE */

@media (max-width: 575px) {
    .media-gallery {
        grid-template-columns: 1fr;
    }

    .media-gallery__item,
    .media-gallery__item--large,
    .media-gallery__item--wide,
    .media-gallery__item--small,
    .media-gallery__item--medium,
    .media-gallery__item--short {
        grid-column: span 1;
        height: 240px;
    }
}