/*
 * VIP Service Chauffeur — Ivory Bronze design system
 * One custom stylesheet for the complete project.
 */

:root {
    --colour-obsidian: #0b0b0c;
    --colour-charcoal: #1c1c1f;
    --colour-gold: #c38a3a;
    --colour-ivory: #f4efe7;
    --colour-grey: #b8b8bc;
    --colour-gold-light: #d5a253;
    --colour-gold-dark: #8f5b22;
    --colour-black: #050506;
    --colour-border: rgba(255, 255, 255, 0.60);
    --colour-glass: rgba(255, 255, 255, 0.05);
    --colour-gold-glass: rgba(195, 138, 58, 0.12);
    --gold-gradient: linear-gradient(135deg, #d5a253 0%, #c38a3a 50%, #8f5b22 100%);
    --font-heading: Georgia, "Times New Roman", serif;
    --font-body: Inter, "Helvetica Neue", Arial, sans-serif;
    --header-height: 92px;
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 28px;
    --shadow-soft: 0 18px 60px rgba(0, 0, 0, 0.22);
    --shadow-deep: 0 28px 90px rgba(0, 0, 0, 0.42);
    --transition: 240ms cubic-bezier(.22, .61, .36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body {
    margin: 0;
    overflow-x: hidden;
    background: var(--colour-obsidian);
    color: var(--colour-grey);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
ol,
ul {
    padding: 0px;
}
/* booking engine stat here */

.booking_engine_container .lf-w-full.lf-bg-white.lf-shadow-lg.lf-dropdown {
  background: var(--colour-charcoal) !important;
  border-radius: var(--radius-md);
  border: 1px solid var(--colour-border);
  box-shadow: var(--shadow-soft) !important;
  overflow: hidden;
  padding: 10px;
}

.booking_engine_container .lf-grid.lf-grid-cols-3.lf-mb-2 {
  background: var(--colour-obsidian);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

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

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

.booking_engine_container .lf-flex.lf-rounded-full button.lf-bg-black {
  background: var(--gold-gradient) !important;
  color: var(--colour-black) !important;
}

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

.booking_engine_container input:not(.datepicker-calendar-icon) {
  background: var(--colour-obsidian) !important;
  border: 1px solid var(--colour-border);
  border-radius: var(--radius-sm);
  color: var(--colour-black) !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(--colour-grey);
}

.booking_engine_container input:not(.datepicker-calendar-icon):focus {
  outline: none;
  border-color: var(--colour-gold);
  background: var(--colour-charcoal) !important;
  box-shadow: 0 0 0 3px var(--colour-gold-glass);
}

.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(--colour-border);
  padding: 12px 0;
  margin-top: 10px;
}

.booking_engine_container
  .lf-flex.lf-items-center.lf-justify-end.lf-gap-2
  button {
  color: var(--colour-black) !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(--colour-gold) !important;
  color: var(--colour-gold-light);
  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: 100%;
  background: var(--gold-gradient) !important;
  color: var(--colour-black) !important;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  padding: 16px;
  border-radius: var(--radius-md);
  transition: var(--transition);
}

.booking_engine_container
  .lf-mt-5.lf-flex.lf-justify-center.lf-py-2.lf-shadow-inner
  button:hover {
  background: linear-gradient(
    135deg,
    var(--colour-gold-light) 0%,
    var(--colour-gold) 50%,
    var(--colour-gold-dark) 100%
  ) !important;
  box-shadow: 0 8px 30px var(--colour-gold-glass);
  transform: translateY(-1px);
}

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

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

.lf-z-\[9999999\] {
  z-index: 1 !important;
}
button , a{text-transform: capitalize;}
body.menu-open { overflow: hidden; }
img,
svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
a,
button { -webkit-tap-highlight-color: transparent; }
button,
input,
textarea,
select { font: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
p { margin: 0 0 1rem; }
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    color: var(--colour-ivory);
    font-family: var(--font-heading);
    font-weight: 500;
    line-height: 1.08;
    text-wrap: balance;
    text-transform: capitalize;
}
h1 { font-size: clamp(1.65rem, 4vw, 4.5rem) !important; letter-spacing: -0.035em; }
h2 { font-size: clamp(1.45rem, 2.2vw, 3rem) !important; letter-spacing: -0.028em; line-height: 1.3;}
h3 { font-size: clamp(1.3rem, 1.8vw, 1.7rem) ; }
::selection { background: var(--colour-gold); color: var(--colour-black); }

.container-xxl { --bs-gutter-x: clamp(1.25rem, 4vw, 4rem); width:100%; max-width:1540px; margin-inline:auto; padding-inline:calc(var(--bs-gutter-x) * .5); }
.container-xl { width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(.75rem,2vw,3rem); }
.section { position: relative; padding: clamp(1.5rem, 3vw, 3rem) 0; }
.section-lead { max-width: 690px; color:  var(--colour-grey); font-size: 1rem; line-height: 1.5; margin-top: 10px; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1.25rem;
    color: var(--colour-gold-light);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .19em;
    line-height: 1.3;
    text-transform: uppercase;
}
.eyebrow::before { width: 32px; height: 1px; background: var(--gold-gradient); content: ""; }
.icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 9999;
    padding: .75rem 1rem;
    transform: translateY(-150%);
    border-radius: 8px;
    background: var(--colour-gold-light);
    color: var(--colour-black);
    font-weight: 700;
    transition: transform var(--transition);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--colour-gold-light); outline-offset: 4px; }

.btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: .82rem 1.45rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .89rem;
    font-weight: 750;
    letter-spacing: .04em;
    line-height: 1.2;
    transition: transform var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
    text-transform: capitalize;
}
.btn:hover { transform: translateY(-2px); }
.btn .icon { transition: transform var(--transition); }
.btn:hover .icon { transform: translateX(4px); }
.btn--gold { background: var(--gold-gradient); color: var(--colour-black); box-shadow: 0 14px 34px rgba(195, 138, 58, .18); }
.btn--gold:hover { color: var(--colour-black); box-shadow: 0 18px 42px rgba(195, 138, 58, .3); }
.btn--outline { border-color: rgba(213, 162, 83, .48); background: rgba(11, 11, 12, .35); color: var(--colour-ivory); backdrop-filter: blur(12px); }
.btn--outline:hover { border-color: var(--colour-gold-light); background: rgba(195, 138, 58, .12); color: var(--colour-ivory); }
.btn--ghost { border-color: var(--colour-border); color: var(--colour-ivory); }
.btn--ghost:hover { border-color: var(--colour-gold); color: var(--colour-gold-light); }
.btn--small { min-height: 43px; padding: .68rem 1.05rem; font-size: .79rem; }
.text-link { display: inline-flex; align-items: center; gap: .55rem; color: var(--colour-bronze); font-size: .88rem; font-weight: 700; letter-spacing: .04em; }
.text-link .icon { transition: transform var(--transition); }
.text-link:hover { color: var(--colour-ivory); }
.text-link:hover .icon { transform: translateX(5px); }

.section-heading { margin-bottom: clamp(1.5rem, 3vw, 2rem); }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .65fr); gap: clamp(2rem, 6vw, 7rem); align-items: end; }
.section-heading--split h2 { max-width: 850px; }
.section-heading__aside p { color: #565554; margin-bottom: 10px;}
.section-heading--centred { max-width: 800px; margin-inline: auto; text-align: center; }
.section-heading--centred .eyebrow { justify-content: center; }
.section-heading--centred p { max-width: 640px; margin: 1.35rem auto 0; }

/* Scroll reveal */
.js .reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .75s ease var(--reveal-delay, 0ms), transform .75s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay, 0ms); }
.js .reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.js.reveal-fallback:not(.js-ready) .reveal { opacity: 1; transform: none; }

/* Header */
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: var(--header-height);
    border-bottom: 1px solid transparent;
    background: linear-gradient(180deg, rgba(5, 5, 6, .78), rgba(5, 5, 6, 0));
    transition: height var(--transition), background-color var(--transition), border-color var(--transition), box-shadow var(--transition), backdrop-filter var(--transition);
}
.site-header.is-scrolled {
    height: 76px;
    border-color: var(--colour-border);
    background: rgba(11, 11, 12, .88);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .24);
    backdrop-filter: blur(18px) saturate(125%);
}
.site-header.is-scrolled .menu-toggle {
 background: var(--colour-canvas);
}

.site-header__inner { height: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.site-brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.site-brand img { width: clamp(160px, 13vw, 210px); max-height: 66px; object-fit: contain; object-position: left center; }
.desktop-nav { flex: 1 1 auto; align-self: stretch; }
.desktop-nav__list { height: 100%; display: flex; align-items: stretch; justify-content: center; gap: clamp(.15rem, 1vw, 1.15rem); }
.desktop-nav__item { position: static; }
.desktop-nav__list > li { display: flex; align-items: center; }
.desktop-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 46px;
    padding: .55rem .32rem;
    border: 0;
    background: transparent;
    color: #dedbd6;
    font-size: clamp(.72rem, .72vw, .88rem);
    font-weight: 650;
    white-space: nowrap;
    cursor: pointer;
}
.desktop-nav__link::after { position: absolute; right: .3rem; bottom: 3px; left: .3rem; height: 1px; transform: scaleX(0); transform-origin: right; background: var(--gold-gradient); content: ""; transition: transform var(--transition); }
.desktop-nav__link:hover,
.desktop-nav__link:focus-visible,
.desktop-nav__link.is-active { color: var(--colour-gold-light); }
.desktop-nav__link:hover::after,
.desktop-nav__link.is-active::after,
.desktop-nav__toggle[aria-expanded="true"]::after { transform: scaleX(1); transform-origin: left; }
.site-header__actions { display: flex; align-items: center; gap: .65rem; }
.header-phone { display: inline-flex; align-items: center; gap: .42rem; color: var(--colour-ivory); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.header-phone .icon { color: var(--colour-gold-light); }
.menu-toggle { display: none; width: 46px; height: 46px; place-items: center; border: 1px solid var(--colour-border); border-radius: 50%; background: var(--colour-glass); color: var(--colour-ivory); }
.menu-toggle .icon { width: 22px; height: 22px; }

.mega-menu {
    position: absolute;
    top: calc(100% - 4px);
    left: max(24px, calc((100vw - 1480px) / 2));
    width: min(calc(100vw - 48px), 1080px);
    display: grid;
    grid-template-columns: .85fr 1.6fr;
    gap: 2rem;
    padding: 2rem;
    visibility: hidden;
    opacity: 0;
    transform: translateY(12px) scale(.99);
    border: 1px solid rgba(213, 162, 83, .22);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background: rgba(20, 20, 22, .97);
    box-shadow: var(--shadow-deep);
    backdrop-filter: blur(22px);
    pointer-events: none;
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.desktop-nav__item.is-open .mega-menu { visibility: visible; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.mega-menu--compact { max-width: 850px; grid-template-columns: 1fr 1fr; }
.mega-menu--right { right: max(24px, calc((100vw - 1480px) / 2)); left: auto; }
.mega-menu__intro { padding: .6rem .8rem .6rem 0; border-right: 1px solid var(--colour-border); }
.mega-menu__intro h2 { margin-bottom: 1rem; font-size: clamp(1.6rem, 2.2vw, 2.45rem); }
.mega-menu__intro p { color: var(--colour-grey); font-size: .93rem; }
.mega-menu__links { display: grid; gap: .65rem; }
.mega-menu__links--two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-menu__links a { display: flex; align-items: center; gap: .8rem;  padding: .75rem .9rem; border: 1px solid transparent; border-radius: 10px; color: #ddd9d4; font-size: .86rem; font-weight: 650; transition: border-color var(--transition), background-color var(--transition), color var(--transition), transform var(--transition); }
.mega-menu__links a .icon { color: var(--colour-gold); }
.mega-menu__links a:hover,
.mega-menu__links a:focus-visible { transform: translateX(3px); border-color: rgba(195, 138, 58, .22); background: var(--colour-gold-glass); color: var(--colour-ivory); }

.no-js .desktop-nav__item:hover .mega-menu,
.no-js .desktop-nav__item:focus-within .mega-menu { visibility: visible; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.noscript-nav { position: relative; z-index: 950; padding: calc(var(--header-height) + .75rem) 0 .75rem; border-bottom: 1px solid var(--colour-border); background: #111113; }
.noscript-nav .container-xxl { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.noscript-nav a { color: var(--colour-ivory); font-size: .8rem; font-weight: 700; }
.noscript-nav a:hover { color: var(--colour-gold-light); }

.mobile-menu-overlay { position: fixed; inset: 0; z-index: 1190; background: rgba(0, 0, 0, .7); opacity: 0; transition: opacity var(--transition); }
.mobile-menu-overlay.is-visible { opacity: 1; }
.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    width: min(92vw, 440px);
    display: flex;
    flex-direction: column;
  
    transform: translateX(105%);
    border-left: 1px solid rgba(213, 162, 83, .25);
    background: #121214;
    box-shadow: -30px 0 80px rgba(0, 0, 0, .5);
    visibility: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: transform .36s cubic-bezier(.22, .61, .36, 1), visibility .36s;
}
.mobile-menu.is-open { transform: translateX(0); visibility: visible; }
.mobile-menu__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--colour-border); background: var(--colour-black); }
.menu-close { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--colour-border); border-radius: 50%; background: transparent; color: var(--colour-ivory); }
.mobile-nav { padding: 1rem 0; }
.mobile-nav__single,
.mobile-nav__group > button { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .15rem; border: 0; border-bottom: 1px solid var(--colour-border); background: transparent; color: var(--colour-ivory); font-size: 1rem; font-weight: 700; text-align: left; }
.mobile-nav__group > button .icon { color: var(--colour-gold); transition: transform var(--transition); }
.mobile-nav__group > button[aria-expanded="true"] .icon { transform: rotate(45deg); }
.mobile-nav__panel { padding: .45rem 0 .8rem 1rem; border-bottom: 1px solid var(--colour-border); }
.mobile-nav__panel a { min-height: 44px; display: flex; align-items: center; color: var(--colour-grey); font-size: .9rem; }
.mobile-nav__panel a:hover { color: var(--colour-gold-light); }
.mobile-nav__panel .mobile-nav__all { color: var(--colour-gold-light); font-weight: 700; }
.mobile-menu__contact { display: grid; gap: .55rem; margin-top: auto; padding: 1rem 0; }
.mobile-menu__contact a { display: flex; align-items: center; gap: .65rem; color: var(--colour-ivory); font-size: .88rem; }
.mobile-menu__contact .icon { color: var(--colour-gold); }
.mobile-menu__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }

/* Hero */
.hero-section {
    position: relative;
    min-height: max(760px, 100svh);
    display: flex;
    align-items: center;
    padding: calc(var(--header-height) + 4rem) 0 6rem;
    overflow: hidden;

}
.hero-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Background image */
.hero-section .hero-section__bg {
    position: absolute;
    inset: 0;
    z-index: -3;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center right;
}

/* Dark overlay */
.hero-section::after {
    content: "";
    position: absolute;
    inset: 0;

    z-index: -2;
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(5, 5, 6, 0.57) 0%,
            rgba(8, 8, 9, 0.52) 35%,
            rgba(8, 8, 9, 0.72) 60%,
            rgba(8, 8, 9, 0.78) 80%,
            rgba(8, 8, 9, 0.62) 100%
        );
}

/* Grid pattern */
.hero-section::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;
    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(253, 253, 253, 0.12) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(37, 37, 37, 0.12) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.3),
        transparent 90%
    );

    -webkit-mask-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.3),
        transparent 90%
    );
}


.hero-section__glow { position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none; }
.hero-section__glow--one { top: 12%; right: 7%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(213,162,83,.13), transparent 68%); }
.hero-section__glow--two { bottom: -140px; left: 20%; width: 500px; height: 300px; background: radial-gradient(circle, rgba(143,91,34,.11), transparent 70%); }
.hero-section__container { position: relative; z-index: 2; }
.hero-section__content { position: relative; z-index: 3; }
.hero-section h1 { max-width: 780px; }
.hero-section h1::after { width: clamp(80px, 10vw, 155px); height: 2px; display: block; margin: 1.5rem 0 0; background: var(--gold-gradient); content: ""; }
.hero-section__lead { max-width: 690px; margin: 1.7rem 0 0; color: #cecbc7; font-size: clamp(.85rem, 1vw, 1rem); }
.hero-section__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.hero-phone { display: inline-flex; align-items: center; gap: .8rem; color: var(--colour-ivory); }
.hero-phone > .icon { width: 2.25rem; height: 2.25rem; padding: .5rem; border: 1px solid rgba(195,138,58,.35); border-radius: 50%; color: var(--colour-gold-light); }
.hero-phone span { display: grid; line-height: 1.35; }
.hero-phone small { color: var(--colour-ivory); font-size: .82rem;  margin-bottom: 5px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: .65rem 1.3rem; margin-top: 2rem; color: #d4d0ca; font-size: .78rem; }
.hero-trust li { display: flex; align-items: center; gap: .42rem; }
.hero-trust .icon { color: var(--colour-gold); }
.hero-visual { position: relative; max-width: 760px; margin-left: auto; will-change: transform; }
.hero-visual__frame { position: relative; overflow: hidden; border: 1px solid rgba(213,162,83,.2); border-radius: 48% 48% 24px 24px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.01)); box-shadow: var(--shadow-deep); }
.hero-visual__frame::after { position: absolute; inset: 1px; border: 1px solid rgba(255,255,255,.045); border-radius: inherit; content: ""; pointer-events: none; }
.hero-visual__frame img { width: 100%; }
.hero-visual__badge { position: absolute; display: flex; align-items: center; gap: .8rem; min-width: 225px; padding: .85rem 1rem; border: 1px solid rgba(213,162,83,.24); border-radius: 14px; background: rgba(18,18,20,.78); box-shadow: var(--shadow-soft); backdrop-filter: blur(14px); }
.hero-visual__badge--top { top: 13%; left: -8%; }
.hero-visual__badge--bottom { right: -3%; bottom: 10%; }
.hero-visual__badge > .icon { width: 2rem; height: 2rem; padding: .4rem; border-radius: 50%; background: var(--colour-gold-glass); color: var(--colour-gold-light); }
.hero-visual__badge span:not(.hero-visual__badge-number) { display: grid; line-height: 1.4; }
.hero-visual__badge strong { color: var(--colour-ivory); font-size: .8rem; }
.hero-visual__badge small { color: var(--colour-grey); font-size: .67rem; }
.hero-visual__badge-number { color: var(--colour-gold-light); font-family: var(--font-heading); font-size: 1.65rem; }
.hero-scroll { position: absolute; bottom: 2rem; left: 50%; z-index: 3; display: flex; align-items: center; gap: .65rem; transform: translateX(-50%); color: var(--colour-grey); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-scroll span { width: 26px; height: 42px; position: relative; border: 1px solid rgba(255,255,255,.24); border-radius: 20px; }
.hero-scroll span::after { position: absolute; top: 8px; left: 50%; width: 3px; height: 7px; transform: translateX(-50%); border-radius: 5px; background: var(--colour-gold); content: ""; animation: scroll-indicator 1.8s infinite; }
@keyframes scroll-indicator { 0% { opacity: 0; transform: translate(-50%, 0); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, 15px); } }

/* Trust bar */
.trust-bar { position: relative; z-index: 5; border-top: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); background: #111113; }
.trust-bar__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.trust-item { min-height: 118px; display: flex; align-items: center; gap: 1rem; padding: 1.35rem clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--colour-border); }
.trust-item:last-child { border-right: 0; }
.trust-item > .icon { width: 2.2rem; height: 2.2rem; padding: .45rem; border: 1px solid rgba(195,138,58,.3); border-radius: 50%; color: var(--colour-gold-light); }
.trust-item div { display: grid; line-height: 1.45; }
.trust-item strong { color: var(--colour-ivory); font-size: .87rem; }
.trust-item span { color: var(--colour-ivory); font-size: .72rem; margin-top: 5px; }

/* Services */
.services-section { background: var(--colour-obsidian); }
.services-section .text-link:hover {color: var(--colour-black);}
.service-card { position: relative; height: 100%;  display: flex; flex-direction: column; padding: clamp(1.55rem, 2.6vw, 2.35rem); overflow: hidden; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.012)); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), background-color var(--transition); }
.service-card::before { position: absolute; inset: 0 auto auto 0; width: 0; height: 2px; background: var(--gold-gradient); content: ""; transition: width .45s ease; }
.service-card::after { position: absolute; right: -70px; bottom: -90px; width: 180px; height: 180px; border: 1px solid rgba(195,138,58,.1); border-radius: 50%; content: ""; transition: transform .55s ease, border-color var(--transition); }
.service-card:hover { transform: translateY(-8px); border-color: rgba(213,162,83,.36); background: linear-gradient(145deg, rgba(195,138,58,.08), rgba(255,255,255,.016)); box-shadow: var(--shadow-soft); }
.service-card:hover::before { width: 100%; }
.service-card:hover::after { transform: scale(1.15); border-color: rgba(195,138,58,.24); }
.service-card__number { position: absolute; top: 1.1rem; right: 1.25rem; color: rgba(244,239,231,.11); font-family: var(--font-heading); font-size: 2.8rem; line-height: 1; }
.service-card__icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 2rem; border: 1px solid rgba(195,138,58,.28); border-radius: 14px; background: rgba(195,138,58,.08); color: var(--colour-gold-light); }
.service-card__icon .icon { width: 28px; height: 28px; }
.service-card h3 {  margin-bottom: 1rem; font-size: 1.5rem; }
.service-card p { position: relative; z-index: 1; color:  var(--colour-grey); font-size: .91rem; margin-bottom: 15px; }
.service-card__link { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .55rem; margin-top: auto; color: var(--colour-gold-light); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.service-card__link .icon { transition: transform var(--transition); }
.service-card__link:hover .icon { transform: translateX(5px); }

/* Airport */
.airport-section { overflow: hidden; background: #111113; }
.airport-section::before { position: absolute; inset: 0; background: radial-gradient(circle at 15% 50%, rgba(195,138,58,.1), transparent 34%); content: ""; pointer-events: none; }
#airport-transfers #airport-title,
#airport-transfers .benefit-list strong,
#airport-transfers p,
#airport-transfers .benefit-list span {
    color: var(--colour-canvas);
}
 #airport-transfers .benefit-list strong {
    margin-bottom: 5px;
 }
.airport-layout { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.4rem, 3vw, 4rem); align-items: center; }
.airport-visual { position: relative; max-width: 700px; padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgba(213,162,83,.18); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.008)); }
.airport-visual::before { position: absolute; inset: 7% -6% -6% 7%; z-index: -1; border: 1px solid rgba(195,138,58,.14); border-radius: inherit; content: ""; }
.airport-visual img { width: 100%; border-radius: 18px; }
.airport-visual__route { position: absolute; right: 7%; bottom: 7%; display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border: 1px solid rgba(213,162,83,.25); border-radius: 999px; background: rgba(11,11,12,.82); backdrop-filter: blur(12px); color: var(--colour-ivory); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.airport-visual__route i { width: 52px; height: 1px; position: relative; background: var(--gold-gradient); }
.airport-visual__route i::after { position: absolute; right: -1px; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--colour-gold-light); content: ""; }
.airport-content h2 { max-width: 760px; }
.airport-content > .section-lead { margin: 1.5rem 0 2rem; }
.benefit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.benefit-list > div { display: flex; align-items: flex-start; gap: .8rem; padding: 1rem; border: 1px solid var(--colour-border); border-radius: 12px; background: rgba(255,255,255,.018); }
.benefit-list .icon { margin-top: .12rem; color: var(--colour-gold-light); }
.benefit-list span { display: grid; color:  var(--colour-grey); font-size: .77rem; line-height: 1.55; }
.benefit-list strong { color: var(--colour-black); font-size: .82rem; }
.airport-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.6rem 0; }
.airport-list a { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem .8rem; border: 1px solid var(--colour-border); border-radius: 999px; color: var(--colour-black); font-size: .76rem; transition: border-color var(--transition), background-color var(--transition), color var(--transition); }
.airport-list a span { color: var(--colour-gold-light); font-weight: 800; }
.airport-list a:hover { border-color: rgba(195,138,58,.42); background: var(--colour-gold-glass);  }

/* Why choose us */
.why-section { background: linear-gradient(180deg, var(--colour-obsidian), #0e0e10); }
.why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--colour-border); border-left: 1px solid var(--colour-border); }
.why-card {  display: flex; gap: 1.1rem; padding: clamp(1.4rem, 3vw, 2.4rem); border-right: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); transition: background-color var(--transition); }
.why-card:hover { background: rgba(195,138,58,.055); }
.why-card__icon { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(195,138,58,.26); border-radius: 50%; color: var(--colour-gold-light); }
.why-card__icon .icon { width: 22px; height: 22px; }
.why-card h3 { margin-bottom: .7rem; font-size: 1.18rem; }
.why-card p { margin: 0; color:  var(--colour-grey); font-size: .86rem; }

/* Fleet */
.fleet-section { background: #111113; }
.fleet-section .text-link:hover {color: var(--colour-black);}
.fleet-card { height: 100%; overflow: hidden; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: var(--colour-charcoal); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.fleet-card:hover { transform: translateY(-7px); border-color: rgba(213,162,83,.32); box-shadow: var(--shadow-soft); }
.fleet-card__image { position: relative;  display: flex;  overflow: hidden; background: radial-gradient(circle at 50% 70%, rgba(195,138,58,.12), transparent 48%), #0d0d0e; }
.fleet-card__image::after { position: absolute; inset: auto 8% 12% 8%; height: 24px; border-radius: 50%; background: rgba(0,0,0,.55); filter: blur(15px); content: ""; }
.fleet-card__image > span { position: absolute; top: 1rem; left: 1rem; z-index: 2; padding: .42rem .65rem; border: 1px solid rgba(195,138,58,.3); border-radius: 999px; background: rgba(5,5,6,.72); color: var(--colour-gold-light); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.fleet-card__image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.fleet-card:hover .fleet-card__image img { transform: scale(1.035) translateY(-3px); }
.fleet-card__body { padding: 1.55rem; }
.fleet-card__body h3 { margin-bottom: .8rem; font-size: 1.3rem; }
.fleet-card__body p { margin-bottom: 15px; color:  var(--colour-grey); font-size: .86rem; }
.fleet-card__body ul { display: grid; gap: .55rem; padding: 1rem 0; border-top: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); color: #c7c3bf; font-size: .76rem; }
.fleet-card__body li { display: flex; align-items: center; gap: .55rem; }
.fleet-card__body li .icon { color: var(--colour-gold); }
.fleet-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; }

/* Process */
.process-section { background: var(--colour-obsidian); }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }

.process-grid::before { position: absolute; top: 48px; left: 16.66%; width: 66.66%; height: 1px; background: linear-gradient(90deg, transparent, var(--colour-gold), transparent); content: ""; }
.process-step { position: relative;padding: 2rem; text-align: center; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)); }
.process-step__number { position: absolute; top: 1rem; right: 1.2rem; color: rgba(244,239,231,.1); font-family: var(--font-heading); font-size: 3rem; }
.process-step__icon { position: relative; z-index: 2; width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 1.75rem; border: 1px solid rgba(213,162,83,.35); border-radius: 50%; background: #111113; color: var(--colour-gold-light); box-shadow: 0 0 0 9px var(--colour-obsidian); }
.process-step__icon .icon { width: 30px; height: 30px; }
.process-step h3 { margin-bottom: 1rem; font-size: 1.3rem;}
.process-step p { color:  var(--colour-grey); font-size: .88rem; }
.process-section__action { margin-top: 2.25rem; text-align: center; }

/* Corporate */
.corporate-section { overflow: hidden; background: #111113; }
.corporate-section::after { position: absolute; right: -10%; bottom: -35%; width: 650px; height: 650px; border: 1px solid rgba(195,138,58,.08); border-radius: 50%; content: ""; }
.corporate-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(1rem, 4vw, 4.5rem); align-items: center; }
.corporate-content h2 { max-width: 790px; }
.corporate-content > .section-lead { margin: 1.5rem 0 1rem; }
.corporate-content > p:not(.section-lead) { max-width: 700px; color:  var(--colour-grey); }
.corporate-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.6rem 0 2rem; }
.corporate-tags li { display: flex; align-items: center; gap: .42rem; padding: .55rem .75rem; border: 1px solid var(--colour-border); border-radius: 999px; color: var(--colour-black); font-size: .74rem; }
.corporate-tags .icon { color: var(--colour-gold); }
.corporate-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.corporate-visual { position: relative; will-change: transform; }
.corporate-visual img { width: 100%; border: 1px solid rgba(213,162,83,.2); border-radius: var(--radius-lg); box-shadow: var(--shadow-deep); }
.corporate-visual__panel { position: absolute; right: -6%; bottom: 7%; min-width: 320px; display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border: 1px solid rgba(213,162,83,.25); border-radius: 14px; background: rgba(11,11,12,.86); backdrop-filter: blur(14px); }
.corporate-visual__panel > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--colour-gold-glass); color: var(--colour-gold-light); }
.corporate-visual__panel div { display: grid; line-height: 1.45; }
.corporate-visual__panel strong { color: var(--colour-ivory); font-size: .83rem; }
.corporate-visual__panel small { color: var(--colour-canvas); font-size: .68rem; }

/* Areas */
.areas-section { background: linear-gradient(180deg, #0e0e10, var(--colour-obsidian)); }
.areas-section .text-link:hover {color: var(--colour-black);}
#areas-covered {background: var(--colour-black) !important;}
#areas-covered #areas-title,
#areas-covered p,
#areas-covered a {
    color: var(--colour-canvas) ;
}
.areas-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(1.4rem, 3vw, 4rem);
    align-items: stretch;
}

.areas-map {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
}

.areas-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 18px;
}


.areas-content > .section-lead { margin: 1.5rem 0 2rem; }
.areas-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1.7rem; }
.areas-grid a { min-height: 58px; display: flex; align-items: center; gap: .65rem; padding: .8rem .95rem; border: 1px solid var(--colour-border); border-radius: 10px; background: rgba(255,255,255,.015); color:  var(--colour-grey); font-size: .84rem; transition: transform var(--transition), border-color var(--transition), background-color var(--transition), color var(--transition); }
.areas-grid a .icon:first-child { color: var(--colour-gold); }
.areas-grid a .icon:last-child { width: 16px; height: 16px; margin-left: auto; }
.areas-grid a:hover { transform: translateX(4px); border-color: rgba(195,138,58,.35); background: var(--colour-black); color: var(--colour-ivory); }
.areas-map { position: relative; max-width: 680px; margin-left: auto; }
.areas-map img { width: 100%; opacity: .92; }
.areas-map__label { position: absolute; display: flex; align-items: center; gap: .5rem; padding: .45rem .65rem; border: 1px solid rgba(213,162,83,.23); border-radius: 999px; background: rgba(11,11,12,.82); color: var(--colour-ivory); font-size: .67rem; backdrop-filter: blur(10px); }
.areas-map__label span { width: 7px; height: 7px; border-radius: 50%; background: var(--colour-gold-light); box-shadow: 0 0 0 5px rgba(195,138,58,.12); }
.areas-map__label--one { top: 30%; left: 12%; }
.areas-map__label--two { top: 44%; left: 43%; }
.areas-map__label--three { right: 8%; bottom: 27%; }

/* Testimonials */
.testimonials-section { background: #111113; }
.testimonial-card { height: 100%; min-height: 315px; display: flex; flex-direction: column; padding: clamp(1.5rem, 2.8vw, 2.2rem); border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012)); }
.testimonial-card--placeholder { border-style: dashed; }
.testimonial-card__label { align-self: flex-start; padding: .38rem .6rem; border: 1px solid rgba(195,138,58,.3); border-radius: 999px; color: var(--colour-gold-light); font-size: .62rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.testimonial-card blockquote { margin: 2rem 0; color:  var(--colour-grey); font-family: var(--font-heading); font-size: clamp(1.15rem, 1.7vw, 1.45rem); line-height: 1.55; }
.testimonial-card__footer { display: flex; align-items: center; gap: .8rem; margin-top: auto; }
.testimonial-card__avatar { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--colour-border); border-radius: 50%; color: var(--colour-gold); }
.testimonial-card__footer div { display: grid; line-height: 1.4; }
.testimonial-card__footer strong { color: var(--colour-black); font-size: .79rem; }
.testimonial-card__footer small { color: var(--colour-grey); font-size: .7rem; }
/* ============================================
   Testimonials Slider
============================================ */

.testimonials-section {
    position: relative;
    overflow: hidden;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--colour-bronze);
}
.testimonials-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.testimonials-slider .swiper-wrapper {
    align-items: stretch;
}

.testimonials-slider .swiper-slide {
    height: auto;
    display: flex;
}

.testimonials-slider .testimonial-card {
    width: 100%;
    height: 100%;
}


/* ============================================
   Testimonial Card
============================================ */

.testimonial-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 32px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 2px;
}

.testimonial-card__rating {
    margin-bottom: 20px;
    font-size: 14px;
    letter-spacing: 3px;
    line-height: 1;
}

.testimonial-card blockquote {
    flex: 1;
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
}

.testimonial-card__footer {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.testimonial-card__avatar {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--border-color);
}

.testimonial-card__footer strong {
    display: block;
    margin-bottom: 4px;
    font-size: 15px;
    line-height: 1.3;
}

.testimonial-card__footer small {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    opacity: 0.65;
}


/* ============================================
   Slider Controls
============================================ */

.testimonials-slider__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.testimonials-slider__prev,
.testimonials-slider__next {
    width: 48px;
    height: 48px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}

.testimonials-slider__prev:hover,
.testimonials-slider__next:hover {
    background: var(--gold);
    border-color: var(--gold);
    transform: translateY(-2px);
}

.testimonials-slider__prev svg,
.testimonials-slider__next svg,
.testimonials-slider__prev i,
.testimonials-slider__next i {
    font-size: 14px;
}


/* ============================================
   Swiper Pagination
============================================ */

.testimonials-slider__pagination {
    position: static !important;
    width: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.testimonials-slider__pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 !important;
    padding: 0;
    border-radius: 50%;
    opacity: 0.35;
    transition:
        width 0.3s ease,
        opacity 0.3s ease,
        border-radius 0.3s ease;
}

.testimonials-slider__pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 10px;
    opacity: 1;
}


/* ============================================
   Disabled Navigation
============================================ */

.testimonials-slider__prev.swiper-button-disabled,
.testimonials-slider__next.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none;
}


/* ============================================
   Tablet
============================================ */

@media (max-width: 991.98px) {

    .testimonial-card {
        padding: 28px;
    }

    .testimonials-slider__controls {
        margin-top: 32px;
    }
}


/* ============================================
   Mobile
============================================ */

@media (max-width: 767.98px) {

    .testimonials-slider {
        overflow: visible;
    }

    .testimonial-card {
        padding: 24px;
    }

    .testimonial-card blockquote {
        font-size: 15px;
        line-height: 1.7;
    }

    .testimonial-card__footer {
        margin-top: 24px;
        padding-top: 18px;
    }

    .testimonials-slider__controls {
        gap: 14px;
        margin-top: 28px;
    }

    .testimonials-slider__prev,
.testimonials-slider__next {
        width: 42px;
        height: 42px;
    }
}
/* FAQs */
.faq-section { background: var(--colour-obsidian); }
.faq-layout { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr); gap: clamp(1rem, 4vw, 4.5rem); align-items: start; }
.faq-intro { position: sticky; top: calc(var(--header-height) + 40px); }
.faq-intro > .section-lead { margin: 1.5rem 0 2rem; }
.faq-accordion { border-top: 1px solid var(--colour-border); }
.faq-item { border-bottom: 1px solid var(--colour-border); padding: 0px 20px; }
.faq-item h3 { margin: 0; }
.faq-item button { width: 100%; min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem .2rem; border: 0; background: transparent; color: var(--colour-ivory); font-family: var(--font-body); font-size: clamp(.95rem, 1.3vw, 1.08rem); font-weight: 700; text-align: left; cursor: pointer; }
.faq-item button .icon { color: var(--colour-gold); transition: transform var(--transition); }
.faq-item.is-open button .icon { transform: rotate(45deg); }
.faq-panel { padding: 0 3rem 1.35rem 0; }
.faq-panel p { max-width: 760px; color:  var(--colour-grey); font-size: .9rem; }

/* Final CTA */
.final-cta { position: relative; padding: clamp(4rem, 7vw, 7rem) 0; overflow: hidden; border-top: 1px solid rgba(213,162,83,.2); border-bottom: 1px solid rgba(213,162,83,.2); background: linear-gradient(125deg, #171719 0%, #0b0b0c 55%, #17120d 100%); }
.final-cta::before { position: absolute; inset: 0; background-image: linear-gradient(115deg, transparent 0 46%, rgba(213,162,83,.035) 46% 47%, transparent 47% 100%); content: ""; }
.final-cta__glow { position: absolute; top: -180px; right: 7%; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgba(195,138,58,.18), transparent 67%); }
.final-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(213,162,83,.22); border-radius: var(--radius-lg); background: rgba(255,255,255,.025); box-shadow: var(--shadow-soft); backdrop-filter: blur(10px); }
.final-cta h2 { max-width: 920px; }
.final-cta p { max-width: 760px; margin: 1.25rem 0 0; color: #565554; }
.final-cta__actions {  }
.final-cta__actions a{display: inline-flex; gap:10px; align-items:center; margin:10px;}
.final-cta__contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin-top: .4rem; }
.final-cta__contact a { display: flex; align-items: center; gap: .4rem; color:  var(--colour-grey); font-size: .72rem; }
.final-cta__contact .icon { color: var(--colour-gold);  }

/* Footer */
.site-footer { padding: clamp(4.5rem, 8vw, 7rem) 0 1.5rem; background: var(--colour-black); }
.footer-top { display: grid; grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 3.2rem); padding-bottom: 3rem; }
.footer-brand p { max-width: 370px; margin: 1.2rem 0 1.5rem; color: #969397; font-size: .86rem; }

.footer-column h2 { margin-bottom: 1.2rem; color: var(--colour-ivory); font-family: var(--font-body); font-size: .78rem !important; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.footer-column ul { display: grid; gap: .65rem; }
.footer-column li,
.footer-column a { color: #979497; font-size: .78rem; }
.footer-column a { transition: color var(--transition), transform var(--transition); }
.footer-column a:hover { color: var(--colour-gold-light); }
.footer-contact li,
.footer-contact a { display: flex; align-items: flex-start; gap: .55rem; }
.footer-contact .icon { margin-top: .15rem; color: var(--colour-gold); }
.footer-legal { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); }
.footer-legal__links { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; }
.footer-legal__links a { color: #858286; font-size: .68rem; }
.footer-legal__links a:hover { color: var(--colour-gold-light); }
.footer-social { display: flex; gap: .5rem; }
.footer-social a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--colour-border); border-radius: 50%; color:  var(--colour-grey); font-size: .6rem; font-weight: 800; }
.footer-social a:hover { border-color: var(--colour-gold); color: var(--colour-gold-light); }
.footer-bottom { display: flex; justify-content: space-between; gap: 15px; padding-top: 1.5rem; }
.footer-bottom p { margin: 0; color: #6f6d70; font-size: .66rem; }
.footer-bottom a { color: var(--colour-bronze-light); text-decoration: underline; }
.footer-bottom a:hover { color: #fff; }
.back-to-top { position: fixed; right: 15px; bottom: 4.5rem; z-index: 900; width: 46px; height: 46px; display: grid; place-items: center; visibility: hidden; opacity: 0; transform: translateY(12px); border: 1px solid rgba(213,162,83,.32); border-radius: 50%; background: rgba(17,17,19,.88); color: var(--colour-gold-light); box-shadow: var(--shadow-soft); backdrop-filter: blur(10px); transition: opacity var(--transition), transform var(--transition), visibility var(--transition), background-color var(--transition); }
.back-to-top.is-visible { visibility: visible; opacity: 1; transform: translateY(0); color: var(--colour-bronze); }
.back-to-top:hover { background: var(--colour-gold); color: var(--colour-black); }

/* ==================================================
   FLEET PAGE
================================================== */
.fleet-page .site-header { background: linear-gradient(180deg, rgba(5,5,6,.95), rgba(5,5,6,.38)); }
.fleet-hero { position: relative; min-height: min(930px, 100svh); display: flex; align-items: center; overflow: hidden; padding: calc(var(--header-height) + clamp(3rem, 7vw, 6.5rem)) 0 clamp(4.5rem, 8vw, 8rem); background: radial-gradient(circle at 73% 38%, rgba(195,138,58,.15), transparent 30%), linear-gradient(138deg, #070708 0%, #101012 52%, #080809 100%); }
.fleet-hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size: 68px 68px;  content: ""; }
.fleet-hero__glow { position: absolute; border-radius: 50%; filter: blur(4px); pointer-events: none; animation: fleetAmbient 11s ease-in-out infinite alternate; }
.fleet-hero__glow--one { top: 12%; right: 7%; width: 430px; height: 430px; background: radial-gradient(circle, rgba(195,138,58,.16), transparent 68%); }
.fleet-hero__glow--two { bottom: -12%; left: 34%; width: 560px; height: 560px; background: radial-gradient(circle, rgba(143,91,34,.11), transparent 70%); animation-delay: -4s; }
@keyframes fleetAmbient { to { transform: translate3d(18px,-12px,0) scale(1.05); } }
.fleet-hero__container { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: clamp(1.4rem, 3vw, 4rem); align-items: center; }
.fleet-hero__content h1 { max-width: 880px; }
.fleet-hero__lead { max-width: 760px; margin: 1.6rem 0 2rem; color: #cdc9c3; font-size: clamp(1.03rem, 1.35vw, 1.22rem); line-height: 1.78; }
.fleet-hero__actions,
.fleet-feature__actions,
.fleet-luggage__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.25rem; }
.fleet-hero__highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; max-width: 720px; margin-top: 2.1rem; }
.fleet-hero__highlights li { min-height: 58px; display: flex; align-items: center; gap: .7rem; padding: .7rem .85rem; border: 1px solid var(--colour-border); border-radius: 12px; background: rgba(255,255,255,.025); color: #d0ccc6; font-size: .78rem; backdrop-filter: blur(9px); }
.fleet-hero__highlights .icon { color: var(--colour-gold-light); }
.fleet-hero__media { position: relative; justify-self: end; width: min(100%, 690px); padding: clamp(.7rem, 1.2vw, 1rem); border: 1px solid rgba(213,162,83,.22); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); box-shadow: var(--shadow-deep); }
.fleet-hero__media::before { position: absolute; inset: 8% -7% -7% 18%; z-index: -1; border: 1px solid rgba(195,138,58,.15); border-radius: 36px; content: ""; }
.fleet-hero__media img { width: 100%; border-radius: 22px; }
.fleet-hero__media-label { position: absolute; right: -5%; bottom: 8%; max-width: 310px; display: grid; gap: .25rem; padding: 1rem 1.15rem; border: 1px solid rgba(213,162,83,.27); border-radius: 14px; background: rgba(8,8,9,.88); box-shadow: var(--shadow-soft); backdrop-filter: blur(14px); }
.fleet-hero__media-label span { color: var(--colour-gold-light); font-size: .62rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.fleet-hero__media-label strong { color: var(--colour-ivory); font-size: .8rem; line-height: 1.45; }

.fleet-intro { background: #0d0d0f; }
.fleet-intro__layout { display: grid; grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr); gap: clamp(1.4rem, 3vw, 3.5rem); align-items: start; }
.fleet-intro__heading { position: sticky; top: calc(var(--header-height) + 42px); }
.fleet-intro__content > p:not(.section-lead) { max-width: 840px; color: var(--colour-grey); }
.fleet-intro__points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1.8rem 0 2rem; }
.fleet-intro__points li { min-height: 88px; display: flex; align-items: center; gap: .7rem; padding: .9rem; border: 1px solid var(--colour-border); border-radius: 12px; background: rgba(255,255,255,.02); color: var(--colour-grey); font-size: .78rem; }
.fleet-intro__points .icon { color: var(--colour-gold); }

.fleet-categories { background: linear-gradient(180deg,var(--colour-obsidian),#101012); }
.fleet-categories__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.25rem; }
@media (max-width:1440px){
    .fleet-categories__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
.fleet-category-card { min-width: 0; overflow: hidden; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.fleet-category-card .text-link:hover { color: var(--colour-gold-light); }
.fleet-category-card:hover { transform: translateY(-8px); border-color: rgba(213,162,83,.34); box-shadow: var(--shadow-soft); }
.fleet-category-card__media { position: relative; overflow: hidden;  background: #111113; }
.fleet-category-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fleet-category-card:hover .fleet-category-card__media img { transform: scale(1.035); }
.fleet-category-card__number { position: absolute; top: 1rem; right: 1rem; color: rgba(244,239,231,.28); font-family: var(--font-heading); font-size: 2rem; }
.fleet-category-card__content { padding: clamp(1rem,1.5vw,1.5rem); }
.fleet-category-card__model { display: block; margin-bottom: .55rem; color: var(--colour-gold-light); font-size: .69rem; letter-spacing: .08em; text-transform: uppercase; }
.fleet-category-card__content h3 { margin-bottom: .8rem; }
.fleet-category-card__content > p { color:  var(--colour-grey); font-size: .84rem; }
.fleet-category-card__specs { display: grid; grid-template-columns: 1fr 1fr; margin: 1.2rem 0; border-top: 1px solid var(--colour-border); border-bottom: 1px solid var(--colour-border); }
.fleet-category-card__specs div { padding: .75rem 0; }
.fleet-category-card__specs div + div { padding-left: 1rem; border-left: 1px solid var(--colour-border); }
.fleet-category-card__specs dt { color: #858187; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.fleet-category-card__specs dd { margin: .2rem 0 0; color: var(--colour-grey); font-size: .75rem; }
.fleet-category-card__use strong { color: var(--colour-black); }

.fleet-feature { overflow: hidden; background: #0d0d0f; }
.fleet-feature #business-class-title,
.fleet-feature p,
.fleet-feature #first-class-title,
.fleet-feature #executive-mpv-title {
    color: var(--colour-canvas );
}
.fleet-feature--reverse {
    background: var(--colour-canvas);
}

.fleet-feature--reverse .eyebrow,
.fleet-feature--reverse h2,
.fleet-feature--reverse .section-lead,
.fleet-feature--reverse p,
.fleet-feature--reverse li {
    color: var(--colour-black) !important;
}
.fleet-feature:nth-of-type(even) { background: #101012; }
.fleet-feature__layout { display: grid; grid-template-columns: minmax(0,.98fr) minmax(0,1.02fr); gap: clamp(1.4rem, 3vw, 3.5rem);  }
.fleet-feature--reverse .fleet-feature__media { order: 2; }
.fleet-feature--reverse .fleet-feature__content { order: 1; }
.fleet-feature__media { position: relative; height: 100%; }
.fleet-feature__media::before { position: absolute; inset: -16px 24px 24px -16px; z-index: 0; border: 1px solid rgba(213,162,83,.18); border-radius: var(--radius-lg); content: ""; }
.fleet-feature__media picture { position: relative; z-index: 1; display: block; height: 100%; }
.fleet-feature__media img { width: 100%; border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius-lg); box-shadow: var(--shadow-deep); height: 100%; object-fit: cover;}
.fleet-feature__caption { position: absolute; right: 4%; bottom: 4%; z-index: 2; padding: .55rem .75rem; border: 1px solid rgba(213,162,83,.24); border-radius: 999px; background: rgba(8,8,9,.83); color: var(--colour-gold-light); font-size: .65rem; backdrop-filter: blur(10px); }
.fleet-feature__model { margin: .8rem 0 1.2rem; color: var(--colour-gold-light); font-size: .75rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.fleet-feature__content > p:not(.section-lead):not(.fleet-feature__model) { color:  var(--colour-canvas); }
.fleet-feature__uses { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.35rem 0; }
.fleet-feature__uses li { padding: .45rem .65rem; border: 1px solid var(--colour-border); border-radius: 999px; color: #cdc9c4; font-size: .7rem; }
.fleet-spec-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 1.5rem 0 1.8rem; border: 1px solid rgba(213,162,83,.2); border-radius: 14px; background: rgba(255,255,255,.025); }
.fleet-spec-panel div { min-width: 0; padding: 1rem; }
.fleet-spec-panel div + div { border-left: 1px solid var(--colour-border); }
.fleet-spec-panel dt { color: #858187; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.fleet-spec-panel dd { margin: .32rem 0 0; color: #dedad4; font-size: .76rem; line-height: 1.45; }
.fleet-feature--reverse dd {color: var(--colour-black) !important;}
.fleet-comparison { background: linear-gradient(180deg,#0a0a0b,#111113); }
.fleet-comparison__table-wrap { overflow: hidden; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: rgba(255,255,255,.018); }
.fleet-comparison__table { width: 100%; border-collapse: collapse; }
.fleet-comparison__table th,
.fleet-comparison__table td { padding: 1.1rem 1rem; border-bottom: 1px solid var(--colour-border); vertical-align: top; text-align: left; }
.fleet-comparison__table thead th { background: rgba(195,138,58,.09); color: var(--colour-black); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.fleet-comparison__table tbody th { color: var(--colour-black); font-size: .84rem; }
.fleet-comparison__table td { color:  var(--colour-grey); font-size: .76rem; }
.fleet-comparison__table tbody tr:last-child > * { border-bottom: 0; }
.fleet-comparison__table .text-link { font-size: .72rem; }
.fleet-comparison__note { display: flex; align-items: flex-start; gap: .6rem; max-width: 900px; margin: 1.3rem auto 0; color: #99969a; font-size: .76rem; text-align: center; }
.fleet-comparison__note .icon { flex: 0 0 auto; margin-top: .2rem; color: var(--colour-gold); }

.fleet-standards { background: #101012; }
.fleet-standards__layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(3rem,7vw,8rem); align-items: start; }
.fleet-standards__content { position: sticky; top: calc(var(--header-height) + 42px); }
.fleet-standards__content > p:not(.section-lead) { color:  var(--colour-grey); }
.fleet-standards__checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.fleet-standards__checklist li {  display: flex; align-items: flex-start; gap: .9rem; padding: 1.2rem; border: 1px solid var(--colour-border); border-radius: 14px; background: rgba(255,255,255,.023); color:  var(--colour-grey); font-size: .78rem; }
.fleet-standards__checklist .icon { margin-top: .15rem; color: var(--colour-gold-light); }
.fleet-standards__checklist span { display: grid; gap: .35rem; }
.fleet-standards__checklist strong { color: var(--colour-black); font-size: .86rem; }

.fleet-recommendations { background: var(--colour-black); }
.fleet-recommendations .eyebrow,
.fleet-recommendations h2,
.fleet-recommendations .section-lead,
.fleet-recommendations p,
.fleet-recommendations h3,
.fleet-recommendations li {
    color: var(--colour-canvas) !important;
}
.fleet-recommendations__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.fleet-recommendation {  display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); transition: transform var(--transition), border-color var(--transition); }
.fleet-recommendation:hover { transform: translateY(-6px); border-color: rgba(213,162,83,.34); }
.fleet-recommendation > span { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 1.5rem; border: 1px solid rgba(213,162,83,.25); border-radius: 50%; color: var(--colour-gold-light); }
.fleet-recommendation h3 { margin-bottom: .85rem; }
.fleet-recommendation p { color:  var(--colour-grey); font-size: .82rem; }
.fleet-recommendation a { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; color: var(--colour-gold-light); font-size: .74rem; font-weight: 700; }
.fleet-recommendations__action { margin-top: 2rem; text-align: center; }

.fleet-luggage { overflow: hidden; background: #101012; }
.fleet-luggage__layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(1.4rem, 3vw, 3.5rem); }
.fleet-luggage__layout picture {
    height: 100%;
    display: block;
}
.fleet-luggage__visual { position: relative; }
.fleet-luggage__visual img { width: 100%; border: 1px solid rgba(213,162,83,.19); border-radius: var(--radius-lg); box-shadow: var(--shadow-deep); height: 100%; object-fit: cover;}
.fleet-luggage__visual-note { position: absolute; right: -4%; bottom: 7%; min-width: 310px; display: flex; align-items: center; gap: .9rem; padding: 1rem; border: 1px solid rgba(213,162,83,.27); border-radius: 14px; background: rgba(8,8,9,.87); backdrop-filter: blur(12px); }
.fleet-luggage__visual-note > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--colour-gold-glass); color: var(--colour-gold-light); }
.fleet-luggage__visual-note div { display: grid; }
.fleet-luggage__visual-note strong { color: var(--colour-ivory); font-size: .8rem; }
.fleet-luggage__visual-note small { color: #99969a; font-size: .66rem; }
.fleet-luggage__content > p:not(.section-lead):not(.fleet-luggage__warning) { color:  var(--colour-grey); }
.fleet-luggage__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem .9rem; margin: 1.4rem 0; }
.fleet-luggage__list li { position: relative; padding-left: 1rem; color: var(--colour-grey); font-size: .78rem; }
.fleet-luggage__list li::before { position: absolute; top: .72em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--colour-gold); content: ""; }
.fleet-luggage__warning { display: flex; align-items: flex-start; gap: .6rem; padding: .9rem 1rem; border-left: 2px solid var(--colour-gold); background: rgba(195,138,58,.07);  font-size: .78rem; }
.fleet-luggage__warning .icon { margin-top: .15rem; color: var(--colour-gold-light); }

.fleet-process { background: var(--colour-black); }
.fleet-process h2,
.fleet-process .section-lead {color: var(--colour-canvas);}
.fleet-process__steps { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; counter-reset: fleet-step; list-style: none; }
.fleet-process__steps::before { position: absolute; top: 43px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg,transparent,var(--colour-gold),transparent); content: ""; }
.fleet-process__step { position: relative; z-index: 1;padding: 1.5rem; text-align: center; border: 1px solid var(--colour-border); border-radius: var(--radius-md); background: #0e0e10; }
.fleet-process__step > span { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 1.4rem; border: 1px solid rgba(213,162,83,.32); border-radius: 50%; background: #111113; color: var(--colour-gold-light); font-family: var(--font-heading); font-size: 1.05rem; box-shadow: 0 0 0 8px var(--colour-obsidian); }
.fleet-process__step h3 { margin-bottom: .8rem; color: var(--colour-canvas); }
.fleet-process__step p { color:  var(--colour-canvas); font-size: .8rem; }
.fleet-faq { background: #0d0d0f; }
.fleet-cta .final-cta__inner { border-color: rgba(213,162,83,.3); background: linear-gradient(120deg,rgba(195,138,58,.13),rgba(255,255,255,.024)); }

@media (max-width: 1399.98px) {
    .footer-top { grid-template-columns: 1.45fr repeat(3,minmax(0,1fr)); }
    .footer-brand { grid-row: span 2; }
}
@media (max-width: 1199.98px) {
    .fleet-hero { min-height: auto; }
    .fleet-hero__container { grid-template-columns: minmax(0,1.15fr) minmax(340px,.75fr); gap: 3rem; }
    .fleet-hero__media-label { right: 0; }
    .fleet-categories__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fleet-category-card:last-child { grid-column: 1 / -1; max-width: calc(50% - .625rem); margin-inline: auto; }
    .fleet-recommendations__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
    .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-brand { grid-column: 1 / -1; grid-row: auto; }
    .fleet-hero__container,
.fleet-intro__layout,
.fleet-feature__layout,
.fleet-standards__layout,
.fleet-luggage__layout { grid-template-columns: 1fr; }
    .fleet-hero__media { width: min(78vw,620px); margin-left: auto; }
    .fleet-intro__heading,
.fleet-standards__content { position: static; }
    .fleet-feature--reverse .fleet-feature__media,
.fleet-feature--reverse .fleet-feature__content { order: initial; }
    .fleet-feature__media,
.fleet-luggage__visual { max-width: 760px; }
    .fleet-feature__content { max-width: 850px; }
    .fleet-luggage__visual { order: 2; }
    .fleet-luggage__content { order: 1; }
    .fleet-process__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fleet-process__steps::before { display: none; }
    .footer-bottom {flex-direction: column;}
    .footer-bottom p {
        text-align: center;
    }
}
@media (max-width: 767.98px) {
    .fleet-hero { padding-top: calc(var(--header-height) + 2.5rem); }
    .fleet-hero__media { width: 88vw; margin-top: 1rem; }
    .fleet-intro__points,
.fleet-categories__grid,
.fleet-standards__checklist,
.fleet-recommendations__grid,
.fleet-process__steps { grid-template-columns: 1fr; }
    .fleet-category-card:last-child { grid-column: auto; max-width: none; }
    .fleet-spec-panel { grid-template-columns: 1fr; }
    .fleet-spec-panel div + div { border-top: 1px solid var(--colour-border); border-left: 0; }
    .fleet-comparison__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .fleet-comparison__table,
.fleet-comparison__table tbody,
.fleet-comparison__table tr,
.fleet-comparison__table th,
.fleet-comparison__table td { display: block; width: 100%; }
    .fleet-comparison__table tbody { display: grid; gap: 1rem; padding: 1rem; }
    .fleet-comparison__table tr { overflow: hidden; border: 1px solid var(--colour-border); border-radius: 14px; background: rgba(255,255,255,.02); }
    .fleet-comparison__table th,
.fleet-comparison__table td { display: grid; grid-template-columns: minmax(115px,.48fr) minmax(0,1fr); gap: .8rem; padding: .75rem 1rem; border-bottom: 1px solid var(--colour-border); }
    .fleet-comparison__table th::before,
.fleet-comparison__table td::before { color: #817e82; font-size: .61rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; content: attr(data-label); }
    .fleet-comparison__table th:last-child,
.fleet-comparison__table td:last-child { border-bottom: 0; }
    .fleet-process__step { display: grid; grid-template-columns: 64px 1fr; gap: 1rem; min-height: 0; text-align: left; }
    .fleet-process__step > span { margin: 0; }
    .fleet-luggage__visual-note {  min-width: 0; margin-top: .7rem; }
}
@media (max-width: 575.98px) {
    .footer-top { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .fleet-hero__actions,
.fleet-feature__actions,
.fleet-luggage__actions { flex-direction: column; align-items: stretch; }
    .fleet-hero__actions .btn,
.fleet-feature__actions .btn,
.fleet-luggage__actions .btn { width: 100%; }
    .fleet-hero__highlights,
.fleet-luggage__list { grid-template-columns: 1fr; }
    .fleet-hero__media-label { position: relative; right: auto; bottom: auto; max-width: none; margin-top: .7rem; }
    .fleet-feature__media::before { inset: -10px 12px 12px -10px; }
    .fleet-category-card__specs { grid-template-columns: 1fr; }
    .fleet-category-card__specs div + div { padding-left: 0; border-top: 1px solid var(--colour-border); border-left: 0; }
    .fleet-comparison__table th,
.fleet-comparison__table td { grid-template-columns: 1fr; gap: .25rem; }
    .fleet-process__step { grid-template-columns: 56px 1fr; padding: 1.1rem; }
    .fleet-process__step > span { width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
    .fleet-hero__glow { animation: none; }
}

/* ==================================================
   FOUR-PAGE EXTENSION
   Airport Transfers · Corporate · Locations · Contact
================================================== */
.extension-page .site-header { background: linear-gradient(180deg, rgba(5,5,6,.96), rgba(5,5,6,.38)); }
.extension-hero { position: relative; min-height: min(930px,100svh); display: flex; align-items: center; overflow: hidden; padding: calc(var(--header-height) + clamp(3rem,7vw,6.5rem)) 0 clamp(4.5rem,8vw,8rem); background: radial-gradient(circle at 74% 35%,rgba(195,138,58,.16),transparent 30%),linear-gradient(138deg,#070708 0%,#101012 52%,#080809 100%); }
.extension-hero .breadcrumb .active {color: var(--colour-bronze);}
.extension-hero::before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(90deg,transparent,#000 53%,#000); content:""; pointer-events:none; }
.extension-hero--corporate { background: radial-gradient(circle at 76% 32%,rgba(195,138,58,.15),transparent 29%),linear-gradient(140deg,#070708,#111216 54%,#080809); }
.extension-hero--locations { background: radial-gradient(circle at 74% 35%,rgba(143,91,34,.2),transparent 31%),linear-gradient(140deg,#080809,#101113 55%,#080809); }
.extension-hero--contact { min-height:min(850px,100svh); }
.extension-hero--contact .breadcrumb .active {
 color: var(--colour-black);
}
.extension-hero__glow { position:absolute; top:7%; right:4%; width:min(48vw,620px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(213,162,83,.13),transparent 68%); animation:extensionAmbient 11s ease-in-out infinite alternate; pointer-events:none; }
@keyframes extensionAmbient { to { transform:translate3d(18px,-14px,0) scale(1.05); } }
.extension-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr); align-items:center; gap:clamp(3rem,7vw,8rem); }
.extension-hero__content h1 { max-width:900px; }
.extension-hero__lead { max-width:780px; margin:1.55rem 0 2rem; color:#cbc8c3; font-size:clamp(1.03rem,1.35vw,1.22rem); line-height:1.78; }
.extension-hero__actions,
.section-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1.2rem; }
.extension-hero__points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; max-width:730px; margin-top:2rem; }
.extension-hero__points li { min-height:58px; display:flex; align-items:center; gap:.7rem; padding:.7rem .85rem; border:1px solid var(--colour-border); border-radius:12px; background:var(--colour-canvas) !important; color:#cfcbc6; font-size:.78rem; backdrop-filter:blur(9px); }
.extension-hero__points .icon { color:var(--colour-gold-light); }
.extension-hero__media { position:relative; justify-self:end; width:min(100%,690px); padding:clamp(.7rem,1.2vw,1rem); border:1px solid rgba(213,162,83,.22); border-radius:30px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015)); box-shadow:var(--shadow-deep); }
.extension-hero__media::before { position:absolute; inset:8% -7% -7% 18%; z-index:-1; border:1px solid rgba(195,138,58,.15); border-radius:36px; content:""; }
.extension-hero__media img { width:100%; border-radius:22px; }
.extension-hero__label { position:absolute; right:-5%; bottom:8%; max-width:320px; display:grid; gap:.25rem; padding:1rem 1.15rem; border:1px solid rgba(213,162,83,.27); border-radius:14px; background:rgba(8,8,9,.9); box-shadow:var(--shadow-soft); backdrop-filter:blur(14px); }
.extension-hero__label span { color:var(--colour-gold-light); font-size:.62rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.extension-hero__label strong { color:var(--colour-ivory); font-size:.8rem; line-height:1.45; }

.page-intro { background:#0d0d0f; }
 .page-intro h2,
.page-intro p,
.page-intro span {
    color: var(--colour-canvas) !important;
}
.page-intro__layout { display:grid; grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr); gap:clamp(1.4rem, 3vw, 3.5rem); align-items:start; }
.page-intro__heading { position:sticky; top:calc(var(--header-height) + 42px); }
.page-intro__content > p:not(.section-lead) { max-width:850px; color:var(--colour-grey); }
.page-intro .text-link:hover {
  color: var(--colour-black);
}
.fact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1.7rem 0 2rem; }
.fact-list li { min-height:82px; display:flex; align-items:flex-start; gap:.8rem; padding:1rem; border:1px solid var(--colour-border); border-radius:12px; background:rgba(255,255,255,.02); color:var(--colour-grey); font-size:.78rem; }
.fact-list .icon { flex:0 0 auto; color:var(--colour-gold); }
.fact-list strong { display:block; margin-bottom:.2rem; color:var(--colour-bronze-dark); font-size:.8rem; }
.notice-panel { display:flex; gap:.85rem; max-width:800px; margin:1.5rem 0; padding:1rem 1.1rem; border:1px solid rgba(213,162,83,.24); border-radius:12px; background:rgba(195,138,58,.06); }
.notice-panel .icon { flex:0 0 auto; color:var(--colour-gold-light); }
.notice-panel p { margin:0; color:var(--colour-grey); font-size:.82rem; }
.notice-panel strong { color:var(--colour-black); }

.card-section {
    background: var(--colour-black);
}
.card-section .text-link:hover {color: var(--colour-canvas) !important;}

.card-section .eyebrow,
.card-section h2,
.card-section h3,
.card-section .section-lead,
.card-section p,
.card-section li,
.card-section span {
    color: var(--colour-canvas) !important;
}
.content-card-grid { display:grid; gap:1rem; }
.content-card-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.content-card-grid--five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.content-card-grid--four {grid-template-columns:repeat(4,minmax(0,1fr)); }
.info-card { min-width:0; display:flex; flex-direction:column; padding:clamp(1.25rem,2.4vw,1.8rem); border:1px solid var(--colour-border); border-radius:var(--radius-md); background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }
.info-card:hover { transform:translateY(-7px); border-color:rgba(213,162,83,.34); box-shadow:var(--shadow-soft); }
.info-card__top { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; color:var(--colour-gold-light); }
.info-card__top .icon { width:25px; height:25px; }
.info-card__top span,
.info-card__code { color:var(--colour-gold-light); font-size:.64rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.info-card h3 { margin-bottom:.75rem; font-size:clamp(1.25rem,1.7vw,1.72rem); }
.info-card p { flex:1 1 auto; color: var(--colour-grey); font-size:.82rem; }
.info-card .text-link { margin-top:1rem; font-size:.72rem; }
.info-card .text-link:hover { color: var(--colour-black); }

.editorial-feature { overflow:hidden; background:#0d0d0f; }

.editorial-feature #heathrow-title,
.editorial-feature #city-airport-title,
.editorial-feature p { color: var(--colour-canvas) !important; }
.editorial-feature .text-link:hover {color: var(--colour-black);}
.editorial-feature .section-lead {
    margin-top: 10px;
}
.editorial-feature p,
.editorial-feature .tag-grid a {color: var(--colour-black) !important;}
.editorial-feature--reverse  p {
    color: var(--colour-black) !important;
}
.editorial-feature:nth-of-type(even),
.compact-feature--alt { background:#101012; }
.editorial-feature__grid { display:grid; grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); gap:clamp(1.4rem, 3vw, 3.5rem); align-items:center; }
.editorial-feature--reverse .editorial-feature__media { order:2; }
.editorial-feature--reverse .editorial-feature__content { order:1; }
.editorial-feature__media { position:relative; }
.editorial-feature__media::before,
.image-panel-section__media::before { position:absolute; inset:-16px 24px 24px -16px; z-index:0; border:1px solid rgba(213,162,83,.18); border-radius:var(--radius-lg); content:""; }
.editorial-feature__media picture,
.image-panel-section__media picture { position:relative; z-index:1; display:block; }
.editorial-feature__media img,
.image-panel-section__media img { width:100%; aspect-ratio:1.35; object-fit:cover; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-lg); box-shadow:var(--shadow-deep); }
.editorial-feature__media > span { position:absolute; right:4%; bottom:4%; z-index:2; padding:.55rem .75rem; border:1px solid rgba(213,162,83,.24); border-radius:999px; background:rgba(8,8,9,.86); color:var(--colour-gold-light); font-size:.65rem; backdrop-filter:blur(10px); }
.editorial-feature__content > p:not(.section-lead),
.image-panel-section__content > p:not(.section-lead) { color: var(--colour-grey); }
.check-list { display:grid; gap:.65rem; margin:1.35rem 0 1.7rem; }
.check-list li { display:flex; gap:.65rem; align-items:flex-start; color:var(--colour-canvas); font-size:.8rem; }
.check-list .icon { flex:0 0 auto; color:var(--colour-gold); }

.compact-feature {
    background: var(--colour-black);
}
.compact-feature .text-link:hover{color: var(--colour-bronze-light) !important;}
.compact-feature .eyebrow,
.compact-feature h2,
.compact-feature .section-lead,
.compact-feature p,
.compact-feature li,
.compact-feature strong {
    color: var(--colour-canvas) !important;
}
.compact-feature .text-link:hover {
    color: var(--colour-black);
}
.compact-feature__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.compact-feature__grid > div:first-child > p:not(.section-lead) { color: var(--colour-grey); }
.compact-feature__panel { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(213,162,83,.22); border-radius:var(--radius-lg); background:linear-gradient(145deg,rgba(195,138,58,.09),rgba(255,255,255,.02)); box-shadow:var(--shadow-soft); }
.compact-feature__panel > span { display:block; margin-bottom:1rem; color:var(--colour-gold-light); font-size:.67rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.compact-feature__panel ul { display:grid; gap:.65rem; }
.compact-feature__panel li { padding:.65rem 0; border-bottom:1px solid var(--colour-border); color:var(--colour-grey); font-size:.82rem; }
.compact-feature__panel li:last-child { border-bottom:0; }

.process-section { background:linear-gradient(180deg,#101012,#0b0b0c); }
.process-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; list-style: none;}
#booking-process {background: var(--colour-black);}
#booking-process .process-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
#booking-process  .section-heading,
#booking-process #process-title {color: var(--colour-canvas);}
#booking-process .process-step {
    background: var(--colour-black);
    color: var(--colour-canvas);
}
#booking-process .process-step h3,
#booking-process .process-step p {
    color: var(--colour-canvas);
}
.process-grid::before { position:absolute; top:34px; right:10%; left:10%; height:1px; background:linear-gradient(90deg,transparent,var(--colour-gold),transparent); content:""; opacity:.4; }
.process-card { position:relative; z-index:1; padding:0 1rem; text-align:center; }
.process-card > span { width:68px; height:68px; display:grid; place-items:center; margin:0 auto 1.25rem; border:1px solid rgba(213,162,83,.35); border-radius:50%; background:#111113; color:var(--colour-gold-light); font-family:var(--font-heading); font-size:1.15rem; box-shadow:0 0 0 9px #0e0e10; }
.process-card h3 { margin-bottom:.65rem; font-size:1.15rem; }
.process-card p { color:#99969b; font-size:.76rem; }

.benefit-section { background:#0d0d0f; }
.benefit-section #journey-guide-title,
.benefit-section #airport-benefits-title,
.benefit-section p { color:var(--colour-canvas); }

.benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.benefit-card {padding:1.35rem; border:1px solid var(--colour-border); border-radius:var(--radius-md); background:rgba(255,255,255,.022); transition:transform var(--transition),border-color var(--transition); }
.benefit-card:hover { transform:translateY(-5px); border-color:rgba(213,162,83,.3); }
.benefit-card > .icon { width:28px; height:28px; margin-bottom:1rem; color:var(--colour-gold); }
.benefit-card h3 { margin-bottom:.65rem; font-size:1.2rem; color: var(--colour-canvas); }
.benefit-card p { color:#9f9ca0; font-size:.78rem; }
.benefit-card .text-link { margin-top:1rem; font-size:.68rem; }

.image-panel-section { background:#101012; }
.image-panel-section .tag-grid a {color: var(--colour-black);}
.image-panel-section .text-link:hover {color: var(--colour-black);}

.image-panel-section__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(1.4rem, 3vw, 3.5rem); align-items:center; }
.image-panel-section__media { position:relative; }
.image-panel-section__media img { aspect-ratio:1.2; }
.contact-page .image-panel-section__media img { object-position:center; }

.split-copy { background:#0d0d0f; }
.split-copy .eyebrow,
.split-copy h2,
.split-copy .section-lead,
.split-copy p,
.split-copy li {
    color: var(--colour-canvas) !important;
}
.split-copy .check-list li {
    color: var(--colour-black);
}
.split-copy__grid { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(1.4rem, 3vw, 3.5rem); align-items:start; }
.split-copy__grid > div:last-child > p { color: var(--colour-grey); }
.split-copy__grid strong { color:var(--colour-ivory); }

.fleet-link-section { background:radial-gradient(circle at 82% 40%,rgba(195,138,58,.1),transparent 28%),#101012; }
.fleet-link-section__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.fleet-link-section__grid > div:first-child > p:not(.section-lead) { color: var(--colour-grey); }
.fleet-mini-grid { display:grid; gap:.75rem; }
.fleet-mini-grid article { display:grid; gap:.2rem; padding:1rem 1.1rem; border:1px solid var(--colour-border); border-radius:12px; background:rgba(255,255,255,.025); }
.fleet-mini-grid span { color:var(--colour-gold-dark); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.fleet-mini-grid strong { color:var(--colour-grey); font-size:.82rem; }

.route-section { background:#0d0d0f; }
.route-section #popular-routes-title,
.route-section p,
.route-section a {
  color: var(--colour-canvas);
}
.route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.route-card { min-height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.7rem; padding:.9rem 1rem; border:1px solid var(--colour-border); border-radius:12px; background:rgba(255,255,255,.02); color: var(--colour-grey); font-size:.74rem; transition:transform var(--transition),border-color var(--transition),background-color var(--transition); }
.route-card:hover { transform:translateY(-4px); border-color:rgba(213,162,83,.3); background:rgba(195,138,58,.05); }
.route-card .icon { color:var(--colour-gold); }
.route-card strong { color:var(--colour-ivory); text-align:right; }
.route-section .section-actions { margin-top:1.5rem; }
.tag-grid { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.25rem 0 1.5rem; }
.tag-grid a,
.tag-grid span { min-height:42px; display:inline-flex; align-items:center; padding:.55rem .75rem; border:1px solid var(--colour-border); border-radius:999px; background:rgba(255,255,255,.02); color:#c9c5bf; font-size:.72rem; }
.tag-grid a:hover { border-color:rgba(213,162,83,.3); color:var(--colour-gold-light); }
.region-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.85rem; }
.region-card { min-height:220px; padding:1.25rem; border:1px solid var(--colour-border); border-radius:var(--radius-md); background:rgba(255,255,255,.022); }
.region-card > span { width:43px; height:43px; display:grid; place-items:center; margin-bottom:1rem; border:1px solid rgba(213,162,83,.26); border-radius:50%; color:var(--colour-gold); }
.region-card h3 { margin-bottom:.6rem; font-size:1.15rem; }
.region-card p { color:#9f9ca0; font-size:.76rem; }

.extension-faq { background:#101012; }
.extension-cta .final-cta__inner { border-color:rgba(213,162,83,.28); background:linear-gradient(120deg,rgba(195,138,58,.12),rgba(255,255,255,.024)); }
.extension-cta .final-cta__actions > a:not(.btn) { min-height:38px; display:flex; align-items:center; gap:.45rem; color:#d1cdc7; font-size:.73rem; }
.extension-cta .final-cta__actions > a:not(.btn) .icon { color:var(--colour-gold); }

/* Contact form */
.contact-options { background:#0d0d0f; }
.contact-options #contact-options-title { color:var(--colour-canvas); }
.contact-options p { color:var(--colour-canvas); }

.contact-option-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.contact-option {  display:flex; flex-direction:column; justify-content:flex-end; padding:1.25rem; border:1px solid var(--colour-border); border-radius:var(--radius-md); background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }
.contact-option:hover { transform:translateY(-6px); border-color:rgba(213,162,83,.34); box-shadow:var(--shadow-soft); }
.contact-option .icon { width:30px; height:30px; margin-bottom:10px; color:var(--colour-gold); }
.contact-option span { color:#8f8c91; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.contact-option strong { margin-top:.35rem; color:var(--colour-black); font-size:.88rem; overflow-wrap:anywhere; }
.contact-form-section { background:linear-gradient(180deg,#101012,#0b0b0c); }
.contact-form-section__grid { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.contact-form-section__intro { position:sticky; top:calc(var(--header-height) + 42px); }
.contact-form-assurance { display:flex; gap:.8rem; margin-top:1.5rem; padding:1rem; border:1px solid rgba(213,162,83,.22); border-radius:12px; background:rgba(195,138,58,.05); }
.contact-form-assurance .icon { flex:0 0 auto; color:var(--colour-gold); }
.contact-form-assurance strong { color:var(--colour-ivory); font-size:.82rem; }
.contact-form-assurance p,
.contact-form-section__note { margin:.25rem 0 0; color:#99969b; font-size:.75rem; }
.contact-form-card { min-width:0; padding:clamp(1.25rem,3vw,2.35rem); border:1px solid rgba(213,162,83,.2); border-radius:var(--radius-lg); background:rgba(255,255,255,.025); box-shadow:var(--shadow-deep); }
.form-status { display:flex; gap:.8rem; margin-bottom:1.25rem; padding:1rem; border-radius:12px; outline:none; }
.form-status .icon { flex:0 0 auto; }
.form-status h3 { margin:0 0 .3rem; font-size:1rem; }
.form-status p,
.form-status ul { margin:0; font-size:.78rem; }
.form-status--success { border:1px solid rgba(87,184,126,.35); background:rgba(87,184,126,.08); color:#d7eadf; }
.form-status--success .icon { color:#73ca96; }
.form-status--error { border:1px solid rgba(226,102,102,.35); background:rgba(226,102,102,.07); color:#f0d4d4; }
.form-status--error li + li { margin-top:.25rem; }
.form-status--error a { text-decoration:underline; }
.contact-form { position:relative; }
.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

#field-telephone {
    grid-column: span 2;
}
.iti.iti--allow-dropdown {
  width: 100%;
}
.error {
    font-size: 12px;
    margin-top: 5px;
    color: red;
}
.form-field--wide { grid-column:1/-1; }
.form-field label { display:block; margin-bottom:.45rem; color:#d8d4ce; font-size:.75rem; font-weight:700; }
.form-field label > span:not(.optional),
.privacy-check label > span { color:var(--colour-gold-light); }
.form-field .optional { float:right; color:#77747a; font-size:.63rem; font-weight:500; }
.form-field input,
.form-field select,
.form-field textarea { width:100%; min-height:50px; padding:.75rem .85rem; border:1px solid rgba(255,255,255,.12); border-radius:9px; background:#111113; color:var(--colour-ivory); font:inherit; font-size:.82rem; transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition); }
.form-field textarea { min-height:110px; resize:vertical; }
.form-field input::placeholder,
.form-field textarea::placeholder { color:#6f6c72; opacity:1; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color:var(--colour-gold); box-shadow:0 0 0 3px rgba(195,138,58,.13); outline:0; background:#141416; }
.form-field [aria-invalid="true"],
.privacy-check input[aria-invalid="true"] { border-color:#d56e6e; }
.field-error { display:block; margin-top:.35rem; color:#e7aaaa; font-size:.7rem; }
.privacy-check { display:grid; grid-template-columns:auto 1fr; align-items: center; gap:.65rem; }
.privacy-check input { width:20px; height:20px; margin-top:.15rem; accent-color:var(--colour-gold); }
.privacy-check label { color: var(--colour-grey); font-size:.74rem; line-height:1.6; }
.privacy-check label a { color:var(--colour-gold-light); text-decoration:underline; }
.privacy-check .field-error { grid-column:2; }
.contact-form__submit { min-width:230px; }
.contact-form__submit[disabled] { opacity:.65; cursor:wait; }
.form-disclaimer { margin:.8rem 0 0; color:#77747a; font-size:.68rem; }

@media (max-width:1399.98px) {
    .content-card-grid--five,
.content-card-grid--four { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .region-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1199.98px) {
    .extension-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); gap:3rem; }
    .desktop-nav { display:none; }
    .menu-toggle { display:grid; }
    .header-phone,
.header-quote { display:none; }
    .content-card-grid--three,
.benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contact-option-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .extension-hero { min-height:auto; }
    .extension-hero__grid,
.page-intro__layout,
.editorial-feature__grid,
.compact-feature__grid,
.image-panel-section__grid,
.split-copy__grid,
.fleet-link-section__grid,
.contact-form-section__grid { grid-template-columns:1fr; }
    .extension-hero__media { justify-self:center; width:min(78vw,630px); }
    .extension-hero__label { right:2%; }
    .page-intro__heading,
.contact-form-section__intro { position:static; }
    .editorial-feature--reverse .editorial-feature__media,
.editorial-feature--reverse .editorial-feature__content { order:initial; }
    .content-card-grid--five,
.content-card-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1rem; }
    .process-grid::before { display:none; }
    .route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .region-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .form-grid {
        display: flex;
        flex-direction: column;
        row-gap: 15px;
    }
}
@media (max-width:767.98px) {
    .extension-hero { padding-top:calc(var(--header-height) + 2.5rem); }
    .extension-hero__media { width:88vw; margin-top:1rem; }
    .extension-hero__points,
.fact-list,
.content-card-grid--three,
.content-card-grid--five,
.content-card-grid--four,
.benefit-grid,
.route-grid,
.region-grid,
.contact-option-grid { grid-template-columns:1fr; }
    .process-grid { grid-template-columns:1fr; }
    .process-card { display:grid; grid-template-columns:66px 1fr; gap:1rem; padding:0; text-align:left; }
    .process-card > span { width:64px; height:64px; margin:0; }
    .form-field--wide { grid-column:auto; }
    .editorial-feature__media::before,
.image-panel-section__media::before { inset:-10px 12px 12px -10px; }
}
@media (max-width:575.98px) {
    .extension-hero__actions,
.section-actions { flex-direction:column; align-items:stretch; }
    .extension-hero__actions .btn,
.section-actions .btn { width:100%; }
    .extension-hero__points { grid-template-columns:1fr; }
    .extension-hero__media-label,
.extension-hero__label { right:.5rem; bottom:.7rem; max-width:230px; }
    .route-card { grid-template-columns:1fr auto 1fr; padding:.8rem; }
    .contact-form-card { padding:1rem; }
    .contact-form__submit { width:100%; min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
    .extension-hero__glow { animation:none; }
}


/* ==================================================
   INTERNAL SERVICE PAGES — SHARED
================================================== */
.mega-menu--services { grid-template-columns:minmax(240px,.72fr) minmax(0,1.65fr); max-width:1180px; left: max(24px, calc((100vw - 1280px) / 1.4));}
.mega-menu__service-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.mega-menu__service-group { min-width:0; }
.mega-menu__service-group h3 { margin:0 0 .5rem; color:var(--colour-gold-light); font-family:var(--font-body); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.mega-menu__service-group a { display:flex; align-items:center; gap:.65rem; min-height:45px; padding:.48rem .55rem; border:1px solid transparent; border-radius:9px; color:var(--colour-grey); font-size:.76rem; font-weight:650; transition:transform var(--transition),border-color var(--transition),background-color var(--transition),color var(--transition); }
.mega-menu__service-group a .icon { flex:0 0 auto; width:18px; height:18px; color:var(--colour-gold); }
.mega-menu__service-group a:hover,
.mega-menu__service-group a:focus-visible,
.mega-menu__service-group a.is-active { transform:translateX(3px); border-color:rgba(195,138,58,.24); background:rgba(195,138,58,.07); color:var(--colour-black); }
.mobile-nav__subheading { display:block; margin:.7rem 0 .15rem; color:var(--colour-gold-light); font-size:.63rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.mobile-nav__panel a.is-active { color:var(--colour-ivory); font-weight:750; }
.mobile-nav__panel a.is-active::before { content:""; width:5px; height:5px; margin-right:.5rem; border-radius:50%; background:var(--colour-gold); }

.service-detail-page { overflow-x:hidden; background:var(--colour-obsidian); }
.service-detail-coverage .section-actions .text-link:hover {
    color: var(--colour-black);
}
.service-detail-page__main { position:relative; isolation:isolate; }
.service-detail-page .section { position:relative; padding-block:clamp(1.5rem, 3vw, 2rem); }
.service-detail-page h1 { max-width:880px; }
.service-detail-page h2 { max-width:850px; }
.service-detail-planning  h2,
.service-detail-planning .service-detail-split__copy p {
 color: var(--colour-canvas) !important;
}
.service-detail-planning .service-detail-split__copy p {
    margin-top: 10px;
}
.service-detail-page p { color:var(--colour-grey); }
.service-detail-hero { position:relative; min-height:790px; display:flex; align-items:center; padding:calc(var(--header-height) + 2.5rem) 0 2rem; overflow:hidden; background:
    radial-gradient(circle at 78% 35%,rgba(195,138,58,.13),transparent 34%),
    linear-gradient(135deg,#080809 0%,#111113 54%,#09090a 100%); }
.service-detail-hero .breadcrumb-item.active {
    color: var(--colour-bronze);
}
.service-detail-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.service-detail-hero__glow { position:absolute; width:520px; height:520px; right:5%; top:16%; border-radius:50%; background:radial-gradient(circle,rgba(195,138,58,.2),transparent 68%); filter:blur(15px); animation:serviceAmbient 9s ease-in-out infinite alternate; pointer-events:none; }
.service-detail-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.92fr); gap:clamp(3rem,6vw,7rem); align-items:center; }
.service-detail-hero__content { min-width:0; }
.service-detail-hero .breadcrumb { margin-bottom:2rem; }
.service-detail-hero__lead { max-width:720px; margin:1.35rem 0 0; font-size:clamp(1rem,1.25vw,1.18rem); line-height:1.78; }
.service-detail-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:2rem; }
.service-detail-hero__phone { display:flex; align-items:center; gap:.5rem; min-height:44px; padding:.55rem .35rem; color:#d7d2cc; font-size:.76rem; font-weight:700; }
.service-detail-hero__phone .icon { color:var(--colour-gold); }
.service-detail-hero__points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1rem; margin:2.15rem 0 0; padding:1.15rem 0 0; border-top:1px solid var(--colour-border); list-style:none; }
.service-detail-hero__points li { display:flex; gap:.55rem; align-items:flex-start; color:#c5c1bc; font-size:.73rem; padding: 8px 15px; border-radius: 15px; }
.service-detail-hero__points .icon { flex:0 0 auto; width:17px; height:17px; color:var(--colour-gold); }
.service-detail-hero__media { position:relative; width:100%; margin:0; border:1px solid rgba(213,162,83,.22); border-radius:clamp(18px,3vw,34px); background:#0b0b0c; box-shadow:0 34px 90px rgba(0,0,0,.48); transform-style:preserve-3d; }
.service-detail-hero__media::before { content:""; position:absolute; inset:-14px 18px 18px -14px; z-index:-1; border:1px solid rgba(213,162,83,.2); border-radius:inherit; }
.service-detail-hero__media picture,
.service-detail-hero__media img { display:block; width:100%; }
.service-detail-hero__media img { height:auto; border-radius:15px; object-fit:cover; }
.service-detail-hero__media figcaption { position:absolute; left:1rem; right:1rem; bottom:1rem; display:flex; align-items:center; gap:.6rem; width:max-content; max-width:calc(100% - 2rem); padding:.7rem .9rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(5,5,6,.76); backdrop-filter:blur(16px); color:var(--colour-ivory); font-size:.69rem; font-weight:750; letter-spacing:.04em; }
.service-detail-hero__media figcaption span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--gold-gradient); color:#080809; }
.service-detail-hero__media figcaption .icon { width:16px; height:16px; }

.service-detail-intro { background:#0d0d0f; }
.service-detail-intro__grid { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; }
.service-detail-intro__heading { position:sticky; top:calc(var(--header-height) + 36px); }
.service-detail-intro__heading .gold-rule { display:block; width:92px; height:2px; margin-top:1.35rem; background:var(--gold-gradient); transform-origin:left; }
.service-detail-intro__copy { max-width:790px; }
.service-detail-intro__copy p { font-size:clamp(.97rem,1.15vw,1.08rem); line-height:1.85; }
.service-detail-intro__copy p + p { margin-top:1.15rem; }
.service-detail-intro__copy .text-link { margin-top:.7rem; }
.service-detail-intro__copy .text-link:hover { color: var(--colour-bronze); }

.service-detail-audience {
    background: linear-gradient(180deg, #111113, #0c0c0e);
}
.service-detail-audience .eyebrow,
.service-detail-audience h2,
.service-detail-audience .section-lead,
.service-detail-audience p,
.service-detail-audience h3 {
    color: var(--colour-canvas) !important;
}
.service-detail-audience .service-detail-card {
    background: transparent;
}

.service-detail-audience__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:clamp(2rem,4vw,3.5rem); }
.service-detail-audience .service-detail-audience__grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.service-detail-card { position:relative; padding:1.35rem; overflow:hidden; border:1px solid var(--colour-border); border-radius:var(--radius-md); background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.012)); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }
.service-detail-card::after { content:""; position:absolute; right:-65px; bottom:-65px; width:145px; height:145px; border-radius:50%; background:radial-gradient(circle,rgba(195,138,58,.16),transparent 70%); }
.service-detail-card:hover { transform:translateY(-7px); border-color:rgba(213,162,83,.32); box-shadow:var(--shadow-soft); }
.service-detail-card__number { display:block; margin-bottom:1rem; color:rgba(213,162,83,.62); font-family:var(--font-heading); font-size:1.5rem; }
.service-detail-card h3 { position:relative; z-index:1; font-size:1.18rem; }
.service-detail-card p { position:relative; z-index:1; margin:.7rem 0 0; font-size:.76rem; line-height:1.68; }

.service-detail-features { background:#0a0a0b; }
.service-detail-features__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.4rem; }
.service-detail-feature { display:grid; grid-template-columns:auto 1fr; gap:.9rem;  padding:1.25rem; border-bottom:1px solid rgba(213,162,83,.22); background:rgba(255,255,255,.018); }
.service-detail-feature__icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(213,162,83,.28); border-radius:10px; color:var(--colour-gold); }
.service-detail-feature__icon .icon { width:20px; height:20px; }
.service-detail-feature h3 { margin:.1rem 0 .45rem; font-size:1rem; }
.service-detail-feature p { margin:0; font-size:.75rem; line-height:1.68; }

.service-detail-planning { background:linear-gradient(120deg,#141416,#0d0d0f); }
.service-detail-split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.service-detail-split__copy p { max-width:760px; line-height:1.82; }
.service-detail-split__copy p + p { margin-top:1rem; }
.service-detail-check-panel { position:relative; padding:clamp(1.5rem,3vw,2.4rem); border:1px solid rgba(213,162,83,.25); border-radius:var(--radius-lg); background:rgba(5,5,6,.55); box-shadow:var(--shadow-deep); }
.service-detail-check-panel::before { content:""; position:absolute; inset:10px -10px -10px 10px; z-index:-1; border:1px solid rgba(255,255,255,.07); border-radius:inherit; }
.service-detail-check-panel__label { display:block; margin-bottom:1rem; color:var(--colour-gold-light); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.service-detail-check-panel ul,
.service-detail-fleet__categories,
.service-detail-trust__points { margin:0; padding:0; list-style:none; }
.service-detail-check-panel li,
.service-detail-fleet__categories li { display:flex; gap:.7rem; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.07); color:var(--colour-grey); font-size:.78rem; }
.service-detail-check-panel li:last-child,
.service-detail-fleet__categories li:last-child { border-bottom:0; }
.service-detail-check-panel li span {
    color: var(--colour-ivory);
}
.service-detail-check-panel .icon,
.service-detail-fleet__categories .icon { flex:0 0 auto; width:19px; height:19px; color:var(--colour-gold); }

.service-detail-fleet { background:#0b0b0d; }
.service-detail-fleet .text-link:hover {
    color: var(--colour-black);
}
.service-detail-fleet__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.service-detail-fleet__visual { position:relative; min-height:390px; display:grid; place-items:center; align-content:center; gap:1rem; overflow:hidden; border:1px solid rgba(213,162,83,.2); border-radius:50% 50% 46% 54% / 56% 43% 57% 44%; background:radial-gradient(circle at 50% 45%,rgba(195,138,58,.17),transparent 55%),#101012; color:var(--colour-gold-light); }
.service-detail-fleet__visual > .icon { width:145px; height:145px; color:var(--colour-ivory); opacity:.84; }
.service-detail-fleet__visual > span:last-child { font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.service-detail-fleet__line { position:absolute; width:72%; height:72%; border:1px solid rgba(213,162,83,.25); border-radius:50%; }
.service-detail-fleet__content p { line-height:1.82; }
.service-detail-fleet__categories { margin:1.4rem 0; }

.service-detail-coverage {
    background: linear-gradient(180deg, #111113, #0c0c0d);
}
.service-detail-coverage .eyebrow,
.service-detail-coverage h2,
.service-detail-coverage .section-lead,
.service-detail-coverage p,
.service-detail-coverage h3,
.service-detail-coverage li {
    color: var(--colour-canvas) !important;
}
.service-detail-coverage .text-link:hover {color: var(--colour-canvas) !important;}

.service-detail-coverage__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.service-detail-coverage__content p { line-height:1.82; }
.service-detail-tags { display:flex; flex-wrap:wrap; align-content:center; gap:.75rem; min-height:300px; padding:clamp(1.3rem,3vw,2.4rem); border:1px solid var(--colour-border); border-radius:var(--radius-lg); background:
    radial-gradient(circle at 78% 20%,rgba(195,138,58,.13),transparent 42%),
    rgba(255,255,255,.018); }
.service-detail-tags span { display:flex; align-items:center; gap:.45rem; min-height:43px; padding:.65rem .85rem; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:var(--colour-black); color:#d0ccc7; font-size:.71rem; }
.service-detail-tags .icon { width:16px; height:16px; color:var(--colour-gold); }

.service-detail-process { background:#09090a; }
.service-detail-process__grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:3rem 0 0; padding:0; list-style:none; }
.service-detail-process__grid::before { content:""; position:absolute; left:8%; right:8%; top:30px; height:1px; background:linear-gradient(90deg,transparent,var(--colour-gold),transparent); opacity:.42; }
.service-detail-process__step { position:relative; z-index:1; padding:0 1rem; text-align:center; }
.service-detail-process__step > span { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 1.25rem; border:1px solid rgba(213,162,83,.32); border-radius:50%; background:#0b0b0c; color:var(--colour-gold-light); font-family:var(--font-heading); font-size:1.15rem; box-shadow:0 0 0 8px #09090a; }
.service-detail-process__step h3 { font-size:1.03rem; }
.service-detail-process__step p { margin:.65rem 0 0; font-size:.74rem; line-height:1.65; }

.service-detail-trust { background:#101012; }
.service-detail-trust .text-link:hover {
  color: var(--colour-black);
}
.service-detail-trust .service-detail-trust__copy p {
    color: var(--colour-black);
    margin-top: 15px;
}
.service-detail-trust__panel { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); gap:clamp(2rem,6vw,6rem); padding:clamp(1.6rem,4vw,4rem); border:1px solid rgba(213,162,83,.23); border-radius:var(--radius-lg); background:
    radial-gradient(circle at 88% 10%,rgba(195,138,58,.15),transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.009)); }
.service-detail-trust__copy p { max-width:760px; line-height:1.8; color: var(--colour-canvas); }
.service-detail-trust__points { display:grid; gap:.75rem; align-content:center; }
.service-detail-trust__points li { display:flex; align-items:center; gap:.75rem; min-height:58px; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:var(--colour-black); color:#d8d4ce; font-size:.75rem; }
.service-detail-trust__points .icon { flex:0 0 auto; width:22px; height:22px; color:var(--colour-gold); }

.service-detail-faq { background:#0c0c0e; }
.service-detail-cta { background:#09090a; }

.service-detail-cta .final-cta__inner { border-color:rgba(213,162,83,.3); background: radial-gradient(circle at 85% 25%,rgba(195,138,58,.17),transparent 35%), linear-gradient(120deg,rgba(195,138,58,.08),rgba(255,255,255,.02)); }

.service-detail-cta .final-cta__actions > a:not(.btn) {  display:flex; align-items:center; gap:.45rem; color:#d2cec8; font-size:.72rem; }
.service-detail-cta .final-cta__actions > a:not(.btn) .icon { color:var(--colour-gold); }

/* Page character modifiers */
.service-detail-page--wedding .service-detail-hero { background:radial-gradient(circle at 78% 35%,rgba(213,162,83,.18),transparent 36%),linear-gradient(135deg,#0b0909,#171313 55%,#09090a); }
.service-detail-page--aviation .service-detail-hero__media { border-radius:32% 4% 32% 4% / 16% 28% 16% 28%; }
.service-detail-page--roadshow .service-detail-audience__grid,
.service-detail-page--corporate .service-detail-audience__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-detail-page--sightseeing .service-detail-tags span,
.service-detail-page--event .service-detail-tags span { border-color:rgba(213,162,83,.2); }

/* ==================================================
   AIRPORT CHAUFFEUR SERVICE
================================================== */
.service-detail-page--airport .service-detail-hero__media figcaption { border-color:rgba(213,162,83,.28); }

/* ==================================================
   CORPORATE CHAUFFEUR SERVICE
================================================== */
.service-detail-page--corporate .service-detail-trust__panel { background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(195,138,58,.045)); }

/* ==================================================
   HOURLY CHAUFFEUR HIRE
================================================== */
.service-detail-page--hourly .service-detail-fleet__visual { border-radius:50%; }

/* ==================================================
   EVENT CHAUFFEUR SERVICE
================================================== */
/* Shared component variations provide the event-page composition. */

/* ==================================================
   WEDDING CHAUFFEUR SERVICE
================================================== */
/* The warmer hero treatment distinguishes the wedding page. */

/* ==================================================
   CORPORATE ROADSHOWS
================================================== */
/* Roadshow audience cards use a wider three-column editorial grid. */

/* ==================================================
   PRIVATE AVIATION TRANSFERS
================================================== */
/* Aviation uses an angular editorial hero frame. */

/* ==================================================
   LONG-DISTANCE CHAUFFEUR
================================================== */
.service-detail-page--long-distance .service-detail-coverage__grid { grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); }

/* ==================================================
   LONDON SIGHTSEEING TOURS
================================================== */
.service-detail-page--sightseeing .service-detail-fleet__visual { background:radial-gradient(circle at 50% 45%,rgba(213,162,83,.2),transparent 58%),#101012; }

@keyframes serviceAmbient {
    from { transform:translate3d(-2%,0,0) scale(.96); opacity:.72; }
    to { transform:translate3d(3%,2%,0) scale(1.06); opacity:1; }
}
@media (max-width:1399.98px) {
    .service-detail-audience__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1199.98px) {
    .mega-menu--services { max-width:1000px; }
    .service-detail-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); gap:3rem; }
    .service-detail-features__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .service-detail-hero { min-height:auto; }
    .service-detail-hero__grid,
.service-detail-intro__grid,
.service-detail-split,
.service-detail-fleet__grid,
.service-detail-coverage__grid,
.service-detail-trust__panel,
.service-detail-page--long-distance .service-detail-coverage__grid { grid-template-columns:1fr; }
    .service-detail-hero__media { justify-self:center; width:min(82vw,680px); }
    .service-detail-intro__heading { position:static; }
    .service-detail-fleet__visual { width:min(72vw,520px); min-height:330px; margin-inline:auto; }
    .service-detail-process__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 1rem; }
    .service-detail-process__grid::before { display:none; }
}
@media (max-width:767.98px) {
    .service-detail-hero { padding-top:calc(var(--header-height) + 2.8rem); }
    .service-detail-hero__media { width:90vw; margin-top:1rem; }
    .service-detail-hero__points,
.service-detail-audience__grid,
.service-detail-page--roadshow .service-detail-audience__grid,
.service-detail-page--corporate .service-detail-audience__grid,
.service-detail-features__grid { grid-template-columns:1fr; }
    .service-detail-card { min-height:0; }
    .service-detail-card__number { margin-bottom:1.8rem; }
    .service-detail-process__grid { grid-template-columns:1fr; }
    .service-detail-process__step { display:grid; grid-template-columns:64px 1fr; gap:1rem; padding:0; text-align:left; }
    .service-detail-process__step > span { margin:0; }
    .service-detail-fleet__visual { width:min(86vw,440px); min-height:285px; }
}
@media (max-width:575.98px) {
    .service-detail-hero__actions,
.service-detail-page .section-actions { flex-direction:column; align-items:stretch; }
    .service-detail-hero__actions .btn,
.service-detail-page .section-actions .btn { width:100%; }
    .service-detail-hero__phone { justify-content:center; }
    .service-detail-hero__media figcaption { left:.6rem; right:.6rem; bottom:.6rem; max-width:calc(100% - 1.2rem); font-size:.62rem; }
    .service-detail-check-panel,
.service-detail-trust__panel { padding:1.15rem; }
    .service-detail-tags { min-height:0; padding:1rem; }
}
@media (prefers-reduced-motion:reduce) {
    .service-detail-hero__glow { animation:none; }
    .service-detail-card,
.mega-menu__service-group a { transition:none; }
}


/* ==================================================
   INTERNAL FLEET PAGES — SHARED
================================================== */
.fleet-detail-page { --fleet-accent: var(--colour-gold); background: var(--colour-obsidian); }
.fleet-detail-page--s-class { --fleet-accent: var(--colour-gold-light); }
.fleet-detail-page--v-class { --fleet-accent: #b99b73; }
.fleet-detail-page--suv { --fleet-accent: #d0a66c; }
.fleet-detail-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(8.8rem, 13vw, 12rem) 0 clamp(5rem, 8vw, 8rem); background: radial-gradient(circle at 80% 25%, rgba(195,138,58,.13), transparent 34%), linear-gradient(150deg, #080809, #171719 58%, #09090a); }
.fleet-detail-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:56px 56px;  z-index:-2; }
.fleet-detail-hero__glow { position:absolute; width:38rem; height:38rem; right:-9rem; top:-8rem; border-radius:50%; background:radial-gradient(circle,rgba(195,138,58,.2),transparent 68%); filter:blur(8px); z-index:-1; }
.fleet-detail-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(410px,.92fr); align-items:center; gap:clamp(2.5rem,6vw,6.5rem); }
.fleet-detail-hero__content h1 { max-width:780px; margin:.7rem 0 1.35rem; font-size:clamp(2.65rem,5.7vw,5.75rem); line-height:.98; }
.fleet-detail-hero__lead { max-width:700px; font-size:clamp(1.03rem,1.5vw,1.22rem); line-height:1.78; color:var(--colour-grey); }
.fleet-detail-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem; margin-top:1.9rem; }
.fleet-detail-hero__phone { display:inline-flex; align-items:center; gap:.45rem; color:var(--colour-ivory); font-weight:600; }
.fleet-detail-hero__phone .icon { width:1.05rem; }
.fleet-detail-hero__points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1rem; margin:2rem 0 0; padding:0; list-style:none; }
.fleet-detail-hero__points li { display:flex; align-items:flex-start; gap:.55rem; color:var(--colour-canvas); font-size:.94rem; }
.fleet-detail-hero__points .icon { flex:0 0 auto; width:1.05rem; color:var(--fleet-accent); margin-top:.12rem; }
.fleet-detail-hero__media { position:relative; margin:0; min-width:0; border:1px solid rgba(255,255,255,.11); border-radius:2rem; overflow:hidden; background:#09090a; box-shadow:0 2rem 5rem rgba(0,0,0,.45); }
.fleet-detail-hero__media::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(195,138,58,.12); pointer-events:none; }
.fleet-detail-hero__media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.fleet-detail-hero__media figcaption { position:absolute; left:1.15rem; right:1.15rem; bottom:1.15rem; display:flex; align-items:center; gap:.6rem; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(8,8,9,.78); backdrop-filter:blur(12px); color:var(--colour-ivory); font-size:.83rem; letter-spacing:.04em; }
.fleet-detail-hero__media figcaption span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:linear-gradient(135deg,var(--colour-gold-light),var(--colour-gold-dark)); color:#111; }
.fleet-detail-hero__media figcaption .icon { width:1rem; }
.fleet-detail-intro { background:var(--colour-obsidian); }
.fleet-detail-intro .text-link:hover { color:var(--fleet-accent); }
.fleet-detail-intro__grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr); gap:clamp(2.5rem,7vw,7.5rem); align-items:start; }
.fleet-detail-intro__heading { position:sticky; top:7.5rem; }
.fleet-detail-intro__copy p,
.fleet-detail-category__copy p { color:var(--colour-grey); line-height:1.82; margin: 10px 0; }
.fleet-detail-category { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:clamp(1.5rem,3vw,2.5rem); padding:clamp(1.8rem,4vw,3.5rem); border:1px solid var(--colour-border); border-radius:1.8rem; background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow:0 1.5rem 4rem rgba(0,0,0,.2); }
.fleet-detail-category__copy h2 { font-size:clamp(2rem,4vw,3.65rem); }
.fleet-detail-category__points { display:grid; gap:.75rem; list-style:none; padding:0; margin:0; }
.fleet-detail-category__points li { display:flex; align-items:center; gap:.7rem; padding:.95rem 1rem; border:1px solid rgba(255,255,255,.08); border-radius:1rem; background:rgba(0,0,0,.18); color:var(--colour-ivory); }
.fleet-detail-category__points .icon { width:1.1rem; color:var(--fleet-accent); }
.fleet-detail-suitability { background:var(--colour-charcoal); }
.fleet-detail-suitability .section-heading p {margin:10px 0}
.fleet-detail-suitability__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2.4rem; }
.fleet-detail-use-card { min-height:220px; padding:1.5rem; border:1px solid var(--colour-border); border-radius:1.35rem; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015)); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.fleet-detail-use-card:hover { transform:translateY(-5px); border-color:rgba(195,138,58,.42); box-shadow:0 1.2rem 2.4rem rgba(0,0,0,.22); }
.fleet-detail-use-card > span { display:inline-flex; color:var(--fleet-accent); font-size:.8rem; letter-spacing:.18em; margin-bottom:1.35rem; }
.fleet-detail-use-card h3 { margin-bottom:.6rem; font-size:1.22rem; }
.fleet-detail-use-card p { color:var(--colour-grey); line-height:1.7; }
.fleet-detail-capacity { background:var(--colour-obsidian); }
.fleet-detail-capacity__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.82fr); gap:clamp(2rem,7vw,7rem); align-items:center; }
.fleet-detail-capacity__copy p { color:var(--colour-grey); line-height:1.8; margin:10px 0; }
.fleet-detail-capacity__note { display:flex; gap:.75rem; margin-top:1.3rem; padding:1rem 1.1rem; border-left:2px solid var(--fleet-accent); background:rgba(195,138,58,.055); color:var(--colour-ivory)!important; }
.fleet-detail-capacity__note .icon { flex:0 0 auto; width:1.2rem; color:var(--fleet-accent); }
.fleet-detail-specs { margin:0; padding:clamp(1.25rem,3vw,2.25rem); border:1px solid var(--colour-border); border-radius:1.5rem; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); }
.fleet-detail-specs > div { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1fr); gap:1rem; padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
.fleet-detail-specs > div:last-child { border-bottom:0; }
.fleet-detail-specs dt { color:var(--colour-grey); font-size:.88rem; }
.fleet-detail-specs dd { margin:0; color:var(--colour-ivory); font-weight:650; }
.fleet-detail-comfort { background:var(--colour-charcoal); }
.fleet-detail-comfort__grid { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(1.5rem,3vw,3rem);  }
.fleet-detail-comfort__visual { position:relative; display:grid; place-items:center; min-height:350px; overflow:hidden; border:1px solid var(--colour-border); border-radius:1.8rem; background:radial-gradient(circle,rgba(195,138,58,.15),transparent 52%),#0a0a0b; color:var(--fleet-accent); }
.fleet-detail-comfort__visual img{
    object-fit:cover;
    height:100%;
}
.fleet-detail-comfort__visual > .icon { width:7.5rem; height:7.5rem; stroke-width:.7; }
.fleet-detail-comfort__visual small { position:absolute; bottom:1.35rem; color:var(--colour-grey); letter-spacing:.12em; text-transform:uppercase; }
.fleet-detail-comfort__halo { position:absolute; width:17rem; height:17rem; border:1px solid rgba(195,138,58,.28); border-radius:50%; box-shadow:0 0 0 3.5rem rgba(195,138,58,.035),0 0 0 7rem rgba(195,138,58,.018); }
.fleet-detail-comfort__copy p { color:var(--colour-grey); line-height:1.8; margin: 15px 0; }
.fleet-detail-comfort__copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; list-style:none; padding:0; margin:1.45rem 0 0; }
.fleet-detail-comfort__copy li { display:flex; gap:.55rem; padding:.85rem; border:1px solid rgba(255,255,255,.075); border-radius:.9rem; color:var(--colour-ivory); }
.fleet-detail-comfort__copy li .icon { flex:0 0 auto; width:1rem; color:var(--fleet-accent); }
.fleet-detail-services .text-link:hover { color:var(--fleet-accent); }
.fleet-detail-service-band { background:var(--colour-obsidian); }
.fleet-detail-service-band:nth-child(even) { background:#111113; }
.fleet-detail-service-band__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,3vw,3rem); align-items:center; }
.fleet-detail-service-band--reverse .fleet-detail-service-band__visual { order:2; }
.fleet-detail-service-band__visual { position:relative; min-height:310px; display:grid; place-items:center; border:1px solid var(--colour-border); border-radius:1.65rem; background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(195,138,58,.04)); overflow:hidden; color:var(--fleet-accent); }
.fleet-detail-service-band__visual img{
    object-fit:cover;
    height:100%;
}
.fleet-detail-service-band__visual > .icon { width:5.5rem; height:5.5rem; stroke-width:.8; }
.fleet-detail-service-band__visual > span { position:absolute; left:1.3rem; top:1.2rem; font-size:3rem; line-height:1; font-family:var(--font-heading); color:rgba(244,239,231,.12); }
.fleet-detail-service-band__copy p { color:var(--colour-grey); line-height:1.8; margin:10px 0; }
.fleet-detail-standards { background:var(--colour-charcoal); }
.fleet-detail-standards__panel { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(2rem,6vw,5rem); padding:clamp(1.6rem,4vw,3.6rem); border:1px solid rgba(195,138,58,.22); border-radius:1.8rem; background:linear-gradient(145deg,rgba(195,138,58,.07),rgba(255,255,255,.025)); }
.fleet-detail-standards__panel p { color:var(--colour-grey); line-height:1.8; }
.fleet-detail-standards__panel ul { display:grid; gap:.75rem; list-style:none; padding:0; margin:0; }
.fleet-detail-standards__panel li { display:flex; gap:.65rem; padding:.9rem 1rem; border:1px solid rgba(255,255,255,.08); border-radius:.9rem; background:rgba(0,0,0,.16); color:var(--colour-ivory); }
.fleet-detail-standards__panel li .icon { flex:0 0 auto; width:1.1rem; color:var(--fleet-accent); }
.fleet-detail-disclaimer { margin-top:1.15rem; padding:1rem 1.1rem; border-left:2px solid var(--fleet-accent); background:rgba(0,0,0,.2); color:var(--colour-ivory)!important; }
.fleet-detail-comparison { background:var(--colour-obsidian); }
.fleet-detail-comparison p,.fleet-detail-process p{margin:15px 0;}
.fleet-detail-comparison__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.fleet-detail-compare-card { display:flex; flex-direction:column; min-height:250px; padding:1.5rem; border:1px solid var(--colour-border); border-radius:1.3rem; background:rgba(255,255,255,.03); }
.fleet-detail-compare-card > span { display:grid; place-items:center; width:2.7rem; height:2.7rem; border-radius:50%; background:rgba(195,138,58,.12); color:var(--fleet-accent); margin-bottom:1.2rem; }
.fleet-detail-compare-card > span .icon { width:1.3rem; }
.fleet-detail-compare-card p { color:var(--colour-grey); line-height:1.7; flex:1; margin:10px 0; }
.fleet-detail-compare-card .text-link:hover { color:var(--fleet-accent); }
.fleet-detail-process { background:var(--colour-charcoal); }
.fleet-detail-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; list-style:none; padding:0; margin:2.5rem 0 0; }
.fleet-detail-process__grid li { position:relative; padding:1.45rem; border:1px solid var(--colour-border); border-radius:1.25rem; background:rgba(255,255,255,.025); }
.fleet-detail-process__grid li > span { display:inline-block; margin-bottom:1.4rem; color:var(--fleet-accent); letter-spacing:.16em; }
.fleet-detail-process__grid h3 { font-size:1.12rem; }
.fleet-detail-process__grid p { color:var(--colour-grey); line-height:1.65; margin:10px 0; }
.fleet-detail-faq { background:var(--colour-obsidian); }
.fleet-detail-cta { position:relative; overflow:hidden; background:var(--colour-charcoal); }
.fleet-detail-cta::before { content:""; position:absolute; width:28rem; height:28rem; right:-8rem; bottom:-12rem; border-radius:50%; background:radial-gradient(circle,rgba(195,138,58,.14),transparent 66%); pointer-events:none; }
@media (max-width:1199.98px) {
  .fleet-detail-hero__grid { grid-template-columns:minmax(0,1fr) minmax(340px,.82fr); gap:2rem; }
  .fleet-detail-suitability__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fleet-detail-process__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
  .fleet-detail-hero { padding-top:8.2rem; }
  .fleet-detail-hero__grid,
.fleet-detail-intro__grid,
.fleet-detail-category,
.fleet-detail-capacity__grid,
.fleet-detail-comfort__grid,
.fleet-detail-service-band__grid,
.fleet-detail-standards__panel { grid-template-columns:1fr; }
  .fleet-detail-hero__media { max-width:720px; }
  .fleet-detail-intro__heading { position:static; }
  .fleet-detail-service-band--reverse .fleet-detail-service-band__visual { order:0; }
  .fleet-detail-comparison__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
  .fleet-detail-hero { padding-top:7.6rem; }
  .fleet-detail-hero__content h1 { font-size:clamp(2.35rem,12vw,3.45rem); }
  .fleet-detail-hero__points,
.fleet-detail-suitability__grid,
.fleet-detail-comfort__copy ul,
.fleet-detail-comparison__grid,
.fleet-detail-process__grid { grid-template-columns:1fr; }
  .fleet-detail-hero__actions,
.fleet-detail-hero__actions .btn { width:100%; }
  .fleet-detail-hero__actions .btn { justify-content:center; }
  .fleet-detail-hero__phone { width:100%; justify-content:center; min-height:44px; }
  .fleet-detail-hero__media { border-radius:1.25rem; }
  .fleet-detail-hero__media figcaption { left:.65rem; right:.65rem; bottom:.65rem; border-radius:1rem; font-size:.76rem; }
  .fleet-detail-category,
.fleet-detail-standards__panel { padding:1.2rem; border-radius:1.2rem; }
  .fleet-detail-use-card { min-height:0; }
  .fleet-detail-specs > div { grid-template-columns:1fr; gap:.3rem; }
  .fleet-detail-comfort__visual,
.fleet-detail-service-band__visual { min-height:240px; }
}
@media (prefers-reduced-motion:reduce) {
  .fleet-detail-use-card { transition:none; }
  .fleet-detail-use-card:hover { transform:none; }
}


/* ==================================================
   INTERNAL AIRPORT AND LOCATION PAGES — SHARED
================================================== */
.location-detail-page {
    background: var(--colour-obsidian);
    color: var(--colour-grey);
    overflow-x: clip;
}

.location-detail-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(8.5rem, 13vw, 12rem) 0 clamp(4.5rem, 8vw, 7.5rem);
    background:
        radial-gradient(circle at 78% 34%, rgba(195, 138, 58, .18), transparent 27rem),
        linear-gradient(145deg, var(--colour-black), var(--colour-obsidian) 52%, #111114);
    overflow: hidden;
}
.location-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, #000, transparent 92%);
}
.location-detail-hero__route {
    position: absolute;
    width: clamp(20rem, 40vw, 46rem);
    aspect-ratio: 1;
    right: -10%;
    top: 8%;
    border: 1px solid rgba(213, 162, 83, .18);
    border-radius: 50%;
    box-shadow: inset 0 0 5rem rgba(195, 138, 58, .08), 0 0 6rem rgba(195, 138, 58, .08);
    z-index: -1;
}
.location-detail-hero__route {
    border-radius: 44% 56% 60% 40%;
    transform: rotate(16deg);
}
.location-detail-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(26rem, .98fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 6.5rem);
}
.location-detail-hero__content {
    min-width: 0;
}
.location-detail-hero h1 {
    margin: .65rem 0 1.25rem;
    color: var(--colour-ivory);
    font-size: clamp(2.75rem, 5.7vw, 5.7rem);
    line-height: .98;
    text-wrap: balance;
}
.location-detail-hero__lead {
    max-width: 65ch;
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    line-height: 1.78;
}
.location-detail-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .85rem;
    margin: 1.8rem 0;
}
.location-detail-hero__phone {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 2.75rem;
    padding: .55rem .2rem;
    color: var(--colour-ivory);
    font-weight: 650;
}
.location-detail-hero__phone svg {
    width: 1.15rem;
    color: var(--colour-gold-light);
}
.location-detail-hero__points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem 1rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}
.location-detail-hero__points li {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: var(--colour-ivory);
    font-size: .92rem;
    padding:10px ;
    border-radius: 0.75rem;
}
.location-detail-hero__points svg {
    flex: 0 0 auto;
    width: 1.05rem;
    color: var(--colour-gold);
}
.location-detail-hero__media {
    position: relative;
    margin: 0;
    padding: clamp(.75rem, 1.7vw, 1.1rem);
    border: 1px solid var(--colour-border);
    border-radius: clamp(1.2rem, 2.2vw, 2rem);
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.015));
    box-shadow: 0 2.2rem 6rem rgba(0,0,0,.38);
    transform-style: preserve-3d;
}
.location-detail-hero__media::before {
    content: "";
    position: absolute;
    inset: 12% -5% -7% 16%;
    z-index: -1;
    border-radius: inherit;
    background: rgba(195,138,58,.13);
    filter: blur(28px);
}
.location-detail-hero__media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: calc(clamp(1.2rem, 2.2vw, 2rem) - .5rem);
}
.location-detail-hero__media figcaption {
    position: absolute;
    left: 1.35rem;
    right: 1.35rem;
    bottom: 1.35rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: .85rem;
    background: rgba(5,5,6,.78);
    backdrop-filter: blur(14px);
    color: var(--colour-ivory);
    font-weight: 650;
}
.location-detail-hero__media figcaption svg {
    width: 1.2rem;
    color: var(--colour-gold-light);
}
.location-detail-intro .text-link:hover{color:var(--colour-ink)}
.location-detail-intro__grid {
    display: grid;
    grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: start;
}
.location-detail-intro__grid h2 {
    margin-top: .55rem;
}
.location-detail-intro__grid p {
    max-width: 72ch;
    font-size: 1.04rem;
    line-height: 1.82;
    margin:15px 0;
}

.location-detail-intro__availability,
.location-detail-fleet__notice {
    padding: 1rem 1.1rem;
    border-left: 2px solid var(--colour-gold);
    background: var(--colour-glass);
    color: var(--colour-ivory);
}

.location-detail-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.1rem;
}
.location-detail-card {
    position: relative;
    min-height: 13.25rem;
    padding: 1.15rem;
    border: 1px solid var(--colour-border);
    border-radius: 1.1rem;
    background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.02));
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.location-detail-card:hover {
    transform: translateY(-5px);
    border-color: rgba(195,138,58,.45);
    box-shadow: 0 1.2rem 3rem rgba(0,0,0,.22);
}
.location-detail-card  p{
 margin:10px 0;
}
.location-detail-card > span {
    display: grid;
    place-items: center;
    width: 2.5rem;
    aspect-ratio: 1;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: rgba(195,138,58,.13);
    color: var(--colour-gold-light);
}
.location-detail-card > span svg { width: 1.15rem; }
.location-detail-card h3 {
    color: var(--colour-ivory);
    font-size: 1.18rem;
}


.location-detail-airports__grid,
.location-detail-pickup__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}
.location-detail-pickup ul {
    margin: 0;
    padding: 1rem;
    list-style: none;
    border: 1px solid var(--colour-border);
    border-radius: 1.2rem;
    background: var(--colour-glass);
}
.location-detail-pickup li {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem .75rem;
    border-bottom: 1px solid var(--colour-border);
    color: var(--colour-ivory);
}
.location-detail-pickup p {
    margin-top: 15px;
}
.location-detail-pickup li:last-child { border-bottom: 0; }
.location-detail-pickup svg { width: 1.15rem; color: var(--colour-gold); }
.location-detail-airports__note {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: clamp(1.4rem, 3vw, 2.1rem);
    border: 1px solid rgba(195,138,58,.3);
    border-radius: 1.2rem;
    background: linear-gradient(145deg, rgba(195,138,58,.12), rgba(255,255,255,.025));
}
.location-detail-airports__note > svg {
    flex: 0 0 auto;
    width: 1.8rem;
    color: var(--colour-gold-light);
}
.location-detail-services .section-heading p,.section--charcoal .section-heading p {
    margin: 15px 0;
}

.location-detail-services__grid,
.location-detail-nearby__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 2rem;
}
.location-detail-services__grid > p{
 margin: 10px 0px;
}

.location-detail-services__grid > a,
.location-detail-nearby__grid > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    min-height: 9.5rem;
    padding: 1.25rem;
    border: 1px solid var(--colour-border);
    border-radius: 1rem;
    background: rgba(255,255,255,.025);
    color: var(--colour-grey);
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.location-detail-nearby__grid > a p,.location-detail-services__grid > a p{
    margin-top: 10px;
}
.location-detail-services__grid > a:hover,
.location-detail-nearby__grid > a:hover {
    transform: translateY(-3px);
    border-color: rgba(195,138,58,.45);
    background: rgba(195,138,58,.06);
}
.location-detail-services__grid > a > span,
.location-detail-nearby__grid > a > span {
    display: grid;
    place-items: center;
    width: 2.45rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(195,138,58,.12);
    color: var(--colour-gold-light);
}
.location-detail-services__grid > a > svg,
.location-detail-nearby__grid > a > svg {
    width: 1.15rem;
    color: var(--colour-gold);
}
.location-detail-services__grid h3,
.location-detail-nearby__grid h3 { color: var(--colour-ivory); }

.location-detail-process__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}
.location-detail-process__grid li {
    position: relative;
    min-height: 13rem;
    padding: 1.35rem;
    border-top: 1px solid rgba(195,138,58,.55);
    background: rgba(255,255,255,.025);
}
.location-detail-process__grid li > span {
    display: grid;
    place-items: center;
    width: 2.6rem;
    aspect-ratio: 1;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: var(--gold-gradient, linear-gradient(135deg,#D5A253,#C38A3A,#8F5B22));
    color: var(--colour-black);
    font-weight: 800;
}
.location-detail-process__grid h3 { color: var(--colour-ivory); font-size: 1.12rem; }

.location-detail-journeys__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(14rem, .75fr);
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 3.2rem);
    border: 1px solid rgba(195,138,58,.3);
    border-radius: 1.4rem;
    background:
        radial-gradient(circle at 90% 15%, rgba(195,138,58,.14), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
}
.location-detail-journeys__panel img{
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}
.location-detail-airports__links a,
.location-detail-fleet__links a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 3.15rem;
    padding: .8rem 1rem;
    border: 1px solid var(--colour-border);
    border-radius: .75rem;
    color: var(--colour-ivory);
}
.location-detail-airports__links a:hover,
.location-detail-fleet__links a:hover {
    border-color: rgba(195,138,58,.45);
}
.location-detail-journeys h2 { margin-bottom: .75rem;  }
.location-detail-journeys__mark {
    display: grid;
    place-items: center;
    width: clamp(7rem, 14vw, 15rem);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid rgba(195,138,58,.3);
    border-radius: 50%;
    color: var(--colour-gold-light);
    box-shadow: inset 0 0 3rem rgba(195,138,58,.1);
}
.location-detail-journeys__mark svg { width: 3.2rem; height: 3.2rem; }

.location-detail-airports__links,
.location-detail-fleet__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1.25rem;
}
.location-detail-fleet__intro {
    max-width: 72rem;
    margin-bottom: 1.5rem;
}
.location-detail-fleet__intro p{margin: 15px 0px;}
.location-detail-fleet__links {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.location-detail-fleet__links a {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 5.8rem;
}
.location-detail-fleet__links svg { width: 1rem; color: var(--colour-gold); }

.location-detail-cta__panel {
    position: relative;
    overflow: hidden;
    padding: clamp(1.8rem, 5vw, 4.2rem);
    border: 1px solid rgba(195,138,58,.38);
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at 80% 20%, rgba(213,162,83,.2), transparent 26rem),
        linear-gradient(135deg, #171719, #09090a);
    box-shadow: 0 2.5rem 6rem rgba(0,0,0,.3);
}
.location-detail-cta__panel::after {
    content: "";
    position: absolute;
    width: 16rem;
    aspect-ratio: 1;
    right: -6rem;
    bottom: -8rem;
    border: 1px solid rgba(213,162,83,.24);
    border-radius: 50%;
}
.location-detail-cta__panel h2 { max-width: 20ch; }
.location-detail-cta__panel p { max-width: 68ch; }
.location-detail-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.5rem;
}
.location-detail-cta__contact {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.2rem;
    margin-top: 1.5rem;
}
.location-detail-cta__contact a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--colour-ivory);
}
.location-detail-cta__contact svg { width: 1.05rem; color: var(--colour-gold-light); }


.location-detail-page--mayfair .location-detail-hero__route { transform: rotate(28deg) scale(.9); }
.location-detail-page--westminster .location-detail-hero__route { border-radius: 50% 34% 54% 42%; }
.location-detail-page--city .location-detail-hero__route { transform: rotate(-11deg); }
.location-detail-page--canary-wharf .location-detail-hero__route { border-style: dashed; }
.location-detail-page--knightsbridge .location-detail-hero__route { transform: rotate(34deg); }
.location-detail-page--kensington .location-detail-hero__route { border-radius: 40% 60% 46% 54%; }
.location-detail-page--chelsea .location-detail-hero__route { transform: rotate(-23deg) scale(.92); }

@media (max-width: 1199.98px) {
    .location-detail-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(21rem, .82fr);
        gap: 2.5rem;
    }
    
    .location-detail-fleet__links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .location-detail-hero { padding-top: 7.5rem; }
    .location-detail-hero__grid,
.location-detail-intro__grid,
.location-detail-airports__grid,
.location-detail-pickup__grid,
.location-detail-journeys__panel {
        grid-template-columns: 1fr;
    }
    .location-detail-hero__content { order: 1; }
    .location-detail-hero__media { order: 2; max-width: 46rem; }
    
    .location-detail-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .location-detail-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .location-detail-journeys__mark { display: none; }
}

@media (max-width: 767.98px) {
    .location-detail-hero h1 {
        max-width: none;
        font-size: clamp(2.35rem, 12vw, 3.8rem);
    }
    .location-detail-hero__points,
.location-detail-card-grid,
.location-detail-services__grid,
.location-detail-nearby__grid,
.location-detail-process__grid,
.location-detail-airports__links,
.location-detail-fleet__links {
        grid-template-columns: 1fr;
    }
    
    .location-detail-hero__media figcaption {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        font-size: .86rem;
    }
    .location-detail-hero__actions .btn,
.location-detail-cta__actions .btn {
        width: 100%;
        justify-content: center;
    }
    .location-detail-hero__phone { width: 100%; }
    .location-detail-card { min-height: auto; }
    .location-detail-process__grid li { min-height: auto; }
}

@media (max-width: 420px) {
    .location-detail-hero { padding-top: 6.9rem; }
    .location-detail-hero__media { padding: .55rem; }
    .location-detail-services__grid > a,
.location-detail-nearby__grid > a {
        grid-template-columns: auto minmax(0,1fr);
    }
    .location-detail-services__grid > a > svg,
.location-detail-nearby__grid > a > svg { display: none; }
}

.location-detail-process__notes { max-width: 74rem; margin: 0 0 2rem; columns: 2; column-gap: 3rem; }
.location-detail-process__notes p { break-inside: avoid; }
@media (max-width: 767.98px) { .location-detail-process__notes { columns: 1; } }

/* ==================================================
   EVENTS, DESTINATIONS, GUIDES AND COMMERCIAL PAGES
================================================== */
.commercial-page { background: var(--colour-obsidian); color: var(--colour-grey); }
.commercial-page__main { overflow: clip; }
.commercial-hero {
    position: relative;
    overflow: hidden;
    padding: calc(var(--header-height) + clamp(3.8rem, 8vw, 7rem)) 0 clamp(4rem, 8vw, 7.5rem);
    background:
        radial-gradient(circle at 78% 28%, rgba(195,138,58,.18), transparent 24rem),
        radial-gradient(circle at 12% 78%, rgba(213,162,83,.07), transparent 22rem),
        linear-gradient(180deg, #101012 0%, #0b0b0c 100%);
}
.commercial-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 72%, transparent);
}
.commercial-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 7rem);
}
.commercial-hero h1 {
    margin: .6rem 0 1rem;
    font-size: clamp(3rem, 5.5vw, 6.2rem);
    line-height: .98;
    letter-spacing: -.045em;
}
.commercial-hero__lead { max-width: 64ch; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.75; color: #c5c1bc; }
.commercial-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.commercial-hero__phone { display: inline-flex; align-items: center; gap: .55rem;  color: var(--colour-ivory); }
.commercial-hero__phone .icon { width: 1rem; color: var(--colour-gold); }
.commercial-hero__points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}
.commercial-hero__points li { display: flex; align-items: center; gap: .65rem; padding: .8rem .9rem; border: 1px solid var(--colour-border); border-radius: .8rem; background: rgba(255, 255, 255, 0.768); color: #d0ccc6; font-size: .85rem; }
.commercial-hero__points .icon { flex: 0 0 auto; width: 1rem; margin-top: .1rem; color: var(--colour-gold-light); }
.commercial-hero__media { position: relative; margin: 0; padding: .8rem; border: 1px solid rgba(195,138,58,.28); border-radius: 1.6rem; background: rgba(255,255,255,.03); box-shadow: 0 3rem 8rem rgba(0,0,0,.42); }
.commercial-hero__media picture { display: block; overflow: hidden; border-radius: 1.1rem; }
.commercial-hero__media img { width: 100%; height: auto; aspect-ratio: 5/4; object-fit: cover; }
.commercial-hero__glow { position: absolute; z-index: -1; width: 70%; aspect-ratio: 1; right: -8%; bottom: -12%; border: 1px solid rgba(213,162,83,.25); border-radius: 50%; box-shadow: inset 0 0 5rem rgba(195,138,58,.08), 0 0 7rem rgba(195,138,58,.08); }

.commercial-intro { background: #0d0d0f; }
.commercial-intro__grid { display: grid; grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.commercial-intro__copy { max-width: 74ch; }
.commercial-intro__copy p { font-size: 1.02rem; line-height: 1.85; }
.commercial-intro__copy p + p { margin-top: 1rem; }
.commercial-intro__copy .text-link { margin-top: .8rem; }
.commercial-intro__copy .text-link:hover { color: var(--colour-black); }

.commercial-section { position: relative; }
.commercial-section:nth-of-type(even) { background: #111113; }
.commercial-section__header { max-width: 78rem; margin-bottom: 2rem; }
.commercial-section__header h2 { max-width: 22ch; }
.commercial-section__header .section-lead { max-width: 72ch; }
.commercial-editorial { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(15rem,.65fr);  align-items: center; }
.commercial-editorial--reverse .commercial-editorial__copy { order: 2; }
.commercial-editorial--reverse .commercial-editorial__visual { order: 1; }
.commercial-editorial__copy { max-width: 74ch; }
.commercial-editorial__copy p { font-size: 1rem; line-height: 1.85; margin: 1rem 0; }
.commercial-editorial__visual { position: relative; display: grid; place-items: center; min-height: 19rem; border: 1px solid rgba(195,138,58,.2); border-radius: 1.4rem; background: radial-gradient(circle at 50% 45%, rgba(195,138,58,.15), transparent 42%), rgba(255,255,255,.02); overflow: hidden; }
.commercial-editorial__visual > span:first-child { display: grid; place-items: center; width: 6rem; aspect-ratio: 1; border: 1px solid rgba(213,162,83,.35); border-radius: 50%; color: var(--colour-gold-light); }
.commercial-editorial__visual .icon { width: 2.5rem; }
.commercial-editorial__visual > span:not(:first-child) { position: absolute; width: 60%; height: 1px; background: linear-gradient(90deg, transparent, rgba(195,138,58,.7), transparent); }
.commercial-editorial__visual > span:nth-child(2) { transform: rotate(34deg); }
.commercial-editorial__visual > span:nth-child(3) { transform: rotate(-24deg); }
.commercial-inline-links { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; margin-top: 1.2rem; }

.commercial-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.commercial-card { position: relative;  padding: 1.4rem; border: 1px solid var(--colour-border); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); transition: transform var(--transition), border-color var(--transition), background-color var(--transition); }
.commercial-card:hover { transform: translateY(-4px); border-color: rgba(195,138,58,.42); background: rgba(195,138,58,.045); }
.commercial-card__icon { display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; margin-bottom: 1.1rem; border-radius: 50%; background: rgba(195,138,58,.12); color: var(--colour-gold-light); }
.commercial-card__icon .icon { width: 1.25rem; }
.commercial-card h3 { color: var(--colour-ivory); font-size: 1.35rem; }
.commercial-card p { color:  var(--colour-grey); font-size: .88rem; line-height: 1.7; margin: 10px 0 0; }
.commercial-card .text-link { margin-top: 1rem; font-size: .78rem; }
.commercial-card .text-link:hover { color: var(--colour-black); }

.commercial-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .9rem; }
.commercial-list__item { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .85rem; padding: 1.15rem; border-left: 1px solid rgba(195,138,58,.5); background: rgba(255,255,255,.022); }
.commercial-list__item > .icon { width: 1.1rem; margin-top: .2rem; color: var(--colour-gold); }
.commercial-list__item h3 { margin-bottom: .35rem; color: var(--colour-ivory); font-size: 1.3rem; }
.commercial-list__item p { margin: 0; color:  var(--colour-grey); font-size: .84rem; }

.commercial-notice { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1.1rem; padding: clamp(1rem,2vw,1.8rem); border: 1px solid rgba(195,138,58,.3); border-radius: 1.1rem; background: radial-gradient(circle at 90% 10%, rgba(195,138,58,.12), transparent 20rem), rgba(255,255,255,.025); }
.commercial-notice > .icon { width: 1.5rem; color: var(--colour-gold-light); }
.commercial-notice p { max-width: 78ch; }
.commercial-notice ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem 1.5rem; margin: 1rem 0 0; padding-left: 1.1rem; color: #c0bcb6; }

.commercial-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.commercial-steps li {  padding: 1.35rem; border-top: 1px solid rgba(195,138,58,.55); background: rgba(255,255,255,.025); }
.commercial-steps li > span { display: grid; place-items: center; width: 2.6rem; aspect-ratio: 1; margin-bottom: 1rem; border-radius: 50%; background: linear-gradient(135deg,#D5A253,#C38A3A,#8F5B22); color: var(--colour-black); font-weight: 800; }
.commercial-steps h3 { color: var(--colour-ivory); font-size: 1.05rem; }
.commercial-steps p { color:  var(--colour-grey); font-size: .84rem; margin: 10px 0 ; }
.commercial-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.commercial-link-grid > a { display: flex; align-items: center; gap: .7rem; min-height: 4rem; padding: .9rem 1rem; border: 1px solid var(--colour-border); border-radius: .8rem; color: var(--colour-ivory); background: rgba(255,255,255,.02); }
.commercial-link-grid > a:hover { border-color: rgba(195,138,58,.45); transform: translateY(-2px); }
.commercial-link-grid .icon { width: 1rem; color: var(--colour-gold); }
.commercial-faq { background: #0d0d0f; }
.commercial-faq > .container-xxl > h2 { max-width: 22ch; }
.commercial-faq-group { max-width: 72rem; }

.commercial-cta__panel { position: relative; overflow: hidden; padding: clamp(2rem,5vw,4.3rem); border: 1px solid rgba(195,138,58,.38); border-radius: 1.5rem; background: radial-gradient(circle at 82% 18%, rgba(213,162,83,.2), transparent 25rem), linear-gradient(135deg,#171719,#09090a); box-shadow: 0 2.5rem 6rem rgba(0,0,0,.3); }
.commercial-cta__panel::after { content:""; position:absolute; width:17rem; aspect-ratio:1; right:-6rem; bottom:-8rem; border:1px solid rgba(213,162,83,.2); border-radius:50%; }
.commercial-cta__panel h2 { max-width: 20ch; }
.commercial-cta__panel p { max-width: 68ch; }
.commercial-cta__actions,
.commercial-cta__contact { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; }
.commercial-cta__contact { gap: .7rem 1.2rem; }
.commercial-cta__contact a { display:inline-flex; align-items:center; gap:.45rem; color:var(--colour-ivory); }
.commercial-cta__contact .icon { width:1rem; color:var(--colour-gold-light); }

/* Distinct page accents remain within the Midnight Gold system. */

.commercial-page--destinations .commercial-hero__glow { border-radius: 42% 58% 52% 48%; }
.commercial-page--guides .commercial-hero__glow { border-style: dashed; }
.commercial-page--corporate-accounts .commercial-hero__glow { transform: translate(-6%, 4%); }
.commercial-page--chauffeur-prices .commercial-hero__glow { box-shadow: inset 0 0 7rem rgba(195,138,58,.12); }
.commercial-page--reviews .commercial-hero__glow { border-radius: 48% 52% 38% 62%; }
.commercial-page--faqs .commercial-hero__glow { transform: rotate(-22deg); }

/* ==================================================
   GET A QUOTE AND BOOK NOW
================================================== */


.js-ready [data-airport-field][hidden],
.js-ready [data-return-field][hidden] { display:none; }

.header-quote.is-active,
.header-book.is-active,
.mobile-menu__actions .is-active { box-shadow:0 0 0 2px rgba(213,162,83,.32); }

@media (min-width:1200px) and (max-width:1499.98px) {
    .site-header__inner { gap: .8rem; }
    .desktop-nav__list { gap: .05rem; }
    .desktop-nav__link { padding-inline: .48rem; font-size: .7rem; }
    .site-header__actions { gap: .45rem; }
    .site-header__actions .btn { padding-inline: .8rem; }
}
@media (max-width:1199.98px) {
    .commercial-hero__grid { grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr); gap:3rem; }
    .commercial-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .commercial-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .commercial-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .commercial-hero { padding-top:7.5rem; }
    .commercial-hero__grid,
.commercial-intro__grid,
.commercial-editorial { grid-template-columns:1fr; }
    .commercial-hero__content { order:1; }
    .commercial-hero__media { order:2; max-width:46rem; }
    .commercial-editorial--reverse .commercial-editorial__copy,
.commercial-editorial--reverse .commercial-editorial__visual { order:initial; }
    
}
@media (max-width:767.98px) {
    .commercial-hero h1 { max-width:none; font-size:clamp(2.45rem,12vw,4rem); }
    .commercial-hero__points,
.commercial-card-grid,
.commercial-list,
.commercial-notice ul,
.commercial-steps,
.commercial-link-grid { grid-template-columns:1fr; }
    .commercial-hero__actions .btn,
.commercial-cta__actions .btn { width:100%; justify-content:center; }
    .commercial-hero__phone { width:100%; }
    .commercial-editorial__visual { min-height:14rem; }
    .commercial-card,
.commercial-steps li { min-height:auto; }
    .commercial-notice { grid-template-columns:1fr; }
    
    
}
@media (max-width:420px) {
    .commercial-hero { padding-top:6.9rem; }
    .commercial-hero__media { padding:.55rem; }
    .commercial-card { padding:1.1rem; }
}

/* ==================================================
   IVORY BRONZE WEBSITE REDESIGN
   Light-first editorial system applied across the complete project.
================================================== */
:root {
    /* Primary surfaces */
    --colour-ivory: #F7F1E8;
    --colour-ivory-soft: #FBF7F1;
    --colour-ivory-deep: #EDE2D4;
    --colour-canvas: #FFFDF9;

    /* Bronze family */
    --colour-bronze: #A6662E;
    --colour-bronze-light: #C58B55;
    --colour-bronze-dark: #70411F;
    --colour-bronze-muted: #B89573;
    --colour-champagne: #D8C0A2;

    /* Dark contrast */
    --colour-espresso: #221B17;
    --colour-espresso-soft: #302722;
    --colour-ink: #171310;

    /* Supporting neutrals */
    --colour-taupe: #786D65;
    --colour-grey: #514842;
    --colour-grey-soft: #8F837A;
    --colour-border: rgba(74, 52, 36, 0.6);
    --colour-border-strong: rgba(74, 52, 36, 0.28);
    --colour-glass-light: rgba(255, 253, 249, 0.76);
    --colour-glass-dark: rgba(34, 27, 23, 0.78);

    /* Status colours */
    --colour-success: #35654D;
    --colour-warning: #8A5A21;
    --colour-error: #8D3535;
    --colour-info: #365D72;

    /* Backwards-compatible aliases during migration */
    --colour-obsidian: var(--colour-ivory-soft);
    --colour-charcoal: var(--colour-canvas);
    --colour-gold: var(--colour-bronze);
    --colour-gold-light: var(--colour-bronze-light);
    --colour-gold-dark: var(--colour-bronze-dark);
    --colour-black: var(--colour-ink);
    --colour-glass: var(--colour-glass-light);
    --colour-gold-glass: rgba(166, 102, 46, 0.10);
    --gold-gradient: linear-gradient(135deg, #C58B55 0%, #A6662E 52%, #70411F 100%);
    --ivory-gradient: linear-gradient(135deg, #FFFDF9 0%, #F7F1E8 55%, #EDE2D4 100%);
    --dark-editorial-gradient: linear-gradient(145deg, #171310 0%, #221B17 58%, #302722 100%);

    --shadow-soft: 0 18px 50px rgba(53, 37, 26, 0.10);
    --shadow-medium: 0 24px 70px rgba(53, 37, 26, 0.16);
    --shadow-deep: 0 30px 90px rgba(23, 19, 16, 0.28);
    --shadow-bronze: 0 18px 45px rgba(166, 102, 46, 0.20);
    --radius-sm: .65rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --radius-xl: 2rem;
}

html { background: var(--colour-ivory-soft); }
body,
.fleet-page,
.extension-page,
.service-detail-page,
.fleet-detail-page,
.location-detail-page,
.commercial-page {
    background: var(--colour-ivory-soft);
    color: var(--colour-grey);
}

body {
    background-image:
        radial-gradient(circle at 10% 5%, rgba(197, 139, 85, .07), transparent 25rem),
        linear-gradient(180deg, var(--colour-ivory-soft), var(--colour-canvas));
}

h1,
h2,
h3,
h4,
h5,
h6 { color: var(--colour-espresso); }
p,
li,
dd { color: inherit; }
::selection { background: var(--colour-bronze); color: var(--colour-canvas); }
.section { isolation: isolate; }
.commercial-hero__lead,
.extension-hero__lead,
.fleet-hero__lead { color: var(--colour-black); }
.eyebrow { color: var(--colour-bronze); }
.eyebrow::before { background: var(--gold-gradient); }
.text-link { color: var(--colour-bronze); text-decoration-thickness: 1px; text-underline-offset: .25em; }
.text-link:hover { color: var(--colour-canvas); text-decoration: underline; }
:focus-visible { outline-color: var(--colour-bronze-dark); }
.skip-link { background: var(--colour-bronze-dark); color: var(--colour-canvas); }

/* ==================================================
   BUTTONS AND INTERACTIVE STATES
================================================== */
.btn { border-radius: .8rem; letter-spacing: .025em; }
.btn--gold {
    border-color: var(--colour-bronze);
    background: var(--colour-bronze);
    color: var(--colour-canvas);
    box-shadow: 0 12px 28px rgba(166, 102, 46, .20);
}
.btn--gold:hover,
.btn--gold:focus-visible {
    border-color: var(--colour-bronze-dark);
    background: var(--colour-bronze-dark);
    color: var(--colour-canvas);
    box-shadow: 0 10px 22px rgba(112, 65, 31, .22);
}
.btn--outline,
.btn--ghost {
    border-color: var(--colour-bronze-dark);
    background: rgba(255, 253, 249, .78);
    color: var(--colour-espresso);
    backdrop-filter: blur(12px);
}
.btn--outline:hover,
.btn--ghost:hover,
.btn--outline:focus-visible,
.btn--ghost:focus-visible {
    border-color: var(--colour-bronze-dark);
    background: var(--colour-bronze-dark);
    color: var(--colour-canvas);
}

/* ==================================================
   HEADER, NAVIGATION AND MEGA MENUS
================================================== */
.site-header,
.inner-page .site-header {
    border-bottom-color: rgba(74, 52, 36, .10);
    background: linear-gradient(180deg, rgba(23, 19, 16), rgba(23, 19, 16));
    box-shadow: 0 10px 34px rgba(53, 37, 26, .05);
    backdrop-filter: blur(18px) saturate(125%);
}
.site-header.is-scrolled {
    border-color: var(--colour-border);
    background: var(--colour-black);
    box-shadow: 0 16px 45px rgba(53, 37, 26, .11);
}

.menu-toggle {
    border-color: var(--colour-border-strong);
    background: var(--colour-canvas) !important;
    color: var(--colour-espresso);
}
.mega-menu {
    border-color: var(--colour-border);
    background: rgba(255, 253, 249, .985);
    box-shadow: var(--shadow-medium);
}
.mega-menu__intro { border-color: var(--colour-border); }
.mega-menu__intro h2,
.mega-menu__links a { color: var(--colour-espresso); }
.mega-menu__intro p { color: var(--colour-grey); margin-bottom: 5px;}
.mega-menu__links a { border-color: transparent; }
.mega-menu__links a:hover,
.mega-menu__links a:focus-visible,
.mega-menu__links a.is-active {
    border-color: rgba(166, 102, 46, .20);
    background: rgba(166, 102, 46, .08);
    color: var(--colour-bronze-dark);
}
.mega-menu .text-link:hover {
 color: var(--colour-black);
}
.mobile-menu-overlay { background: rgba(23, 19, 16, .52); }
.mobile-menu {
    border-left: 1px solid var(--colour-border);
    background: var(--colour-ivory-soft);
    box-shadow: -28px 0 70px rgba(53, 37, 26, .18);
}
.mobile-menu__header { border-color: var(--colour-border); }
.menu-close { color: var(--colour-canvas); }
.mobile-nav__single,
.mobile-nav__group > button { border-color: var(--colour-border); color: var(--colour-espresso); }
.mobile-nav__single.is-active,
.mobile-nav__group > button.is-active { color: var(--colour-bronze-dark); }
.mobile-nav__panel { border-color: var(--colour-border); background: rgba(237, 226, 212, .52); }
.mobile-nav__panel a { color: var(--colour-grey); }
.mobile-nav__panel a:hover,
.mobile-nav__panel a.is-active { color: var(--colour-bronze-dark); }
.mobile-nav__subheading { color: var(--colour-bronze-dark); }
.mobile-menu__contact,
.mobile-menu__actions { border-color: var(--colour-border); }
.mobile-menu__contact a { color: var(--colour-espresso); }
.noscript-nav { background: var(--colour-espresso); }

/* Header over the selected cinematic heroes. JavaScript toggles this class. */
.site-header.is-over-dark:not(.is-scrolled) {
    border-bottom-color: rgba(247, 241, 232, .12);
    background: linear-gradient(180deg, rgba(23, 19, 16, .90), rgba(23, 19, 16, .20));
    box-shadow: none;
}
.site-header.is-over-dark:not(.is-scrolled) .desktop-nav__link,
.site-header.is-over-dark:not(.is-scrolled) .header-phone { color: var(--colour-ivory); }
.site-header.is-over-dark:not(.is-scrolled) .desktop-nav__link:hover,
.site-header.is-over-dark:not(.is-scrolled) .desktop-nav__link.is-active { color: var(--colour-bronze-light); }
.site-header.is-over-dark:not(.is-scrolled) .menu-toggle {
    border-color: rgba(247, 241, 232, .24);
    background: rgba(34, 27, 23, .62);
    color: var(--colour-ivory);
}
.site-header.is-over-dark:not(.is-scrolled) .header-quote {
    border-color: rgba(247, 241, 232, .58);
    background: rgba(34, 27, 23, .44);
    color: var(--colour-ivory);
}

/* ==================================================
   BREADCRUMBS
================================================== */
.breadcrumb { color: var(--colour-grey-soft); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--colour-bronze-muted); }
.breadcrumb a { color: var(--colour-bronze-dark); }
.breadcrumb .active { color: var(--colour-canvas); }

/* ==================================================
   LIGHT-FIRST CONTENT SURFACES
================================================== */
.services-section,
.why-section,
.fleet-section,
.process-section,
.corporate-section,
.areas-section,
.testimonials-section,
.faq-section,
.fleet-intro,
.fleet-categories,
.fleet-comparison,
.fleet-standards,
.fleet-luggage,
.fleet-faq,
.editorial-feature,
.image-panel-section,
.fleet-link-section,
.contact-form-section,
.service-detail-intro,
.service-detail-features,
.service-detail-feature,
.service-detail-process,
.service-detail-fleet,
.service-detail-trust,
.service-detail-faq,
.fleet-detail-intro,
.fleet-detail-suitability,
.fleet-detail-capacity,
.fleet-detail-comfort,
.fleet-detail-service-band,
.fleet-detail-standards,
.fleet-detail-comparison,
.fleet-detail-process,
.fleet-detail-faq,
.fleet-detail-cta,
.location-detail-intro,
.location-detail-travellers,
.location-detail-services,
.location-detail-airports,
.location-detail-journeys,
.location-detail-pickup,
.location-detail-fleet,
.location-detail-nearby,
.location-detail-process,
.location-detail-faq,
.commercial-intro,
.commercial-section,
.commercial-faq {
    background: transparent;
}

/* Alternating editorial bands */
.services-section,
.why-section,
.process-section,
.areas-section,
.faq-section,
.fleet-intro,
.fleet-comparison,
.contact-form-section,
.service-detail-intro,
.service-detail-features,
.service-detail-fleet,
.service-detail-trust,
.fleet-detail-intro,
.fleet-detail-capacity,
.fleet-detail-service-band,
.fleet-detail-comparison,
.fleet-detail-faq,
.location-detail-intro,
.location-detail-services,
.location-detail-journeys,
.location-detail-nearby,
.commercial-intro,
.commercial-section:nth-of-type(odd),
.commercial-faq {
    background: var(--colour-canvas);
}
.fleet-section,
.corporate-section,
.testimonials-section,
.fleet-categories,
.fleet-standards,
.fleet-luggage,
.fleet-faq,
.editorial-feature,
.image-panel-section,
.fleet-link-section,
.service-detail-feature,
.service-detail-process,
.service-detail-faq,
.fleet-detail-suitability,
.fleet-detail-comfort,
.fleet-detail-service-band:nth-child(even),
.fleet-detail-standards,
.fleet-detail-process,
.fleet-detail-cta,
.location-detail-travellers,
.location-detail-airports,
.location-detail-pickup,
.location-detail-fleet,
.location-detail-process,
.location-detail-faq,
.commercial-section:nth-of-type(even) {
    background: var(--colour-ivory);
}

/* Shared cards and panels */
.service-card,
.fleet-card,
.process-step,
.testimonial-card,
.services-benefit,
.fleet-category-card,
.fleet-standard-card,
.journey-card,
.contact-option,
.contact-form-card,
.service-detail-card,
.service-detail-feature__panel,
.service-detail-fleet__panel,
.fleet-detail-category,
.fleet-detail-use-card,
.fleet-detail-specs,
.fleet-detail-standards__panel,
.fleet-detail-compare-card,
.fleet-detail-process__grid li,
.location-detail-card,
.location-detail-checklist,
.location-detail-services__grid > a,
.location-detail-nearby__grid > a,
.location-detail-process__grid li,
.location-detail-journeys__panel,
.commercial-card,
.commercial-list__item,
.commercial-notice,
.commercial-steps li,
.commercial-link-grid > a {
    border-color: var(--colour-border);
    background: var(--colour-canvas);
    color: var(--colour-grey);
    box-shadow: var(--shadow-soft);
}
.service-card:hover,
.fleet-card:hover,
.commercial-card:hover,
.location-detail-services__grid > a:hover,
.location-detail-nearby__grid > a:hover {
    border-color: rgba(166, 102, 46, .34);
    background: var(--colour-canvas);
    box-shadow: var(--shadow-medium);
}

.service-card h3,
.fleet-card h3,
.process-step h3,
.testimonial-card h3,
.services-benefit h3,
.fleet-category-card h3,
.fleet-standard-card h3,
.journey-card h3,
.contact-option h3,
.service-detail-card h3,
.fleet-detail-category h2,
.fleet-detail-use-card h3,
.fleet-detail-specs h3,
.fleet-detail-compare-card h3,
.location-detail-card h3,
.commercial-card h3,
.commercial-list__item h3,
.commercial-steps h3 { color: var(--colour-espresso); }

.service-card p,
.fleet-card__body p,
.fleet-card__body ul,
.process-step p,
.testimonial-card p,
.services-benefit p,
.commercial-card p,
.commercial-list__item p,
.commercial-steps p { color: var(--colour-grey); }

.service-card__icon,
.commercial-card__icon,
.fleet-detail-compare-card > span,
.location-detail-services__grid > a > span,
.location-detail-nearby__grid > a > span {
    background: rgba(166, 102, 46, .10);
    color: var(--colour-bronze-dark);
}

/* ==================================================
   CINEMATIC DARK SURFACES
================================================== */

.fleet-hero,
.fleet-detail-hero,
.final-cta,
.request-page--book-now .commercial-hero {
    background:
        radial-gradient(circle at 76% 30%, rgba(197, 139, 85, .18), transparent 30rem),
        var(--dark-editorial-gradient);
    color: rgba(247, 241, 232, .80);
}
.hero-section h1,
.fleet-hero h1,
.fleet-detail-hero h1,
.final-cta h2,
.request-page--book-now .commercial-hero h1,
.hero-section h2,
.fleet-detail-hero h2 { color: var(--colour-ivory); }
.hero-section .section-lead,
.hero-section p,
.fleet-hero__lead,
.fleet-detail-hero__lead,
.final-cta p,
.request-page--book-now .commercial-hero__lead { color: rgba(247, 241, 232, .9); }
.hero-section .eyebrow,
.fleet-hero .eyebrow,
.fleet-detail-hero .eyebrow,
.request-page--book-now .commercial-hero .eyebrow { color: var(--colour-bronze-light); }
.hero-section .btn--outline,
.fleet-hero .btn--outline,
.fleet-detail-hero .btn--outline,
.request-page--book-now .commercial-hero .btn--outline,
.final-cta .btn--outline {
    border-color: rgba(247, 241, 232, .52);
    background: rgba(34, 27, 23, .52);
    color: var(--colour-canvas);
}

/* Warm ivory content cards over dark heroes */
.hero-visual__badge,
.fleet-hero__media-label,
.fleet-detail-hero__media figcaption,
.final-cta__inner {
    border-color: rgba(197, 139, 85, .34);
    background: rgba(34, 27, 23, .82);
    color: var(--colour-ivory);
}

/* ==================================================
   LIGHT EDITORIAL HERO VARIANTS
================================================== */
.extension-hero,
.service-detail-hero,
.location-detail-hero,
.commercial-hero {
    background:
        radial-gradient(circle at 82% 22%, rgba(197, 139, 85, .18), transparent 27rem),
        radial-gradient(circle at 5% 92%, rgba(216, 192, 162, .24), transparent 28rem),
        var(--ivory-gradient);
    color: var(--colour-grey);
}

.extension-hero h1,
.service-detail-hero h1,
.location-detail-hero h1,
.commercial-hero h1 { color: var(--colour-espresso); }
.extension-hero__lead,
.service-detail-hero__lead,
.location-detail-hero__lead,
.commercial-hero__lead { color: var(--colour-grey); }
.extension-hero__points li,
.service-detail-hero__points li,
.location-detail-hero__points li,
.commercial-hero__points li,
.commercial-hero__phone,
.service-detail-hero__phone,
.location-detail-hero__phone { color: var(--colour-espresso); }

.service-detail-hero__points { border-color: var(--colour-border); }
.extension-hero__points li,
.service-detail-hero__points li,
.location-detail-hero__points li,
.commercial-hero__points li {
    border-color: var(--colour-border);
    background: rgba(255, 253, 249, .85);
}
.extension-hero__media,
.service-detail-hero__media,
.location-detail-hero__media,
.commercial-hero__media {
    border-color: rgba(166, 102, 46, .24);
    background: rgba(255, 253, 249, .76);
    box-shadow: var(--shadow-medium);
}
.extension-hero__label,
.service-detail-hero__media figcaption,
.location-detail-hero__media figcaption,
.commercial-hero__media figcaption {
    border-color: rgba(166, 102, 46, .26);
    background: rgba(255, 253, 249, .92);
    color: var(--colour-espresso);
    box-shadow: var(--shadow-soft);
}
.extension-hero__label strong { color: var(--colour-espresso); }

/* Locations use an editorial local treatment. */
.location-detail-hero__media { transform: rotate(.35deg); }
.location-detail-hero__media::before { background: rgba(166, 102, 46, .10); }
.location-detail-page .location-detail-hero .btn--outline,
.service-detail-page .service-detail-hero .btn--outline,
.contact-page .extension-hero .btn--outline {
    border-color: var(--colour-bronze-dark);
    background: rgba(255, 253, 249, .76);
    color: var(--colour-espresso);
}

/* ==================================================
   FLEET, IMAGE AND EDITORIAL VISUALS
================================================== */
.fleet-card__image,
.fleet-detail-comfort__visual,
.fleet-detail-service-band__visual,
.commercial-editorial__visual {
    border-color: rgba(166, 102, 46, .18);
    background:
        radial-gradient(circle at 50% 60%, rgba(197, 139, 85, .18), transparent 48%),
        linear-gradient(145deg, #302722, #171310);
}
.fleet-card__image > span {
    border-color: rgba(197, 139, 85, .34);
    background: rgba(34, 27, 23, .78);
    color: var(--colour-bronze-light);
}
.fleet-detail-disclaimer,
.fleet-detail-capacity__note,
.location-detail-airports__note,
.contact-form-assurance {
    border-color: rgba(166, 102, 46, .24);
    background: rgba(166, 102, 46, .07);
    color: var(--colour-grey);
}
.fleet-detail-disclaimer strong,
.contact-form-assurance strong { color: var(--colour-espresso); }

/* ==================================================
   FAQS, COMPARISONS AND PROCESS STEPS
================================================== */
.faq-accordion { border-color: var(--colour-border); }
.faq-item { border-color: var(--colour-border); }
.faq-item button { color: var(--colour-espresso); }
.faq-item.is-open { background: rgba(237, 226, 212, .45); }
.faq-panel p { color: var(--colour-grey); }
.process-grid::before { background: linear-gradient(90deg, transparent, var(--colour-bronze), transparent); }
.process-step__icon { border-color: var(--colour-border); background: var(--colour-ivory-deep); color: var(--colour-bronze-dark); }
.commercial-steps li > span,
.location-detail-process__grid li > span { background: var(--gold-gradient); color: var(--colour-canvas); }

/* ==================================================
   CONTACT, QUOTE AND BOOKING FORMS
================================================== */
.contact-form-section {
    background:
        radial-gradient(circle at 8% 10%, rgba(197, 139, 85, .10), transparent 24rem),
        var(--colour-ivory);
}
.contact-form-card {
    border-color: var(--colour-border);
    background: var(--colour-canvas);
    box-shadow: var(--shadow-medium);
}
.form-field label,
.privacy-check label { color: var(--colour-espresso); }
.form-field label > span:not(.optional),
.privacy-check label > span { color: var(--colour-bronze-dark); }
.form-field .optional { color: var(--colour-grey-soft); }
.form-field input,
.form-field select,
.form-field textarea {
    border-color: var(--colour-border);
    background: var(--colour-canvas);
    color: var(--colour-espresso);
}
.form-field input::placeholder,
.form-field textarea::placeholder { color: var(--colour-grey-soft); }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--colour-bronze-dark);
    background: var(--colour-canvas);
    box-shadow: 0 0 0 3px rgba(166, 102, 46, .18);
}
.form-field [aria-invalid="true"],
.privacy-check input[aria-invalid="true"] { border-color: var(--colour-error); }
.field-error,
.error-summary a { color: var(--colour-error); }
.error-summary {
    border-color: rgba(141, 53, 53, .28);
    background: rgba(141, 53, 53, .07);
    color: var(--colour-error);
}
.form-status--success {
    border-color: rgba(53, 101, 77, .30);
    background: rgba(53, 101, 77, .08);
    color: var(--colour-success);
}


/* Quote remains light and document-led; Book Now keeps a dark cinematic hero. */
.request-page--get-a-quote .commercial-hero {
    background:
        radial-gradient(circle at 78% 26%, rgba(197, 139, 85, .18), transparent 25rem),
        var(--ivory-gradient);
}
.request-page--book-now .commercial-hero__points li {
    border-color: rgba(247, 241, 232, .18);
    background: rgba(247, 241, 232, .05);
    color: var(--colour-ivory);
}

/* ==================================================
   FINAL CTA AND FOOTER
================================================== */
.final-cta,
.commercial-cta__panel,
.location-detail-cta__panel,
.service-detail-cta,
.fleet-detail-cta {
    border-color: rgba(197, 139, 85, .24);
    background:
        radial-gradient(circle at 82% 18%, rgba(197, 139, 85, .18), transparent 24rem),
        var(--dark-editorial-gradient);
}
.commercial-cta__panel,
.location-detail-cta__panel {
    box-shadow: 0 28px 70px rgba(23, 19, 16, .22);
}
.final-cta h2,
.commercial-cta__panel h2,
.location-detail-cta__panel h2,
.service-detail-cta h2,
.fleet-detail-cta h2 { color: var(--colour-ivory); }
.final-cta p,
.commercial-cta__panel p,
.location-detail-cta__panel p,
.service-detail-cta p,
.fleet-detail-cta p { color: rgba(247, 241, 232, .75); margin:10px 0;}
.commercial-cta__contact a,
.location-detail-cta__contact a,
.final-cta__contact a { color: var(--colour-ivory); }

.site-footer {
    border-top: 1px solid rgba(197, 139, 85, .34);
    background: var(--colour-ink);
}
.footer-brand p,
.footer-column a,
.footer-contact li,
.footer-bottom p,
.footer-legal a { color: rgba(247, 241, 232, .66); }
.footer-column h2 { color: var(--colour-ivory); }
.footer-column a:hover,
.footer-legal a:hover { color: var(--colour-bronze-light); text-decoration: underline; text-underline-offset: .25em; }
.footer-top,
.footer-legal,
.footer-bottom { border-color: rgba(247, 241, 232, .10); }
.footer-social a {
    border-color: rgba(247, 241, 232, .18);
    color: var(--colour-ivory);
}
.back-to-top { border-color: rgba(166, 102, 46, .30); background: rgba(255, 253, 249, .92); color: var(--colour-espresso); box-shadow: var(--shadow-soft); }
.back-to-top:hover { background: var(--colour-bronze-dark); color: var(--colour-canvas); }

/* ==================================================
   PAGE-SPECIFIC EDITORIAL REFINEMENTS
================================================== */
.commercial-card-grid { gap: clamp(1rem, 2vw, 1.5rem); }


.commercial-editorial__copy p,
.commercial-intro__copy p { color: var(--colour-grey); }
.commercial-inline-links { color: var(--colour-bronze-dark); }
.commercial-inline-links:hover { color: var(--colour-bronze-light); }
.commercial-section .text-link:hover { color: var(--colour-black) !important; }
.commercial-link-grid > a { color: var(--colour-espresso); }
.commercial-notice ul { color: var(--colour-grey); }

/* Editorial distinctions without separate colour themes. */
.service-detail-page--wedding .service-detail-hero,
.location-detail-page--mayfair .location-detail-hero,
.location-detail-page--knightsbridge .location-detail-hero {
    background:
        radial-gradient(circle at 78% 24%, rgba(216, 192, 162, .32), transparent 27rem),
        linear-gradient(135deg, #FFFDF9 0%, #F7F1E8 58%, #E9D9C7 100%);
}
.service-detail-page--corporate .service-detail-trust,
.service-detail-page--roadshow .service-detail-trust {
    background: var(--dark-editorial-gradient);
    color: rgba(247, 241, 232, .76);
}
.service-detail-page--roadshow .service-detail-trust  .service-detail-trust__copy p {
 color: var(--colour-canvas);
}
.service-detail-page--roadshow .service-detail-trust  .service-detail-trust__copy .text-link:hover {
    color: var(--colour-canvas);
}

.service-detail-page--corporate .service-detail-trust h2,
.service-detail-page--roadshow .service-detail-trust h2 { color: var(--colour-ivory); }
.service-detail-page--aviation .service-detail-feature:nth-of-type(odd),
.fleet-detail-page--s-class .fleet-detail-comfort {
    background: var(--colour-espresso);
    color: rgba(247, 241, 232, .76);
}
.service-detail-page--aviation .service-detail-feature:nth-of-type(odd)  p {
    color: var(--colour-canvas);
}
.service-detail-page--corporate .service-detail-trust  .text-link:hover {
    color: var(--colour-canvas);
}
.service-detail-page--aviation .service-detail-feature:nth-of-type(odd) h2,
.service-detail-page--aviation .service-detail-feature:nth-of-type(odd) h3,
.fleet-detail-page--s-class .fleet-detail-comfort h2,
.fleet-detail-page--s-class .fleet-detail-comfort h3 { color: var(--colour-ivory); }

/* legal page section start here  */
.legal_section {
    margin: 80px 0;
    background: var(--colour-obsidian);
}

.legal_content {
    padding: 40px;
    background: var(--colour-charcoal);
    border: 1px solid rgba(195, 138, 58, .25);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
}


.legal_content h2 {
    margin: 0 0 15px;
    font-size: 36px;
}

.legal_content h3 {
    margin: 0px 0 18px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: var(--colour-gold-light);
    font-size: 27px;
}

.legal_content h4 {
    margin: 30px 0 12px;
    font-family: var(--font-body);
    font-size: 17px;
}

.legal_content p,
.legal_content li {
    color: var(--colour-grey);
    font-size: 15px;
    line-height: 1.8;
}

.legal_content ul {
    padding-left: 22px;
}

.legal_content a {
    color: var(--colour-gold-light);
}

@media (max-width: 700px) {
    .legal_section {
        padding: 50px 0;
    }

    .legal_content {
        width: calc(100% - 24px);
        padding: 30px 20px;
    }

    .legal_content h2 {
        font-size: 30px;
    }

    .legal_content h3 {
        font-size: 23px;
    }

    .legal_content p,
.legal_content li {
        font-size: 14px;
    }
}
.whatsapp-container {
    background-color: #42db87;
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50px;
    transition: 0.3s ease-in-out;
    box-shadow: 2px 2px 3px #000;
    position: fixed;
    right: 15px;
    bottom: 20px;
    z-index: 7;
}

/* ==================================================
   RESPONSIVE AND MOBILE REFINEMENTS
================================================== */
@media (max-width: 1199.98px) {
    .site-header__actions .header-quote { display: none; }
}
@media (max-width: 991.98px) {
    .site-header,
.inner-page .site-header,
.site-header.is-over-dark:not(.is-scrolled) {
        border-color: var(--colour-border);
        box-shadow: 0 12px 34px rgba(53, 37, 26, .10);
    }
    .site-header.is-over-dark:not(.is-scrolled) .menu-toggle { border-color: var(--colour-border-strong); background: var(--colour-canvas); color: var(--colour-espresso); }
    .site-header__actions .header-book { display: none; }
    .extension-hero,
.service-detail-hero,
.location-detail-hero,
.commercial-hero { background: var(--ivory-gradient); }
    .hero-section,
.fleet-hero,
.fleet-detail-hero,
.request-page--book-now .commercial-hero { background: var(--dark-editorial-gradient); }

    .8766587 {
        padding-bottom: 15px;
    }
    .fleet-card__body p {
        padding-bottom: 10px;
    }
}
@media (max-width: 767.98px) {
    .section { padding-block: clamp(1.5rem, 3vw, 2rem); }
    .btn { width: 100%; }
    .footer-top { gap: 2.4rem; }
    .commercial-card,
.service-card,
.fleet-card,
.location-detail-card { border-radius: .9rem; }
    .final-cta__inner,
.commercial-cta__panel,
.location-detail-cta__panel { border-radius: 1rem; }
}
@media (max-width: 420px) {
    :root { --header-height: 72px; }
    .site-brand img { width: 150px; }
    .menu-toggle { width: 44px; height: 44px; }
    .section-heading { margin-bottom: 2.2rem; }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
.btn,
.service-card,
.fleet-card,
.commercial-card { transition-duration: .01ms !important; }
}

@media print {
    body { background: #fff !important; color: #111 !important; }
    .site-header,
.site-footer,
.back-to-top,
.final-cta { display: none !important; }
    h1,
h2,
h3,
h4,
p,
li { color: #111 !important; }
}

/* ==================================================
   FINAL ALL-PAGES UI + RESPONSIVE QA — 2026-08-31
   Preserves the existing Ivory / Bronze / Espresso visual system.
================================================== */

/* Shared overflow protection for every page family. */
main,
section,
.container-xxl,
.container-xl,
.site-header__inner,
.desktop-nav,
.desktop-nav__list,
.mega-menu,
.mega-menu__intro,
.mega-menu__service-groups,
.mega-menu__service-group,
.airport-layout > *,
.corporate-layout > *,
.areas-layout > *,
.section-heading--split > *,
.commercial-hero__grid > *,
.commercial-intro__grid > *,
.commercial-editorial > *,
.service-detail-hero__grid > *,
.service-detail-intro__grid > *,
.service-detail-split > *,
.service-detail-fleet__grid > *,
.service-detail-coverage__grid > *,
.location-detail-hero__grid > *,
.location-detail-intro__grid > *,
.location-detail-airports__grid > *,
.location-detail-pickup__grid > *,
.fleet-hero__container > *,
.fleet-intro__layout > *,
.fleet-feature__layout > *,
.fleet-standards__layout > *,
.fleet-luggage__layout > *,
.fleet-detail-hero__grid > *,
.fleet-detail-intro__grid > *,
.fleet-detail-comfort__grid > *,
.fleet-detail-service-band__grid > * {
    min-width: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button,
li,
span {
    overflow-wrap: break-word;
}

.btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

img,
picture,
iframe,
video {
    max-width: 100%;
}

/* --------------------------------------------------
   DESKTOP NAVIGATION / MEGA MENU
   Removes the large unused white areas shown in QA.
-------------------------------------------------- */
@media (min-width: 1200px) {
    .mega-menu--services {
        left: 50%;
        right: auto;
        width: min(calc(100vw - 2rem), 1120px);
        max-width: none;
        grid-template-columns: minmax(270px, .78fr) minmax(0, 1.55fr);
        gap: 1.35rem;
        padding: 1.35rem 1.45rem;
        max-height: calc(100vh - var(--header-height) - 1rem);
        overflow-x: hidden;
        overflow-y: auto;
        transform: translate(-50%, 10px) scale(.995);
        overscroll-behavior: contain;
    }

    .desktop-nav__item.is-open .mega-menu--services,
    .no-js .desktop-nav__item:hover .mega-menu--services,
    .no-js .desktop-nav__item:focus-within .mega-menu--services {
        transform: translate(-50%, 0) scale(1);
    }

    .mega-menu__intro {
        align-self: stretch;
        padding: .2rem 1.25rem .2rem 0;
    }

    .mega-menu__intro .eyebrow {
        margin-bottom: .65rem;
        font-size: .67rem;
        letter-spacing: .16em;
    }

    .mega-menu__intro h2 {
        max-width: 18ch;
        margin-bottom: .7rem;
        font-size: clamp(1.45rem, 1.75vw, 1.95rem) !important;
        line-height: 1.08;
    }

    .mega-menu__intro p {
        max-width: 39ch;
        margin-bottom: .7rem;
        font-size: .82rem;
        line-height: 1.55;
    }

    .mega-menu__intro .text-link {
        font-size: .8rem;
    }

    .mega-menu__service-groups {
        align-content: start;
        align-items: start;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .8rem 1rem;
        padding-top: .1rem;
    }

    .mega-menu__service-groups--1 {
        grid-template-columns: 1fr;
        align-self: stretch;
        align-items: center;
    }

    .mega-menu__service-groups--1 .mega-menu__service-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .18rem .75rem;
    }

    .mega-menu__service-groups--1 .mega-menu__service-group h3 {
        grid-column: 1 / -1;
    }

    .mega-menu__service-groups--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mega-menu__service-group h3 {
        margin-bottom: .35rem;
    }

    .mega-menu__service-group a {
        min-height: 42px;
        padding: .42rem .5rem;
        line-height: 1.35;
    }
}

/* Keep the dropdown compact on smaller desktop/laptop screens. */
@media (min-width: 1200px) and (max-width: 1365.98px) {
    .mega-menu--services {
        width: min(calc(100vw - 1.5rem), 1040px);
        grid-template-columns: minmax(240px, .72fr) minmax(0, 1.55fr);
        gap: 1rem;
        padding: 1.1rem 1.2rem;
    }

    .mega-menu__intro h2 {
        font-size: 1.55rem !important;
    }

    .mega-menu__intro p {
        font-size: .78rem;
    }
}

/* --------------------------------------------------
   HOME — FLEXIBLE CHAUFFEUR HIRE
   Fixes the dark-on-dark text/card issue shown in QA.
-------------------------------------------------- */
#chauffeur-hire.airport-section {
    background:
        radial-gradient(circle at 15% 50%, rgba(197, 139, 85, .10), transparent 34%),
        #111113;
    color: rgba(247, 241, 232, .78);
}

#chauffeur-hire .airport-content h2,
#chauffeur-hire .airport-content .section-lead,
#chauffeur-hire .benefit-list strong,
#chauffeur-hire .benefit-list span,
#chauffeur-hire .airport-list a {
    color: var(--colour-ivory);
}

#chauffeur-hire .airport-content .section-lead,
#chauffeur-hire .benefit-list span {
    color: rgba(247, 241, 232, .72);
}

#chauffeur-hire .eyebrow,
#chauffeur-hire .benefit-list .icon,
#chauffeur-hire .airport-list a span {
    color: var(--colour-bronze-light);
}

#chauffeur-hire .benefit-list > div,
#chauffeur-hire .airport-list a,
#chauffeur-hire .airport-visual {
    border-color: rgba(247, 241, 232, .16);
}

#chauffeur-hire .benefit-list > div {
    background: rgba(255, 255, 255, .035);
}

#chauffeur-hire .airport-list a {
    background: rgba(255, 255, 255, .025);
}

#chauffeur-hire .airport-list a:hover,
#chauffeur-hire .airport-list a:focus-visible {
    border-color: rgba(197, 139, 85, .55);
    background: rgba(197, 139, 85, .12);
    color: var(--colour-ivory);
}

#chauffeur-hire .btn--outline {
    border-color: rgba(247, 241, 232, .48);
    background: rgba(255, 253, 249, .92);
    color: var(--colour-espresso);
}

#chauffeur-hire .btn--outline:hover,
#chauffeur-hire .btn--outline:focus-visible {
    border-color: var(--colour-bronze-light);
    background: var(--colour-bronze-dark);
    color: var(--colour-canvas);
}
/* app section start hre  */
.vip-app-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 50%, rgba(195, 138, 58, .16), transparent 34rem),
        linear-gradient(135deg, #0b0b0c 0%, #141416 52%, #0b0b0c 100%);
    color: var(--colour-ivory);
}

.vip-app-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .035;
    background-image:
        linear-gradient(rgba(255,255,255,.8) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.8) 1px, transparent 1px);
    background-size: 42px 42px;
}

.vip-app-section__wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 500px;
    align-items: center;
    gap: 40px;
}

.vip-app-section__content {
    max-width: 680px;
}

.vip-app-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: var(--colour-gold-light);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.vip-app-section__eyebrow i {
    font-size: 14px;
}

.vip-app-section h2 {
    max-width: 600px;
    margin: 0 0 20px;
    color: var(--colour-ivory);
    font-family: var(--font-heading);
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.035em;
}

.vip-app-section h2 span {
    display: block;
    color: var(--colour-gold-light);
}

.vip-app-section__lead {
    max-width: 610px;
    margin: 0 0 30px;
    color: var(--colour-canvas);
    font-size: 16px;
    line-height: 1.8;
}

.vip-app-section__features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
}

.vip-app-feature {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 175px;
    padding: 11px 15px;
    border: 1px solid rgba(195, 138, 58, .22);
    border-radius: 14px;
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(10px);
}

.vip-app-feature__icon {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--gold-gradient);
    color: var(--colour-black);
    font-size: 13px;
}

.vip-app-feature strong,
.vip-app-feature small {
    display: block;
}

.vip-app-feature strong {
    color: var(--colour-ivory);
    font-size: 12px;
    line-height: 1.2;
}

.vip-app-feature small {
    margin-top: 3px;
    color: var(--colour-canvas);
    font-size: 10px;
    line-height: 1.3;
}

.vip-app-section__stores {
    display: flex;
    gap: 14px;
    margin-bottom: 38px;
}

.vip-app-store {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 175px;
    padding: 10px 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: var(--colour-ivory);
    color: var(--colour-black);
    text-decoration: none;
    transition: transform var(--transition), box-shadow var(--transition);
}

.vip-app-store:hover {
    color: var(--colour-black);
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0,0,0,.25);
}

.vip-app-store__icon {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border-radius: 10px;
    background: var(--gold-gradient);
    color: #fff;
    font-size: 21px;
}

.vip-app-store small,
.vip-app-store strong {
    display: block;
}

.vip-app-store small {
    font-size: 9px;
    line-height: 1;
}

.vip-app-store strong {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1;
}

.vip-app-stats {
    display: flex;
    max-width: 650px;
}

.vip-app-stat {
    flex: 1;
    padding: 17px 28px;
    border: 1px solid rgba(255,255,255,.16);
    border-right: 0;
    background: rgba(255,255,255,.035);
    text-align: center;
}

.vip-app-stat:first-child {
    border-radius: 17px 0 0 17px;
}

.vip-app-stat:last-child {
    border-right: 1px solid rgba(255,255,255,.16);
    border-radius: 0 17px 17px 0;
}

.vip-app-stat strong {
    display: block;
    color: var(--colour-ivory);
    font-family: var(--font-heading);
    font-size: 28px;
    line-height: 1;
}

.vip-app-stat strong span {
    color: var(--colour-gold-light);
}

.vip-app-stat small {
    display: block;
    margin-top: 9px;
    color: var(--colour-canvas);
    font-size: 10px;
    letter-spacing: .04em;
}

/* Visual */

.vip-app-section__visual {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vip-app-section__glow {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(195,138,58,.18);
    filter: blur(80px);
}

.vip-app-section__circle {
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(195,138,58,.22);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(195,138,58,.13), transparent 68%);
}

.vip-app-section__circle::before,
.vip-app-section__circle::after {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
}

.vip-app-section__circle::after {
    inset: 70px;
    border-color: rgba(195,138,58,.12);
}

.vip-app-section__circle span {
    position: absolute;
    top: 50%;
    left: 50%;
    color: rgba(255,255,255,.025);
    font-family: var(--font-heading);
    font-size: 130px;
    font-weight: 700;
    transform: translate(-50%,-50%);
}

.vip-app-phone {
    position: relative;
    z-index: 2;
    width: 275px;
    filter: drop-shadow(0 30px 35px rgba(0,0,0,.55));
    animation: vipAppFloat 5s ease-in-out infinite;
}

.vip-app-phone img {
    display: block;
    width: 100%;
    height: auto;
}

.vip-app-floating {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(20,20,22,.84);
    box-shadow: 0 18px 45px rgba(0,0,0,.3);
    backdrop-filter: blur(15px);
}

.vip-app-floating > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--gold-gradient);
    color: var(--colour-black);
    font-size: 12px;
}

.vip-app-floating small,
.vip-app-floating strong {
    display: block;
}

.vip-app-floating small {
    color: var(--colour-ivory);
    font-size: 9px;
}

.vip-app-floating strong {
    margin-top: 3px;
    color: var(--colour-ivory);
    font-size: 10px;
    white-space: nowrap;
}

.vip-app-floating--booking {
    top: 20%;
    right: -15px;
}

.vip-app-floating--tracking {
    bottom: 17%;
    left: -35px;
}

@keyframes vipAppFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@media (max-width: 991.98px) {

    .vip-app-section__wrap {
        grid-template-columns: 1fr;
        gap: 0px;
        flex-wrap: wrap-reverse;
    }

    .vip-app-section__content {
        max-width: 760px;
        order: 2;
    }

    .vip-app-section__visual {
        min-height: auto;
        order: 1;
    }
}

@media (max-width: 767.98px) {


    .vip-app-section h2 {
        font-size: 48px;
    }

    .vip-app-section__lead {
        font-size: 14px;
    }

    .vip-app-section__features {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vip-app-feature {
        width: 100%;
    }

    .vip-app-section__stores {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .vip-app-store {
        min-width: 0;
        padding: 9px 12px;
    }

    .vip-app-store strong {
        font-size: 13px;
    }

    .vip-app-stats {
        width: 100%;
    }

    .vip-app-stat {
        padding: 15px 8px;
    }

    .vip-app-stat strong {
        font-size: 22px;
    }

    .vip-app-floating--booking{right: 5px;}
    .vip-app-floating--tracking{left: 5px;}
}
/* --------------------------------------------------
   HOME / SHARED RESPONSIVE GRID FIXES
-------------------------------------------------- */
@media (max-width: 991.98px) {
    .section-heading--split,
    .airport-layout,
    .corporate-layout,
    .areas-layout {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 5vw, 2.5rem);
        align-items: start;
    }

    .section-heading--split {
        gap: 1rem;
    }

    .section-heading__aside,
    .airport-content,
    .corporate-content,
    .areas-content {
        max-width: 760px;
    }

    .airport-visual,
    .corporate-visual,
    .areas-map {
        width: min(100%, 760px);
        max-width: 760px;
        margin-inline: auto;
    }

    .airport-visual {
        order: 2;
    }

    .airport-content {
        order: 1;
    }

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

    .corporate-visual__panel {
        right: 1rem;
    }

    .areas-map {
        min-height: 380px;
    }

    .areas-map iframe {
        min-height: 380px;
    }

    .faq-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .faq-intro {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .container-xxl,
    .container-xl {
        padding-inline: 1rem;
    }

    .benefit-list,
    .why-grid,
    .areas-grid {
        grid-template-columns: 1fr;
    }

    .why-grid {
        border-left: 0;
    }

    .why-card {
        border-left: 1px solid var(--colour-border);
    }

    .airport-visual,
    .corporate-visual,
    .areas-map {
        width: 100%;
    }

    .airport-visual {
        padding: .8rem;
    }

    .airport-visual::before,
    .corporate-section::after {
        display: none;
    }

    .airport-visual__route,
    .corporate-visual__panel {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        min-width: 0;
        margin-top: .75rem;
    }

    .corporate-visual__panel {
        align-items: flex-start;
    }

    .corporate-actions,
    .fleet-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .corporate-actions .btn,
    .fleet-card__actions .btn,
    .fleet-card__actions .text-link {
        width: 100%;
        justify-content: center;
    }

    .areas-map,
    .areas-map iframe {
        min-height: 320px;
    }

    .faq-item {
        padding-inline: .75rem;
    }

    .faq-item button {
        min-height: 68px;
        padding-block: 1rem;
    }
}

@media (max-width: 575.98px) {
    .hero-section{
        min-height: auto;
    }
    .hero-section::after{
        background: #050506;
        opacity: .7;
    }
    .section {
        padding-block: 2.5rem;
    }

    .benefit-list > div,
    .why-card {
        padding: 1rem;
    }

    .corporate-tags {
        display: grid;
        grid-template-columns: 1fr;
    }

    .corporate-tags li {
        width: 100%;
    }

    .areas-map,
    .areas-map iframe {
        min-height: 280px;
    }
    #booking-process .process-grid,.service-detail-audience .service-detail-audience__grid{
        grid-template-columns: 1fr;
    }
    .commercial-editorial{row-gap: 30px;}
}

/* --------------------------------------------------
   MOBILE NAVIGATION / HEADER
-------------------------------------------------- */
@media (max-width: 1199.98px) {
    .mobile-menu {
        width: min(94vw, 420px);
        max-width: 100%;
    }
    .mobile-menu .mobile-menu__contact,.mobile-menu .mobile-menu__header,  .mobile-menu .mobile-menu__actions , .mobile-menu .mobile-nav{
        padding: 20px;
    }
    

    .mobile-nav__single,
    .mobile-nav__group > button,
    .mobile-nav__panel a {
        white-space: normal;
        line-height: 1.35;
    }
}

@media (max-width: 575.98px) {
    .mobile-menu {
        width: 100%;
        border-left: 0;
    }

    .mobile-menu__actions {
        grid-template-columns: 1fr;
    }

    .mobile-menu__actions .btn {
        width: 100%;
    }
}

/* --------------------------------------------------
   ALL INTERNAL PAGE FAMILIES — MOBILE POLISH
-------------------------------------------------- */
@media (max-width: 991.98px) {
    .commercial-hero__grid,
    .commercial-intro__grid,
    .commercial-editorial,
    .service-detail-hero__grid,
    .service-detail-intro__grid,
    .service-detail-split,
    .service-detail-fleet__grid,
    .service-detail-coverage__grid,
    .location-detail-hero__grid,
    .location-detail-intro__grid,
    .location-detail-airports__grid,
    .location-detail-pickup__grid,
    .location-detail-journeys__panel,
    .fleet-hero__container,
    .fleet-intro__layout,
    .fleet-feature__layout,
    .fleet-standards__layout,
    .fleet-luggage__layout,
    .fleet-detail-hero__grid,
    .fleet-detail-intro__grid,
    .fleet-detail-comfort__grid,
    .fleet-detail-service-band__grid {
        grid-template-columns: 1fr;
    }

    .service-detail-intro__heading,
    .page-intro__heading,
    .fleet-intro__heading,
    .fleet-standards__content,
    .contact-form-section__intro {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .commercial-hero__media,
    .service-detail-hero__media,
    .location-detail-hero__media,
    .fleet-hero__media,
    .fleet-detail-hero__media,
    .extension-hero__media {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }

    .commercial-hero__actions,
    .service-detail-hero__actions,
    .location-detail-hero__actions,
    .fleet-hero__actions,
    .fleet-detail-hero__actions,
    .extension-hero__actions,
    .section-actions,
    .location-detail-cta__actions,
    .commercial-cta__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .commercial-hero__actions .btn,
    .service-detail-hero__actions .btn,
    .location-detail-hero__actions .btn,
    .fleet-hero__actions .btn,
    .fleet-detail-hero__actions .btn,
    .extension-hero__actions .btn,
    .section-actions .btn,
    .location-detail-cta__actions .btn,
    .commercial-cta__actions .btn {
        width: 100%;
    }

    .commercial-card,
    .service-detail-card,
    .location-detail-card,
    .fleet-detail-use-card,
    .fleet-detail-compare-card {
        min-height: 0;
    }

    .location-detail-cta__panel,
    .commercial-cta__panel,
    .final-cta__inner {
        overflow: hidden;
    }
}

/* Booking pages should never sit under the fixed header. */
.booking-page__main,
.request-page__main {
    padding-top: var(--header-height);
}

.booking-engine {
    min-width: 0;
    overflow: visible;
}

booking-widget {
    display: block;
    width: 100%;
    max-width: 100%;
}

/* Legal content: keep comfortable gutters and avoid viewport overflow. */
.legal_content {
    width: min(100%, 1180px);
    margin-inline: auto;
}

@media (max-width: 700px) {
    .legal_section {
        margin-block: 2rem;
        padding: 0;
    }

    .legal_content {
        width: 100%;
        padding: 1.25rem;
        border-radius: 1rem;
    }
}


/* Final desktop containment fix discovered during runtime QA */
@media (min-width: 768px) {
    .corporate-visual__panel {
        right: 1rem;
        max-width: calc(100% - 2rem);
        min-width: 0;
    }
}

/* Trust strip: prevent four-column compression/overflow on tablets and phones. */
@media (max-width: 991.98px) {
    .trust-bar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-item { border-bottom: 1px solid var(--colour-border); }
    .trust-item:nth-child(2n) { border-right: 0; }
    .trust-item:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 575.98px) {
    .trust-bar__grid { grid-template-columns: 1fr; }
    .trust-item { min-height: 0; border-right: 0; border-bottom: 1px solid var(--colour-border); }
    .trust-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--colour-border); }
    .trust-item:last-child { border-bottom: 0; }
}

/* Breadcrumbs: explicit project styles so layout remains stable independently of framework utility loading. */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.breadcrumb-item { display: inline-flex; align-items: center; min-width: 0; }
.breadcrumb-item + .breadcrumb-item { padding-left: 0; }
.breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    float: none;
    padding-right: .35rem;
}


/* FINAL RESPONSIVE CTA CONTAINMENT — 2026-08-31 */
@media (max-width: 991.98px) {
    .final-cta__inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: clamp(1.5rem, 5vw, 2.5rem);
    }
    .final-cta__actions {
        width: 100%;
        min-width: 0;
    }
}
@media (max-width: 575.98px) {
    .final-cta {
        padding-block: 3rem;
    }
    .final-cta__inner {
        padding: 1.25rem;
    }
    .final-cta__actions {
        grid-template-columns: 1fr;
        gap: .65rem;
    }
    .final-cta__actions > *,
    .final-cta__contact,
    .final-cta__contact a {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .final-cta__contact {
        grid-column: 1;
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }
    .final-cta__contact a,
    .service-detail-cta .final-cta__actions > a:not(.btn),
    .extension-cta .final-cta__actions > a:not(.btn) {
        justify-content: flex-start;
        overflow-wrap: anywhere;
    }
}


/* FINAL HEADER BREAKPOINT POLISH — 2026-08-31
   Use the compact navigation before desktop items become crowded. */
.header-book { white-space: nowrap; }
@media (max-width: 1279.98px) {
    .desktop-nav { display: none; }
    .menu-toggle { display: grid; }
    .header-phone,
    .header-quote { display: none; }
}


/* FINAL LIGHT-HERO BREADCRUMB CONTRAST — 2026-08-31 */
.extension-hero .breadcrumb .active,
.service-detail-hero .breadcrumb .active,
.location-detail-hero .breadcrumb .active,
.commercial-hero .breadcrumb .active {
    color: var(--colour-bronze-dark);
}

/* ==================================================
   FINAL ALL-PAGES CONTRAST + RESPONSIVE POLISH — 2026-09-01
   Corrects legacy dark-theme text rules that survived on the
   light Ivory/Bronze redesign without changing module structure.
================================================== */

/* Breadcrumb legibility on all light internal heroes. */
.extension-hero .breadcrumb,
.service-detail-hero .breadcrumb,
.location-detail-hero .breadcrumb,
.commercial-hero .breadcrumb {
    color: var(--colour-grey);
}

/* Homepage / shared light cards. */
.service-card__link,
.fleet-category-card__model {
    color: var(--colour-bronze-dark);
}
.service-card__link:hover,
.fleet-category-card:hover .fleet-category-card__model {
    color: var(--colour-espresso);
}
.fleet-comparison__note {
    color: var(--colour-grey);
}
.fleet-card__image > span {
    color: var(--colour-ivory);
}

/* Location, tour and route detail pages: all these modules now sit on light surfaces. */
.location-detail-intro__availability,
.location-detail-fleet__notice {
    border-color: rgba(166, 102, 46, .34);
    background: rgba(166, 102, 46, .075);
    color: var(--colour-grey);
}

.location-detail-services__grid h3,
.location-detail-nearby__grid h3,
.location-detail-process__grid h3 {
    color: var(--colour-espresso);
}

.location-detail-services__grid > a,
.location-detail-nearby__grid > a {
    min-height: 8.25rem;
}
.location-detail-services__grid > a:hover h3,
.location-detail-nearby__grid > a:hover h3 {
    color: var(--colour-bronze-dark);
}

.location-detail-pickup ul {
    background: var(--colour-canvas);
}
.location-detail-pickup li {
    color: var(--colour-grey);
}
.location-detail-pickup li strong {
    color: var(--colour-espresso);
}

.location-detail-airports__links a,
.location-detail-fleet__links a {
    border-color: var(--colour-border);
    background: var(--colour-canvas);
    color: var(--colour-espresso);
    box-shadow: 0 10px 28px rgba(34, 27, 23, .045);
}
.location-detail-airports__links a:hover,
.location-detail-fleet__links a:hover {
    border-color: rgba(166, 102, 46, .46);
    background: rgba(166, 102, 46, .055);
    color: var(--colour-bronze-dark);
}
.location-detail-fleet__links a {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: .8rem;
    min-height: 4.75rem;
}
.location-detail-fleet__links a > :first-child {
    min-width: 0;
}
.location-detail-fleet__links svg {
    flex: 0 0 auto;
}

/* Fleet detail pages: convert legacy dark-card foregrounds to readable light-surface colours. */
.fleet-detail-category__points li {
    border-color: var(--colour-border);
    background: var(--colour-ivory);
    color: var(--colour-grey);
}
.fleet-detail-category__points li strong {
    color: var(--colour-espresso);
}
.fleet-detail-capacity__note,
.fleet-detail-disclaimer {
    border-color: rgba(166, 102, 46, .30);
    background: rgba(166, 102, 46, .075);
    color: var(--colour-grey) !important;
}
.fleet-detail-specs dt {
    color: var(--colour-grey);
}
.fleet-detail-specs dd {
    color: var(--colour-espresso);
}
.fleet-detail-comfort__copy li,
.fleet-detail-standards__panel li {
    border-color: var(--colour-border);
    background: var(--colour-canvas);
    color: var(--colour-grey);
}
.fleet-detail-comfort__copy li strong,
.fleet-detail-standards__panel li strong {
    color: var(--colour-espresso);
}

/* S-Class intentionally retains its dark editorial comfort band. */
.fleet-detail-page--s-class .fleet-detail-comfort__copy li {
    border-color: rgba(247, 241, 232, .14);
    background: rgba(247, 241, 232, .055);
    color: rgba(247, 241, 232, .82);
}
.fleet-detail-page--s-class .fleet-detail-comfort__copy li strong {
    color: var(--colour-ivory);
}

/* Legal and contact surfaces: bronze links remain branded but gain proper contrast on ivory. */
.legal_content h3,
.legal_content a,
.contact-form-section a,
.privacy-check label a {
    color: var(--colour-bronze-dark);
}
.contact-form-section__note,
.contact-form-assurance p,
.form-field .optional {
    color: var(--colour-grey);
}

/* At 1024–1199px the two-column final CTA could push its action column beyond the viewport. */
@media (max-width: 1199.98px) {
    .final-cta__inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: clamp(1.5rem, 4vw, 2.75rem);
    }
    .final-cta__actions {
        width: 100%;
        min-width: 0;
    }
}

/* Tablet: avoid compressed five-up fleet links and keep card rhythm balanced. */
@media (max-width: 1199.98px) and (min-width: 768px) {
    .location-detail-fleet__links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile: cards should size to content rather than preserve desktop empty height. */
@media (max-width: 767.98px) {
    .location-detail-services__grid > a,
    .location-detail-nearby__grid > a,
    .location-detail-fleet__links a,
    .location-detail-airports__links a {
        min-height: 0;
    }
    .location-detail-services__grid > a,
    .location-detail-nearby__grid > a {
        padding: 1.1rem;
    }
    .location-detail-fleet__links a,
    .location-detail-airports__links a {
        padding: 1rem;
    }
    .fleet-detail-category__points li,
    .fleet-detail-comfort__copy li,
    .fleet-detail-standards__panel li {
        padding: .85rem;
    }
}

/* Final fine-contrast pass for small labels and dark editorial exceptions. */
.fleet-category-card__specs dt,
.fleet-spec-panel dt,
.contact-option span {
    color: var(--colour-grey);
}
.fleet-detail-use-card > span,
.fleet-detail-process__grid li > span {
    color: var(--colour-bronze-dark);
}
.fleet-detail-comfort__visual small {
    color: rgba(247, 241, 232, .68);
}
.fleet-detail-page--s-class .fleet-detail-comfort__copy p {
    color: rgba(247, 241, 232, .78);
}
.fleet-detail-page--s-class .fleet-detail-comfort .eyebrow {
    color: var(--colour-bronze-light);
}
.fleet-process .eyebrow {
    color: var(--colour-bronze-light);
}
.commonbanner{
    position: relative;
}
.commonbanner .text-link:hover{color: var(--colour-bronze-dark);}
.commonbanner .eyebrow{display: none;}
.commonbanner .hero-section__bg{
    display: none;
}

@media (max-width:992px) {
 .commonbanner figure, .commonbanner .fleet-hero__media, .commonbanner .extension-hero__media{display: none;}
 .commonbanner::before{position: absolute; background: #000;  opacity: .7; z-index: 2;}
 .commonbanner .container-xxl{position: relative; z-index: 3;}
 .commonbanner .hero-section__bg{
   display: block;
   position: absolute;
   width: 100%;
   height: 100%;
   object-fit: cover;
   top: 0;
   left: 0;
   z-index:1;
 }
 .commonbanner .btn--outline{color: var(--colour-canvas) !important;}
 .commonbanner ul li .icon{color: var(--colour-bronze);}
 .commonbanner .breadcrumb-item a,.commonbanner h1,.commonbanner p, .commonbanner nav a,.commonbanner .breadcrumb .breadcrumb-item.active, .commonbanner a,.commonbanner .icon{color: var(--colour-canvas);}
 .commonbanner .btn{color: var(--colour-black);}
 .commonbanner .btn--gold{color: var(--colour-canvas);}
 .commonbanner .eyebrow{
  color: var(--colour-bronze-light);
 }
 .fleet-intro__points .icon{width: 2.5em; height: 2.5em;}
}


/* =========================================
   VIP COOKIE CONSENT
========================================= */

.vip-cookie {
    position: fixed;
    left: 8px;
    right: 8px;
    bottom: 8px;
    z-index: 99999;

    background: var(--colour-ivory);
    color: var(--colour-obsidian);

    border: 1px solid var(--colour-obsidian);
    border-top: 3px solid var(--colour-gold);

    border-radius: 16px;

    box-shadow:
        0 12px 40px rgba(0, 0, 0, .20),
        0 2px 10px rgba(0, 0, 0, .10);

    font-family: var(--font-body);

    opacity: 1;
    visibility: visible;
    transform: translateY(0);

    transition:
        opacity var(--transition),
        visibility var(--transition),
        transform var(--transition);
}


.vip-cookie.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    pointer-events: none;
}


.vip-cookie__inner {
    min-height: 128px;

    display: flex;
    align-items: center;

    gap: 18px;

    padding: 16px 20px;
}


/* =========================================
   LOGO
========================================= */

.vip-cookie__brand {
    flex: 0 0 54px;

    display: flex;
    align-items: center;
    justify-content: center;
}


.vip-cookie__logo {
    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.18),
            transparent 42%
        ),
        var(--gold-gradient);

    color: var(--colour-ivory);

    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;

    border: 2px solid rgba(143, 91, 34, .45);

    box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.12),
        0 5px 16px rgba(0,0,0,.14);
}


.vip-cookie__logo span {
    transform: translateY(-1px);
}


/* =========================================
   CONTENT
========================================= */

.vip-cookie__content {
    flex: 1 1 auto;
    min-width: 0;
}


.vip-cookie__eyebrow {
    display: block;

    margin-bottom: 5px;

    color: var(--colour-gold);

    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}


.vip-cookie__content h3 {
    margin: 0 0 5px;

    color: var(--colour-black);

    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
}


.vip-cookie__content p {
    max-width: 700px;

    margin: 0;

    color: #67676b;

    font-size: 13px;
    line-height: 1.45;
}


.vip-cookie__more {
    display: inline-block;

    margin-top: 7px;
    padding: 0;

    border: 0;
    background: transparent;

    color: var(--colour-gold);

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition: color var(--transition);
}


.vip-cookie__more:hover {
    color: var(--colour-gold-dark);
}


.vip-cookie__details {
    margin-top: 8px;
}


.vip-cookie__details p {
    max-width: 760px;
}


/* =========================================
   ACTIONS
========================================= */

.vip-cookie__actions {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 10px;

    margin-left: auto;
}


.vip-cookie__btn {
    min-width: 72px;
    height: 40px;

    padding: 0 17px;

    border-radius: 22px;

    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background var(--transition),
        color var(--transition),
        border-color var(--transition),
        transform var(--transition);
}


.vip-cookie__btn:hover {
    transform: translateY(-1px);
}


.vip-cookie__btn--accept {
    border: 1px solid var(--colour-obsidian);

    background: var(--colour-black) !important;
    color: var(--colour-ivory);
}


.vip-cookie__btn--accept:hover {
    background: var(--colour-black);
}


.vip-cookie__btn--reject {
    border: 1px solid var(--colour-obsidian);

    background: var(--colour-bronze) !important;
    color: var(--colour-obsidian);
}


.vip-cookie__btn--reject:hover {
    background: rgba(11, 11, 12, .06);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767.98px) {

    .vip-cookie {
        left: 6px;
        right: 6px;
        bottom: 6px;

        border-radius: 14px;
    }

    .vip-cookie__inner {
        display: grid;
        grid-template-columns: 42px 1fr;

        gap: 12px;

        padding: 15px;
    }

    .vip-cookie__brand {
        grid-row: 1 / span 2;

        flex: none;
    }

    .vip-cookie__logo {
        width: 42px;
        height: 42px;

        font-size: 14px;
    }

    .vip-cookie__eyebrow {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .vip-cookie__content h3 {
        font-size: 14px;
    }

    .vip-cookie__content p {
        font-size: 11px;
        line-height: 1.45;
    }

    .vip-cookie__actions {
        grid-column: 2;

        margin-left: 0;

        justify-content: flex-start;

        padding-top: 2px;
    }

    .vip-cookie__btn {
        min-width: 78px;
        height: 38px;
    }

}