/* ======================================================================
   Swift Luxury Travel – global stylesheet
   Design values measured from the live swift-luxury.com homepage.
   ----------------------------------------------------------------------
   01. Fonts & variables
   02. Reset / base
   03. Typography
   04. Helpers & animations
   05. Header, ticker & slide-out menu
   06. Buttons
   07. Home hero
   08. Forms (quote card + enquire)
   09. Review card (video)
   10. Services section & tiles
   11. Parallax
   12. Features
   13. Gallery
   14. Google reviews
   15. Amenities
   16. Instant quote
   17. Enquire
   18. Footer, floating buttons
   19. Service pages (other pages)
   20. Responsive
   ====================================================================== */

/* 01. Fonts & variables ---------------------------------------------- */
@font-face {
    font-family: "Trade Gothic LT Regular";
    src: url("../fonts/trade-gothic-lt-std-extended.ttf") format("truetype"),
         url("../fonts/trade-gothic-lt-std-extended.ttf") format("truetype");
    font-weight: normal; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Trade Gothic LT Bold";
    src: url("../fonts/Trade-Gothic-LT-Bold-Extended.ttf") format("truetype"),
         url("../fonts/Trade-Gothic-LT-Bold-Extended.ttf") format("truetype");
    font-weight: normal; font-style: normal; font-display: swap;
}
:root {
    --navy: #001633;
    --navy-footer: #051B38;
    --tan: #CEA986;
    --tan-step: #DEB98D;
    --white: #ffffff;
    --grey-text: #86888A;
    --body-text: #6b6b6b;
    --field-bg: #FAFAFA;
    --field-border: #EEEEEE;
    --line-footer: rgba(151, 151, 151, .35);

    --font-head: "minerva-modern", Georgia, "Times New Roman", serif;
    --font-text: "Trade Gothic LT Regular", "Helvetica Neue", Arial, sans-serif;
    --font-base: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-nav: Roboto, "Helvetica Neue", Arial, sans-serif;

    --header-h: 95px;
    --ticker-h: 44px;
    --side-pad: 7.1%;           /* live rows use ~102px on a 1440px screen */
}

/* 02. Reset / base --------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 20px); overflow-x: clip; }
body {
    margin: 0;
    font-family: var(--font-base);
    font-size: 15px; line-height: 28px; font-weight: 400;
    color: var(--body-text);
    background: var(--white);
    overflow-x: visible;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--tan); outline-offset: 3px; }

/* 03. Typography ----------------------------------------------------- */
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 400; font-style: normal; margin: 0 0 10px; }
h5, h6, p { font-family: var(--font-text); }
h5, h6 { font-weight: 400; margin: 0 0 10px; }
p { margin: 0 0 15px; }

/* 04. Helpers & animations ------------------------------------------ */
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100000; background: #fff; color: var(--navy); padding: 10px 16px; }
.skip-link:focus { top: 16px; }
.hp-field { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mobile-only { display: none !important; }

/* Entrance animations: same keyframes as animate.css used by the live site */
.js [data-anim] { opacity: 0; }
[data-anim].is-animated { opacity: 1; animation-duration: 1s; animation-fill-mode: both; }
[data-anim="fadeIn"].is-animated         { animation-name: fadeIn; }
[data-anim="fadeInUp"].is-animated       { animation-name: fadeInUp; }
[data-anim="fadeInDown"].is-animated     { animation-name: fadeInDown; }
[data-anim="fadeInLeftBig"].is-animated  { animation-name: fadeInLeftBig; }
[data-anim="fadeInRightBig"].is-animated { animation-name: fadeInRightBig; }
@keyframes fadeIn         { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInUp       { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInDown     { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInLeftBig  { from { opacity: 0; transform: translate3d(-2000px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInRightBig { from { opacity: 0; transform: translate3d(2000px, 0, 0); } to { opacity: 1; transform: none; } }


/* 05. Header, ticker & slide-out menu ------------------------------- */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; color: #fff; }
.action-bar {
    height: var(--ticker-h);
    background-color: rgba(255, 255, 255, .1);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: background-color .3s;
}
.site-header.is-scrolled .action-bar { background-color: var(--navy); backdrop-filter: none; }
.ticker { height: 100%; overflow: hidden; display: flex; align-items: center; }
.ticker__track { display: inline-flex; gap: 60px; white-space: nowrap; will-change: transform; animation: sb-marquee 50s linear infinite; }
.ticker:hover .ticker__track { animation-play-state: paused; }
.ticker__item { display: inline-flex; align-items: center; font-size: 16px; line-height: 1; padding: 14px 0; color: #fff; }
.ticker__item b { padding: 0 5px; font-weight: 700; }
@keyframes sb-marquee { to { transform: translateX(-50%); } }

.header-main__inner {
    position: relative;
    height: var(--header-h);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 30px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    background-image: linear-gradient(180deg, rgba(0, 22, 51, .9), rgba(0, 22, 51, 0));
    transition: background-color .3s;
}
.site-header.is-scrolled .header-main__inner {
    border-bottom: 0; background-image: none;
    background-color: rgba(0, 22, 51, .9);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.header-main__logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); line-height: 0; }
.header-main__logo img { width: 218px; height: auto; }
.header-main__nav { display: flex; align-items: center; gap: 40px; height: 100%; }
.header-main__nav a {
    display: flex; align-items: center; height: 100%;
    font-family: var(--font-text); font-size: 16px; font-weight: 500; letter-spacing: 2px;
    color: #fff; border-bottom: 2px solid transparent; transition: border-color .3s;
}
.header-main__nav a:hover, .header-main__nav a.is-current { border-bottom-color: var(--tan); color: #fff; }

.menu-toggle {
    position: relative; z-index: 100001;
    display: inline-flex; align-items: center; gap: 12px;
    background: none; border: 0; padding: 0; height: 25px; cursor: pointer; color: #fff;
    font-family: var(--font-text); font-size: 16px; letter-spacing: 2px; line-height: 16px;
}
.menu-toggle__label--close { display: none; }
.menu-toggle.is-active .menu-toggle__label--open { display: none; }
.menu-toggle.is-active .menu-toggle__label--close { display: inline; }
.menu-toggle__icon { position: relative; width: 20px; height: 12px; display: inline-block; }
.menu-toggle__icon span, .menu-toggle__icon::before, .menu-toggle__icon::after {
    content: ""; position: absolute; left: 0; width: 20px; height: 1px; background: #fff; border-radius: 4px; transition: transform .3s, opacity .3s;
}
.menu-toggle__icon::before { top: 0; }
.menu-toggle__icon span { top: 50%; }
.menu-toggle__icon::after { bottom: 0; }
.menu-toggle.is-active .menu-toggle__icon::before { transform: translateY(5.5px) rotate(45deg); }
.menu-toggle.is-active .menu-toggle__icon span { opacity: 0; }
.menu-toggle.is-active .menu-toggle__icon::after { transform: translateY(-5.5px) rotate(-45deg); }
.menu-toggle.is-active { position: fixed; top:  45px; left: 650px; }

.menu-overlay {
    position: fixed; inset: 0; z-index: 99990;
    background: rgba(0, 0, 0, .7) var(--menu-photo) center / cover no-repeat;
    opacity: 0; transition: opacity .5s linear;
}
.menu-overlay.is-visible { opacity: 1; }
.offcanvas-menu {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 99997;
    width: 800px; max-width: 100%; min-width: 0;
    padding:  50px 5% 5%;
    background: var(--navy) var(--menu-wave) center / cover no-repeat;
    color: #fff; overflow: auto;
    transform: translateX(-100%); visibility: hidden;
    transition: transform .5s, visibility 0s linear .5s;
}
.offcanvas-menu.is-open { transform: none; visibility: visible; transition: transform .5s, visibility 0s; }
.offcanvas-menu__logo { display: none; }
.offcanvas-menu__title { font-family: var(--font-text); font-size: 15px; letter-spacing: 2px; margin-bottom: 35px; color: #fff; }
.offcanvas-menu__list { list-style: none; margin: 0; padding: 0; }
.offcanvas-menu__list a {
    display: block; height: 55px; line-height: 55px;
    font-family: var(--font-text); font-size: 35px; color: #fff;
    white-space: nowrap; transition: color .5s;
}
.offcanvas-menu__list a:hover, .offcanvas-menu__list a[aria-current="page"] { color: var(--tan); }
.offcanvas-menu__extra { margin-top: 40px; }
.offcanvas-menu__extra hr { border: 0; height: 1px; background-color: var(--tan); opacity: 1; margin: 0 0 20px; }
.offcanvas-menu__extra a { font-family: var(--font-text); font-size: 25px; line-height: 35px; color: #fff; }
.offcanvas-menu__extra a:hover { color: var(--tan); }

/* 06. Buttons -------------------------------------------------------- */
.btn-pill {
    display: inline-block; min-width: 170px;
    padding: 15px 30px 15px;
    font-family: var(--font-text); font-size: 14px; font-weight: 700; line-height: 18px;
    letter-spacing: 1px; text-transform: uppercase; text-align: center;
    color: #fff; background-color: var(--tan);
    border: 1px solid transparent; border-radius: 28px;
    cursor: pointer; transition: background-color .3s, color .3s, border-color .3s;
}
.btn-pill:hover { color: #fff; background-color: var(--navy); }
.btn-pill--outline { background: transparent; border: 2px solid var(--tan); color: #fff; font-size: 13px; border-radius: 26px; }
.btn-pill--outline:hover { background-color: var(--tan); color: #fff; }
.btn-pill--outline-light { background: transparent; border: 1px solid #ffffffb7; color: #fff; }
.btn-pill--outline-light:hover { background: #fff; color: var(--navy); }
.btn-pill[disabled] { opacity: .6; cursor: wait; }
/* Buttons used on other pages (service template) keep working */
.btn-swift { display: inline-flex; align-items: center; justify-content: center; min-width: 170px; padding: 15px 30px 10px; border-radius: 28px; font-family: var(--font-text); font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border: 2px solid transparent; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s; }
.btn-swift--solid { background: var(--tan); color: #fff; }
.btn-swift--solid:hover { background: var(--navy); color: #fff; }
.btn-swift--outline { background: transparent; border-color: var(--tan); color: inherit; }
.btn-swift--outline:hover { background: var(--tan); color: #fff; }

/* 07. Home hero ------------------------------------------------------ */
.home-hero {
    position: relative;
    padding: 180px 30px;  
    padding-bottom: 80px;
    display: flex; align-items: center;
    background: var(--navy) var(--hero-bg) center / cover no-repeat;
}
.home-hero__inner { width: 100%; max-width: 1380px; margin: 0 auto; display: flex; align-items: center; gap: 30px; }
.home-hero__text, .home-hero__form { flex: 1 1 50%; min-width: 0; }
.home-hero__text { text-align: center; color: #fff; }
.home-hero__text h6 { font-size: 15px; line-height: 29px; color: #fff; }
.home-hero__text h1 { font-size: 65px; line-height: 70px; color: #fff; max-width: 660px; margin: 0 auto 10px; }
.home-hero__desc { font-size: 17px !important; padding: 0 33px; max-width: 660px; margin: 0 auto 10px !important; }
.home-hero__pointer { margin-top: 10px; }
.home-hero__pointer img { display: inline-block; width: 268px; height: auto; }
.window-booking { background: #fff; border-radius: 20px; padding: 20px 20px 10px; }

/* hero contact section  */
.swift-contact-strip {
    display: flex;
    align-items: center;
    gap: 28px;
    width: fit-content;
    max-width: 100%;
    padding: 14px 18px;
    background: rgba(0, 22, 51, .58) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .2) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    transition: border-color .3s ease, box-shadow .3s ease;
    margin: 30px auto;
}

.swift-contact-strip:hover {
    border-color: rgba(206, 169, 134, .55) !important;
    box-shadow: 0 10px 36px rgba(0, 0, 0, .28),
                0 0 22px rgba(206, 169, 134, .08) !important;
}

.swift-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--white) !important;
    text-decoration: none !important;
}

.swift-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(222, 185, 141, .48) !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, .045) !important;
    color: var(--tan-step) !important;
    font-size: 15px;
    transition: all .3s ease;
}

.swift-contact-item:hover .swift-contact-icon {
    background: rgba(206, 169, 134, .18) !important;
    border-color: var(--tan) !important;
    color: var(--white) !important;
    box-shadow: 0 0 18px rgba(206, 169, 134, .16) !important;
}

.swift-contact-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    align-items: self-start;
}

.swift-contact-copy small {
    font-family: var(--font-nav);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.4px;
    color: var(--tan-step) !important;
}

.swift-contact-copy strong {
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--white) !important;
    overflow-wrap: anywhere;
}

@media (max-width: 575px) {
    .swift-contact-strip {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 16px;
    }

    .swift-contact-item {
        gap: 12px;
    }

    .swift-contact-copy strong {
        font-size: 13px;
    }
}
/* // hero form section  */

.pac-container {
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    font-family: 'Lexend', sans-serif;
}

.pac-item {
    padding: 5px 14px;
    cursor: pointer;
}

.pac-item:hover {
    background-color: #f5f5f5;
}

.pac-logo::after {
    display: none;
}

.quote-form__error,
.form-error {
    color: #b42318;
    font-size: 14px;
    margin-top: 5px;
}

.quote-form__field {
    margin-bottom: 9px;
}

.vip-quote-form {
    width: 100%;

    margin: 0 auto;
    margin-top: 20px;
    padding: 28px 30px;

    box-sizing: border-box;
    overflow: hidden;

    border: 1px solid var(--field-border);
    border-radius: 16px;

    background: var(--white);
    color: var(--navy);

    box-shadow: 0 12px 40px rgba(0, 22, 51, 0.08);
}


/* =========================================================
Progress
========================================================= */

.vip-form-progress {
    display: flex;
    align-items: center;
    margin-bottom: 26px;
}

.vip-progress-step {
    display: flex;
    align-items: center;

    gap: 8px;

    white-space: nowrap;
}

.vip-progress-step span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    border: 1.5px solid var(--field-border);
    border-radius: 50%;

    background: var(--white);
    color: var(--grey-text);

    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.vip-progress-step strong {
    color: var(--grey-text);

    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;

    transition: color 0.25s ease;
}

.vip-progress-step.active span {
    border-color: var(--tan);

    background-color: var(--tan);
    color: var(--navy);
}

.vip-progress-step.active strong,
.vip-progress-step.done strong {
    color: var(--tan);
}

.vip-progress-step.done span {
    border-color: var(--tan);

    background-color: var(--white);
    color: var(--tan);
}

.vip-progress-line {
    position: relative;

    flex: 1;

    height: 2px;

    margin: 0 15px;

    overflow: hidden;

    border-radius: 2px;

    background-color: var(--field-border);
}

.vip-progress-line::after {
    content: "";

    position: absolute;
    inset: 0;

    width: 0;

    background-color: var(--tan);

    transition: width 0.35s ease;
}

.vip-form-progress.is-step-2 .vip-progress-line::after {
    width: 100%;
}


/* =========================================================
Form Steps
========================================================= */

.vip-form-step {
    display: none;
}

.vip-form-step.active {
    display: block;

    animation: vipFadeIn 0.3s ease;
}

@keyframes vipFadeIn {

    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
Form Grid
========================================================= */

.vip-form-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px 16px;
}

.vip-full-width {
    grid-column: 1 / -1;
}

.vip-field {
    min-width: 0;
}


/* =========================================================
Labels
========================================================= */

.vip-field label {
    display: block;

    margin-bottom: 7px;

    color: var(--navy);

    font-family: var(--font-text);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
}

.vip-field label em {
    color: #b42318;

    font-style: normal;
}


/* =========================================================
Inputs
========================================================= */

.vip-field input,
.vip-field select,
.vip-field textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid var(--field-border);
    border-radius: 8px;

    outline: none;

    background-color: var(--white);
    color: var(--navy);

    font-family: var(--font-text);
    font-size: 14px;
    line-height: 1.4;

    transition:
        border-color 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.vip-field input,
.vip-field select {
    height: 48px;

    padding: 0 14px;
}

.vip-field input:hover,
.vip-field select:hover,
.vip-field textarea:hover {
    border-color: var(--tan);
}

.vip-field input:focus,
.vip-field select:focus,
.vip-field textarea:focus {
    border-color: var(--tan);

    box-shadow:
        0 0 0 3px rgba(206, 169, 134, 0.18);
}

.vip-field input::placeholder,
.vip-field textarea::placeholder {
    color: var(--grey-text);

    opacity: 1;
}


/* =========================================================
Textarea
========================================================= */

.vip-field textarea {
    height: 96px;
    min-height: 96px;

    padding: 13px 14px;

    line-height: 1.5;

    resize: vertical;
}


/* =========================================================
Select
========================================================= */

.vip-field select {
    padding-right: 42px;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23001633' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px 8px;
}

.vip-field select:invalid {
    color: var(--grey-text);
}

.vip-field select option {
    color: var(--navy);
}


/* =========================================================
Date & Time
========================================================= */

.vip-field input[type="date"],
.vip-field input[type="time"] {
    min-height: 48px;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    text-align: left;
}

.vip-field input[type="date"]::-webkit-calendar-picker-indicator,
.vip-field input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;

    opacity: 0.55;

    transition: opacity 0.25s ease;
}

.vip-field input[type="date"]::-webkit-calendar-picker-indicator:hover,
.vip-field input[type="time"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}


/* =========================================================
Return Fields
========================================================= */

.vip-return-fields {
    display: none;

    grid-column: 1 / -1;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px 16px;

    padding: 18px;

    border: 1px dashed var(--tan);
    border-radius: 8px;

    background-color: var(--field-bg);
}

.vip-return-fields.active {
    display: grid;

    animation: vipFadeIn 0.3s ease;
}


/* =========================================================
Validation
========================================================= */

.vip-error {
    margin-top: 5px;

    color: #b42318;

    font-family: var(--font-text);
    font-size: 11.5px;
    line-height: 1.35;
}

.vip-error:empty {
    display: none;
}

.vip-field input.is-invalid,
.vip-field select.is-invalid,
.vip-field textarea.is-invalid,
.vip-invalid {
    border-color: #b42318 !important;

    background-color: #fff8f7;
}

.vip-field input.is-invalid:focus,
.vip-field select.is-invalid:focus,
.vip-field textarea.is-invalid:focus {
    box-shadow:
        0 0 0 3px rgba(180, 35, 24, 0.12);
}


/* =========================================================
International Telephone Input
========================================================= */

.vip-field .iti {
    display: block;

    width: 100%;
}

.vip-field .iti input {
    width: 100%;
}


/* =========================================================
Form Actions
========================================================= */

.vip-form-actions {
    margin-top: 24px;
    padding-top: 20px;

    border-top: 1px solid var(--field-border);
}

.vip-form-step[data-step="2"] .vip-form-actions {
    justify-content: space-between;
}


/* =========================================================
Buttons
========================================================= */

.vip-next-btn,
.vip-back-btn,
.vip-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 48px;

    padding: 0 26px;

    border: 1px solid transparent;
    border-radius: 8px;

    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}


/* =========================================================
Primary Buttons
========================================================= */

.vip-next-btn,
.vip-submit-btn {
    gap: 12px;

    border-color: var(--tan);

    background-color: var(--tan);
    color: var(--navy);

    box-shadow:
        0 6px 16px rgba(0, 22, 51, 0.12);
}

.vip-next-btn:hover,
.vip-submit-btn:hover {
    border-color: var(--navy);

    background-color: var(--navy);
    color: var(--white);

    box-shadow:
        0 8px 20px rgba(0, 22, 51, 0.18);
}

.vip-next-btn:active,
.vip-submit-btn:active {
    transform: translateY(1px);
}

.vip-next-btn span,
.vip-submit-btn span {
    font-size: 16px;

    transition: transform 0.25s ease;
}

.vip-next-btn:hover span,
.vip-submit-btn:hover span {
    transform: translateX(3px);
}

.vip-submit-btn:disabled {
    opacity: 0.65;

    cursor: not-allowed;

    box-shadow: none;
}


/* =========================================================
Back Button
========================================================= */

.vip-back-btn {
    border-color: var(--tan);

    background-color: var(--white);
    color: var(--navy);
}

.vip-back-btn:hover {
    border-color: var(--navy);

    background-color: var(--navy);
    color: var(--white);
}

.vip-back-btn:active {
    transform: translateY(1px);
}


/* =========================================================
Focus
========================================================= */

.vip-next-btn:focus-visible,
.vip-back-btn:focus-visible,
.vip-submit-btn:focus-visible {
    outline: 2px solid var(--tan);

    outline-offset: 3px;
}


/* =========================================================
Disabled
========================================================= */

.vip-next-btn:disabled,
.vip-back-btn:disabled,
.vip-submit-btn:disabled {
    opacity: 0.6;

    cursor: not-allowed;
    pointer-events: none;
}


/* =========================================================
Responsive
========================================================= */

@media (max-width: 767.98px) {

    .vip-quote-form {
        max-width: 100%;

        padding: 24px 20px;

        border-radius: 12px;
    }

    .vip-progress-step strong {
        display: none;
    }

    .vip-progress-line {
        margin: 0 10px;
    }

    .vip-form-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .vip-full-width {
        grid-column: auto;
    }

    .vip-return-fields {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 15px;
    }

    .vip-form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .vip-form-step[data-step="2"] .vip-form-actions {
        flex-direction: column-reverse;
    }

    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn {
        width: 100%;
    }
}


/* =========================================================
Small Mobile
========================================================= */

@media (max-width: 479.98px) {

    .vip-quote-form {
        padding: 20px 16px;
    }

    .vip-form-progress {
        margin-bottom: 22px;
    }

    .vip-progress-step span {
        width: 28px;
        height: 28px;

        flex-basis: 28px;

        font-size: 11px;
    }

    .vip-progress-line {
        margin: 0 8px;
    }

    .vip-field input,
    .vip-field select {
        height: 46px;
    }

    .vip-field textarea {
        min-height: 100px;
    }

    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn {
        height: 46px;

        padding: 0 20px;
    }
}


/* =========================================================
Reduced Motion
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .vip-form-step.active,
    .vip-return-fields.active {
        animation: none;
    }

    .vip-progress-step span,
    .vip-progress-step strong,
    .vip-progress-line::after,
    .vip-field input,
    .vip-field select,
    .vip-field textarea,
    .vip-next-btn,
    .vip-back-btn,
    .vip-submit-btn,
    .vip-next-btn span,
    .vip-submit-btn span {
        transition: none;
    }
}

/* 09. Review card (video) ------------------------------------------- */
.testimonial-video-section {
    position: relative; max-width: 1200px; width: calc(100% - 30px); margin: 50px auto;
    margin-bottom: 0px;
    color: #fff; background-color: var(--navy); border-radius: 30px; min-height: 500px; overflow: hidden;
}
.testimonial-inner { position: relative; z-index: 1; display: flex; align-items: stretch; gap: 20px; padding: 15px 30px 15px 15px; min-height: 500px; }
.tv-inner-left { flex: 0 1 auto; display: flex; align-items: stretch; }
.tv-video { position: relative; width: clamp(300px, 38vw, 520px); aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; }
.tv-blur-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: blur(22px) saturate(115%); transform: scale(1.12); }
.tv-iframe-wrap { position: absolute; top: 50%; left: 50%; height: 100%; aspect-ratio: 9 / 17; max-width: 100%; transform: translate(-50%, -50%); z-index: 1; }
.tv-iframe-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }
.tv-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; transition: opacity .2s; pointer-events: none; }
.tv-play {
    position: absolute; top: 50%; left: 50%; z-index: 4; width: 60px; height: 60px;
    display: grid; place-items: center; transform: translate(-50%, -50%);
    border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: rgba(0, 0, 0, .03);
    -webkit-backdrop-filter: blur(6px) saturate(120%); backdrop-filter: blur(6px) saturate(120%);
    cursor: pointer; transition: transform .2s, background .2s, opacity .2s;
}
.tv-play:hover { border-color: var(--tan); background: var(--tan); }
.tv-play-icon { width: 0; height: 0; border-left: 18px solid #fff; border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 2px; }
.tv-video.is-playing .tv-cover { opacity: 0; }
.tv-video.is-playing .tv-play { opacity: 0; pointer-events: none; }
.tv-inner-right { flex: 0 0 520px; min-width: 520px; max-width: 760px; display: flex; flex-direction: column; justify-content: center; gap: 16px; text-align: center; }
.tv-inner-right h3 { color: var(--tan); font-size: clamp(25px, 4.2vw, 35px); line-height: 1.2; margin: 0; }
.tv-testimonial-top { padding: 20px 0; }
.tv-testimonial-top p { max-width: 85%; line-height: 1.6; margin: 20px auto 0; color: #fff; font-size: 15px; }
.tv-testimonial-bottom h5 { color: var(--tan); font-size: 20px; line-height: 1.2; margin: 0; }
.tv-testimonial-bottom p { color: #fff; font-size: 15px; margin: 0 0 15px; }

/* 10. Services section & tiles -------------------------------------- */
.services-section { padding: 50px 10% 100px; background: #fff var(--services-bg) center / cover no-repeat; }
.services-head { max-width: 50%; margin: 30px auto 0; padding: 0 5%; text-align: center; }
.services-head h2 { font-size: 55px; line-height: 55px; color: var(--navy); margin-bottom: 30px; }
.services-head h6 { font-size: 15px; line-height: 29px; color: var(--grey-text); }
.service-tiles { display: grid; grid-template-columns: 1fr 1fr; margin-top: 40px; }
.sk-service-tile { position: relative; overflow: hidden; background-position: center; background-size: cover; background-repeat: no-repeat; }
.sk-service-tile::before { content: ""; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.461); transition: .3s ease; z-index: 1; }
.sk-service-tile:hover::before { background-color: rgba(0, 22, 51, .7); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.sk-service-grid { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 450px; padding: 5%; text-align: center; }
.sk-service-name { font-size: 45px; line-height: 40px; color: #fff; margin: 0 0 15px; }
.sk-service-desc { font-size: 15px; line-height: 22px; color: #fff; margin: 0 0 15px; transition: .6s ease-in-out; }
.sk-tile-cta {
    display: block; width: 200px; margin: 0 auto;
    padding: 10px 35px 5px; border-radius: 100px;
    background-color: var(--tan); color: #fff;
    font-size: 14px; font-weight: 700; line-height: 30px;
}

/* Fleet section - Dark cross pattern */

.fleet-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 50px 0;
    background-color: var(--charcoal);
    background-image:
        linear-gradient(45deg, transparent 48%, rgba(201, 165, 106, 0.07) 49%, rgba(201, 165, 106, 0.07) 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, rgba(201, 165, 106, 0.07) 49%, rgba(201, 165, 106, 0.07) 51%, transparent 52%);
    background-size: 36px 36px;
}

/* Subtle dark overlay */
.fleet-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        135deg,
        rgba(10, 17, 25, 0.96),
        rgba(20, 30, 41, 0.92)
    );
    pointer-events: none;
}

.fleet-section .section-subtitle {
    color: var(--tan-step) !important;
    letter-spacing: 3px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.fleet-section h2 {
    color: var(--white) !important;
}

/* Navigation controls */
.fleet-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(201, 165, 106, 0.55) !important;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--tan-step) !important;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.fleet-controls button:hover {
    border-color: var(--tan-step) !important;
    background: var(--tan-step) !important;
    color: #101820 !important;
}

/* Fleet cards */
.fleet-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(201, 165, 106, 0.18);
    background: #17212b;
    transition: border-color 0.3s ease, transform 0.3s ease;
    border-radius: 10px;
    overflow: hidden;
}

.fleet-card:hover {
    border-color: rgba(201, 165, 106, 0.65);
    transform: translateY(-4px);
}

/* Vehicle image */
.fleet-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    background: #202a34;
}

.fleet-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 2.25;
    object-fit: cover;
    object-position: bottom;
    transition: transform 0.5s ease;
}

.fleet-card:hover .fleet-card__image img {
    transform: scale(1.04);
}

/* Card content */
.fleet-card__content {
    padding: 22px;
}

.fleet-card__type {
    margin-bottom: 10px;
    color: var(--tan-step) !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.fleet-card h3 {
    margin-bottom: 12px;
    color: var(--white) !important;
    font-size: 24px;
    line-height: 1.3;
}

.fleet-card__content > p:not(.fleet-card__type) {
    color: #b8c0c8 !important;
    font-size: 14px;
    line-height: 1.8;
}

/* Card link */
.fleet-card__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: var(--white) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.fleet-card__link i {
    color: var(--tan-step) !important;
    transition: transform 0.3s ease;
}

.fleet-card__link:hover {
    color: var(--tan-step) !important;
}

.fleet-card__link:hover i {
    transform: translateX(4px);
}

/* Swiper pagination */
.fleet-pagination {
    position: static;
    margin-top: 25px;
    display: flex;
    justify-content: center;
}

.fleet-pagination .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.45);
    opacity: 1;
}

.fleet-pagination .swiper-pagination-bullet-active {
    background: var(--tan-step) !important;
}

/* Responsive */
@media (max-width: 767.98px) {
    .fleet-section {
        padding: 55px 0;
        background-size: 28px 28px;
    }

    .fleet-card__content {
        padding: 18px;
    }

    .fleet-card h3 {
        font-size: 21px;
    }

    .fleet-controls button {
        width: 38px;
        height: 38px;
    }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .fleet-card,
    .fleet-card__image img,
    .fleet-card__link,
    .fleet-card__link i,
    .fleet-controls button {
        transition: none;
    }

    .fleet-card:hover {
        transform: none;
    }
}

/* self drive car hire  */
.selfdrive-section {
    padding: 60px 0;
    overflow: hidden;
    background: var(--navy) !important;
    color: var(--white) !important;

    .selfdrive-heading {
        display: flex;
        align-items: center;
        margin-bottom: 30px !important;
        justify-content: space-between;
        gap: 30px;

        h2 {
            margin: 12px 0 0;
            font-size: clamp(36px, 4.2vw, 58px) !important;
            line-height: 1.08 !important;
            color: var(--white) !important;

            em {
                color: var(--tan-step) !important;
            }
        }

        > p {
            max-width: 350px !important;
            margin-bottom: 5px;
            color: #c3ccd6 !important;
            font-size: 14px;
            line-height: 1.8;
        }
    }

    .selfdrive-kicker,
    .selfdrive-topline > span {
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 2px;
        color: var(--tan-step) !important;
    }

    .selfdrive-topline {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 16px !important;
        padding: 12px 0 !important;
        border-top: 1px solid rgba(255,255,255,.15);
        border-bottom: 1px solid rgba(255,255,255,.15);

        > span i {
            margin-right: 8px;
        }
    }

    .selfdrive-controls {
        display: flex;
        gap: 8px;

        button {
            width: 42px;
            height: 42px;
            border: 1px solid rgba(255,255,255,.25);
            border-radius: 50%;
            background: transparent !important;
            color: var(--white) !important;
            transition: .3s ease;
        }

        button:hover {
            border-color: var(--tan-step) !important;
            background: var(--tan-step) !important;
            color: var(--navy) !important;
        }
    }

    .selfdriveSwiper {
        overflow: visible;
    }

    .selfdrive-card {
        height: 100%;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,.12);
        background: #09213d !important;
        transition: border-color .3s ease, transform .3s ease;
        display: flex;
        flex-direction: column;
        border-radius: 4px;

        &:hover {
            border-color: var(--tan-step) !important;
            transform: translateY(-4px);
        }
    }

    .selfdrive-image {
        position: relative;
        overflow: hidden;
        aspect-ratio: 1.55;
        background: #102943 !important;

        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease;
        }

        &:hover img {
            transform: scale(1.05);
        }

        .selfdrive-index,
        .selfdrive-category {
            position: absolute;
            bottom: 12px;
            padding: 2px 10px;
            font-size: 9px;
            letter-spacing: 1px;
            background: var(--navy) !important;
            color: var(--tan-step) !important;
            border-radius: 2px;
        }

        .selfdrive-index {
            left: 12px;
        }

        .selfdrive-category {
            right: 12px;
        }
    }

    .selfdrive-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 15px !important;

        .selfdrive-brand {
            margin-bottom: 5px;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 1.7px;
            color: var(--tan-step) !important;
        }

        h3 {
            margin: 0 0 5px;
            font: 400 25px/1.2 var(--font-head);
            color: var(--white) !important;
        }

        .selfdrive-description {
            min-height: 0;
            margin-bottom: 15px;
            font-size: 12px;
            line-height: 1.65;
            color: #c3ccd6 !important;
        }
    }

    .selfdrive-specs > div:nth-child(n+4) {
        display: none !important;
    }

    .selfdrive-specs {
        border-top: 1px solid rgba(255,255,255,.14);

        div {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            padding: 5px 0;
            border-bottom: 1px solid rgba(255,255,255,.1);
            font-size: 12px;
        }

        span {
            color: #aebdce !important;
        }

        strong {
            text-align: right;
            font-weight: 500;
            color: var(--white) !important;
        }
    }

    .selfdrive-price {
        margin-top: auto;
        padding-top: 10px !important;

        > div {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
            font-size: 12px;

            span {
                color: #aebdce !important;
            }

            strong {
                color: var(--tan-step) !important;
                font-weight: 600;
            }
        }
    }

    .selfdrive-book {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 0 3px;
        border-top: 1px solid rgba(255,255,255,.16);
        color: var(--tan-step) !important;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: .3px;
        text-decoration: none;

        i {
            transition: transform .3s ease;
        }

        &:hover i {
            transform: translateX(5px);
        }
    }

    .selfdrive-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-top: 25px;
        padding-top: 15px;
        border-top: 1px solid rgba(255,255,255,.15);

        span {
            font-size: 10px;
            letter-spacing: 1.5px;
            color: #c3ccd6 !important;

            strong {
                margin-right: 8px;
                font: 400 25px var(--font-head);
                color: var(--tan-step) !important;
            }
        }

        > a {
            font-size: 12px;
            color: var(--white) !important;
            text-decoration: none;

            i {
                margin-left: 8px;
                color: var(--tan-step) !important;
            }
        }
    }

    @media (max-width: 767px) {
        .selfdrive-section {
            padding: 55px 0 !important;
        }

        .selfdrive-heading {
            display: block;
            margin-bottom: 25px !important;

            > p {
                margin-top: 10px;
            }
        }

        .selfdrive-topline > span {
            font-size: 9px;
            letter-spacing: 1px;
        }

        .selfdrive-body {
            padding: 20px 16px;
        }

        .selfdrive-footer {
            align-items: flex-start;
            flex-direction: column;
        }

    }
.selfdrive-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.selfdrive-filter {
    padding: 5px 15px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #e2e8ef !important;
    box-shadow: none !important;
    font-size: 12px !important;
    letter-spacing: .4px !important;
    cursor: pointer;
    transition: all .3s ease;
}

.selfdrive-filter:hover,
.selfdrive-filter.active {
    background: var(--tan-step) !important;
    border-color: var(--tan-step) !important;
    color: var(--navy) !important;
    box-shadow: none !important;
    font-weight: 500;
}

@media (max-width: 575px) {
    .selfdrive-section {
        padding: 40px 0 !important;
    }
    .selfdrive-filters {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        justify-content: flex-start !important;
        padding-bottom: 8px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .selfdrive-filter {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .selfdrive-body {
        padding: 18px 16px !important;
    }
}
}

/* 11. Parallax ------------------------------------------------------- */
.parallax-section {
    position: relative;
    width: 100%;
    height: 650px !important;
    min-height: 650px !important;
    flex: 0 0 650px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
}

.parallax-section__bg {
    position: absolute;
    top: -25%;
    left: 0;
    right: 0;
    width: 100%;
    height: 150%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    will-change: transform;
    z-index: 0;
}

.parallax-section__content {
    position: relative;
    width: 66.66%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    z-index: 2;
}

.parallax-section__content h2 {
    margin: 0 0 20px;

    font-size: 65px;
    line-height: 70px;

    color: #fff;
}

.parallax-section__content h6 {
    margin: 0 auto;

    max-width: 850px;

    font-size: 15px;
    line-height: 29px;

    color: #fff;
}


.events-section {
    padding: 80px 0;
    background: var(--white);
}

.events-section .section-subtitle {
    color: var(--grey-text) !important;
    font-size: 12px;
    letter-spacing: 2px;
}

.events-section h2,
.event-card h3 {
    color: var(--navy) !important;
}

.event-card {
    background: var(--white);
    border: 1px solid #cea986;
    border-radius: 24px;
}

.event-card__image {
    display: block;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: 22px 22px 0 0;
}

.event-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 2.5;
    object-fit: cover;
    transition: transform .4s ease;
}

.event-card:hover .event-card__image img {
    transform: scale(1.04);
}

.event-card__content {
    padding: 15px 20px;
}

.event-card__category {
    color: var(--tan) !important;
    font-size: 11px;
    letter-spacing: 1.5px;
}

.event-card h3 {
    margin: 5px 0 10px;
    font-size: 24px;
}

p.event-card__date {
    font-size: 12px !important;
    margin-bottom: 5px;
}

.event-card__content p {
    color: var(--navy-footer) !important;
    font-size: 13px;
    line-height: 1.8;
}

.event-card__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--navy) !important;
    font-size: 13px;
    font-weight: 600;
}

.event-card__link i {
    color: var(--tan) !important;
    transition: transform .3s ease;
}

.event-card__link:hover i {
    transform: translateX(4px);
}

@media (max-width: 767.98px) {
    .events-section {
        padding: 55px 0;
    }

    .event-card__content {
        padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .event-card__image img,
    .event-card__link i {
        transition: none;
    }
}

/* tour and location coverage section  */

.coverage-section {
    padding: 65px 0;
    background: var(--navy);
    color: var(--white);
}

.coverage-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    margin-bottom: 28px;
}

.coverage-eyebrow,
.coverage-tag {
    color: var(--tan-step) !important;
    font-size: 10px;
    letter-spacing: 1.8px;
}

.coverage-head h2 {
    margin: 8px 0 0;
    color: var(--white) !important;
}

.coverage-head h2 em {
    color: var(--tan-step) !important;
}

.coverage-head > p {
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.7) !important;
    font-size: 13px;
    line-height: 1.8;
}

.coverage-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 14px;
}

.coverage-feature,
.coverage-place {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--navy-footer);
    color: var(--white) !important;
}

.coverage-feature {
    min-height: 440px;
}

.coverage-feature::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,10,25,.95), rgba(0,10,25,0) 80%);
    content: "";
}

.coverage-feature > img,
.coverage-place > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.coverage-feature:hover > img,
.coverage-place:hover > img {
    transform: scale(1.04);
}

.coverage-overlay {
    position: absolute;
    z-index: 1;
    right: 24px;
    bottom: 24px;
    left: 24px;
}

.coverage-overlay h3,
.coverage-place h3 {
    margin: 8px 0;
    color: var(--white) !important;
}

.coverage-overlay p,
.coverage-place p {
    margin: 0;
    color: rgba(255,255,255,.75) !important;
    font-size: 12px;
    line-height: 1.7;
}

.coverage-link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-top: 16px;
    color: var(--tan-step) !important;
    font-size: 12px;
}

.coverage-side {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 14px;
}

.coverage-place {
    display: grid;
    grid-template-columns: 36% 1fr;
    min-height: 0;
}

.coverage-place > img {
    min-height: 125px;
}

.coverage-place > div {
    position: relative;
    align-self: center;
    padding: 12px 30px 12px 18px;
}

.coverage-place h3 {
    font-size: 21px;
}

.coverage-place > div > i {
    position: absolute;
    right: 12px;
    bottom: 14px;
    color: var(--tan-step) !important;
    font-size: 12px;
}

.coverage-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 22px;
    margin-top: 22px;
    border-top: 1px solid rgba(255,255,255,.18);
}

.coverage-bottom__title {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--tan-step) !important;
    font-size: 10px;
    letter-spacing: 1.2px;
    white-space: nowrap;
}

.coverage-airports {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: var(--white) !important;
    font-size: 11px;
}

.coverage-airports small {
    margin-left: 3px;
    color: var(--tan-step) !important;
    font-size: 9px;
}


@media (max-width: 767.98px) {
    .coverage-section {
        padding: 48px 0;
    }

    .coverage-head {
        display: block;
    }

    .coverage-head > p {
        margin-top: 12px;
    }

    .coverage-grid {
        grid-template-columns: 1fr;
    }

    .coverage-feature {
        min-height: 330px;
    }

    .coverage-place {
        min-height: 125px;
    }

    .coverage-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .coverage-feature > img,
    .coverage-place > img {
        transition: none;
    }
}


/* 12. Features ------------------------------------------------------- */
.features-section { position: relative; z-index: 1; background: var(--navy) var(--features-bg) center / cover no-repeat; overflow: hidden; }
.features-section--overlap { background-color: transparent; }
.features-section__inner { padding: 70px var(--side-pad); }
.text-marquee { position: relative; overflow: hidden; margin: 0 -20%; }
.text-marquee::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, var(--navy) 9%, rgba(0, 22, 51, 0) 20%, rgba(0, 22, 51, 0) 80%, var(--navy) 90%);
}
.text-marquee { padding-bottom: 35px; }
.text-marquee__track { display: flex; width: 100%; animation: marquee-slides 40s linear infinite; }   /* one slide per 20s, like live */
.text-marquee__item { flex: 0 0 100%; padding: 0 30px; }
.text-marquee__item img { display: block; width: 100%; height: auto; }
@keyframes marquee-slides { to { transform: translateX(-200%); } }
.features-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-top: 30px; }
.features-head__text { flex: 0 1 50%; padding-right: 5%; }
.features-head h2 { font-size: 45px; line-height: 40px; color: var(--tan); margin-bottom: 30px; }
.features-head h6 { font-size: 15px; line-height: 29px; color: #fff; }
.features-head__cta { padding-bottom: 10px; }

.feature-carousel { position: relative; margin-top: 40px; overflow: hidden; }
.feature-carousel__track { display: flex; transition: transform .5s ease; }
.feature-carousel__slide { flex: 0 0 25%; padding: 0 5px; }
.sk-carousel-tile { position: relative; display: block; overflow: hidden; background-size: cover; background-position: center; }
.sk-carousel-tile::before { content: ""; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0); transition: .6s ease; z-index: 1; }
.sk-carousel-tile:hover::before { background: linear-gradient(0deg, rgba(0, 22, 51, .2), rgba(0, 22, 51, .4) 40%, rgba(0, 22, 51, 1) 90%); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.sk-service-carousel { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; min-height: 450px; height: 450px; overflow: hidden; padding: 40px 5%; text-align: center; color: #fff; }
.sk-sc-label { font-family: var(--font-text); font-size: 12px; font-weight: 700; letter-spacing: 2px; line-height: 10px; margin-bottom: 10px; transition: color .6s; }
.sk-carousel-tile:hover .sk-sc-label { color: var(--tan); }
.sk-sc-title { font-family: var(--font-head); font-size: 35px; line-height: 35px; margin-bottom: 10px; }
.sk-sc-text { font-family: var(--font-text); padding: 30px 0px; font-size: 13px; line-height: 25px; letter-spacing: 1px; font-weight: 700; opacity: 0; transition: opacity .5s ease-in-out; }
.sk-sc-cta { font-family: var(--font-text); background-color: var(--tan); padding: 7px 35px; border-radius: 100px; font-size: 11px; letter-spacing: 1px; font-weight: 700; opacity: 0; transition: opacity .5s ease-in-out; }
.sk-carousel-tile:hover .sk-sc-text, .sk-carousel-tile:hover .sk-sc-cta { opacity: 1; }
.carousel-dots { display: none; justify-content: center; gap: 8px; margin-top: 30px; }
.carousel-dots button { width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: rgba(255, 255, 255, .3); cursor: pointer; }
.carousel-dots button.is-active { background: var(--tan); }

/* 13. Gallery -------------------------------------------------------- */
.gallery-section { position: relative; z-index: 2; background: var(--navy); padding: 50px 0 30px; }
.gallery-section h2 { font-size: 45px; line-height: 40px; color: var(--tan); text-align: center; margin: 0 0 40px; }
.center-slider { position: relative; }
.center-slider__viewport { overflow: hidden; }
.center-slider__track { display: flex; align-items: center; will-change: transform; }
.center-slider__track.is-animating { transition: transform .5s ease; }
.center-slider__slide { flex: 0 0 auto; padding: 0 15px; }
.center-slider__slide img { height: 800px; width: auto; max-width: none; display: block; user-select: none; -webkit-user-drag: none; }
.slider-arrow {
    position: absolute; top: -70px; z-index: 3; width: 50px; height: 50px; border-radius: 50%;
    border: 1px solid #fff; background: transparent; cursor: pointer; transition: background-color .2s;
}
.slider-arrow::before { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border-color: var(--tan); border-style: solid; border-width: 2px 0 0 2px; }
.slider-arrow--prev { right: 110px; }
.slider-arrow--prev::before { transform: translate(-30%, -50%) rotate(-45deg); }
.slider-arrow--next { right: 50px; }
.slider-arrow--next::before { transform: translate(-70%, -50%) rotate(135deg); }
.slider-arrow:hover { background-color: #fff; }

/* 14. Google reviews ------------------------------------------------- */
.reviews-section { padding: 50px var(--side-pad); background: var(--navy) var(--reviews-bg) center / cover no-repeat; }
.alt-reviews-container [class*="HeaderComponent__Top"] { display: none !important; }
.alt-reviews-container [class*="ReviewBackground__Container"] { background-color: rgba(255, 255, 255, .2) !important; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }


/* 15. Amenities ------------------------------------------------------ */
.amenity-grid {
    display: flex;
    flex-wrap: wrap;
}

.amenity-tile {
    flex: 0 0 25%;
    min-height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.amenity-tile--photo {
    min-height: 300px;
}
.amenity-tile--text { display: flex; align-items: center; }
.amenity-tile__inner { padding: 5% 10%; width: 100%; }
.amenity-tile__num { font-size: 140px; line-height: 130px; color: rgba(255, 255, 255, .36); opacity: .5; margin: 0 0 -70px -30px; }
.amenity-tile__title { font-size: 35px; line-height: 35px; color: #fff; }
.amenity-tile__text { font-size: 15px; line-height: 29px; color: #fff; margin: 0; }

/* 16. Instant quote -------------------------------------------------- */
.instant-quote { background: #fff; padding: 50px var(--side-pad); text-align: center; }
.instant-quote h2 { font-size: 45px; line-height: 40px; color: var(--navy); margin: 0 0 30px; }
.instant-quote h6 { font-size: 15px; line-height: 29px; color: var(--grey-text); max-width: 66.66%; margin: 0 auto 20px; }
.instant-quote__feed { margin-top: 40px; text-align: left; }

/* 17. Enquire -------------------------------------------------------- */
.enquire-section { position: relative; padding: 80px var(--side-pad) 40px; margin-bottom: -2px; background: var(--navy) var(--enquire-bg) center / cover no-repeat; }
.enquire-section__inner { max-width: 66.66%; margin: 0 auto; text-align: center; }
.enquire-section h2 { font-size: 45px; line-height: 40px; color: #fff; margin: 0 0 30px; }
.enquire-section h6 { font-size: 15px; line-height: 29px; color: #fff; margin-bottom: 30px; }
.enquire-section .swift-form { max-width: 500px; margin: 0 auto; text-align: left; }
.enquire-section .form-steps { justify-content: center; }
.enquire-section .field label { color: #fff; }
.enquire-section .field input, .enquire-section .field textarea { height: 65px; width: 100%; border-radius: 8px; background: var(--field-bg); border: 1px solid var(--field-border); padding-left: 10px;}
.enquire-section .field textarea { height: 100px; }
.enquire-section .form-message.is-error, .enquire-section .field__error { color: #ffb3b3; }
.enquire-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 10px; }
.enquire-section__logo { display: block; width: 218px; margin: 50px auto 0; }

/* 18. Footer, floating buttons -------------------------------------- */
.site-footer { background: var(--navy-footer); padding: 0 0 30px; }
.site-footer__row { display: flex; flex-wrap: wrap; }
.site-footer__col { flex: 0 0 25%; padding: 30px; border-top: 1px solid var(--line-footer); border-bottom: 1px solid var(--line-footer); }
.site-footer__col--first { border-right: 1px solid var(--line-footer); }
.site-footer__col--last { border-left: 1px solid var(--line-footer); }
.site-footer__inner { min-height: 200px; padding-top: 30px; display: flex; flex-direction: column; align-items: flex-start; max-width: 280px; margin: 0 auto; }
.site-footer__title { font-size: 22px; line-height: 27px; color: var(--tan); text-transform: capitalize; margin: 0 0 15px; }
.site-footer p, .site-footer a { font-family: var(--font-text); font-size: 14px; line-height: 28px; letter-spacing: 1px; text-transform: uppercase; color: #fff; }
.site-footer a:hover { color: var(--tan); }
.site-footer__copy { margin: 30px 5% 0; font-family: var(--font-text); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #fff; }

.mobile-quote-button { display: none; }
.wa-chat { position: fixed; right: 20px; bottom: 20px; z-index: 9998; font-family: var(--font-base); }
.wa-chat__button { width: 50px; height: 50px; border-radius: 50%; border: 0; background: rgb(74, 213, 4); display: grid; place-items: center; cursor: pointer; box-shadow: 0 4px 12px rgba(0, 0, 0, .2); }
.wa-chat__panel { position: absolute; right: 0; bottom: 75px; width: 320px; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 8px 30px rgba(0, 0, 0, .2); }
.wa-chat__head { display: flex; align-items: center; gap: 12px; padding: 16px; background: #095e54; color: #fff; line-height: 1.3; }
.wa-chat__head img { border-radius: 50%; background: #fff; }
.wa-chat__head strong { display: block; font-size: 15px; }
.wa-chat__head span { font-size: 13px; opacity: .8; }
.wa-chat__close { margin-left: auto; background: none; border: 0; color: #fff; font-size: 24px; cursor: pointer; }
.wa-chat__body { padding: 20px 16px; background: #e6ddd4; }
.wa-chat__bubble { display: inline-block; margin: 0; padding: 8px 12px; background: #fff; border-radius: 8px; font-family: var(--font-base); font-size: 14px; line-height: 1.5; color: #111; }
.wa-chat__start { display: block; margin: 12px 16px 16px; padding: 10px; border-radius: 20px; background: rgb(74, 213, 4); color: #fff; text-align: center; font-weight: 600; }
.wa-chat__start:hover { color: #fff; filter: brightness(.95); }

/* ===== 19. SERVICE PAGES ===== */
/* Shared building blocks used by service pages, thank-you and 404 */
:root {
    --black: var(--navy); --charcoal: #0a2244; --champagne: var(--tan); --champagne-dark: #b8916b;
    --sand: #f6f2ec; --text: #1d1d1d; --muted: var(--grey-text); --muted-on-dark: rgba(255,255,255,.75);
    --line: rgba(0,22,51,.12); --line-on-dark: rgba(255,255,255,.16);
    --radius: 20px; --ease: cubic-bezier(.22,.61,.36,1); --section-pad: clamp(64px, 8vw, 100px);
}
.container-xl { max-width: 1320px; padding-inline: clamp(24px, 4vw, 40px); }
.section { padding-block: var(--section-pad); }
.section--dark { background: var(--navy); color: #fff; }
.section-title { font-family: var(--font-head); font-size: clamp(2rem, 3.5vw, 45px); line-height: 1.1; color: var(--navy); }
.section--dark .section-title { color: var(--tan); }
.section-lead { font-family: var(--font-text); font-size: 15px; line-height: 29px; color: var(--grey-text); max-width: 60ch; }
.section--dark .section-lead { color: #fff; }
.intro { background: var(--sand); }
.intro__inner { max-width: 860px; margin-inline: auto; text-align: center; }
.intro__inner .section-lead { margin-inline: auto; }
.simple-page { padding-top: calc(var(--ticker-h) + var(--header-h) + 80px); }
.simple-page__inner { max-width: 720px; }
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; padding: calc(var(--header-h) + var(--ticker-h) + 48px) 0 72px; color: #fff; background: var(--navy); overflow: hidden; }
.hero__bg { position: absolute; inset: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,22,51,.75) 0%, rgba(0,22,51,.35) 60%, rgba(0,22,51,.2) 100%); }
.hero__inner { position: relative; z-index: 1; width: 100%; }
.hero__eyebrow { font-family: var(--font-text); font-size: 15px; color: #fff; margin-bottom: 10px; }
.hero__title { font-family: var(--font-head); font-size: clamp(2.5rem, 5vw, 65px); line-height: 1.08; color: #fff; max-width: 14ch; }
.hero__sub { font-family: var(--font-text); font-size: 17px; line-height: 29px; color: #fff; max-width: 44ch; }
.hero .window-booking, .hero .quote-form { background: #fff; border-radius: 20px; padding: 20px 20px 10px; }
.page-service .swift-form, .page-simple .swift-form { color: rgba(0,0,0,.7); }
/* 15b. Service pages ------------------------------------------------- */
.hero--service { min-height: 78vh; }
.breadcrumb-nav ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; padding: 0; font-size: .8125rem; color: rgba(255,255,255,.7); }
.breadcrumb-nav li + li::before { content: "/"; margin-right: 8px; opacity: .5; }
.breadcrumb-nav a { color: rgba(255,255,255,.85); text-decoration: none; }
.breadcrumb-nav a:hover { color: var(--champagne); }
.hero__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero__buttons .btn-swift--outline { color: var(--white); }

.benefits { padding-bottom: 0; }
.benefit-card { height: 100%; padding: 30px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.benefit-card__label { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--champagne-dark); margin-bottom: 4px; }
.benefit-card__title { font-size: 1.5rem; font-weight: 400; margin-bottom: 12px; }
.benefit-card__text { color: var(--muted); font-weight: 300; margin: 0; }
.page-service .intro { background: var(--sand); }

.media-block { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.media-block + .media-block { margin-top: clamp(56px, 8vw, 112px); }
.media-block--reverse .media-block__media { order: 2; }
.media-block__media > img, .media-block__media .video-poster { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); }
.media-block__title { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 300; }
.media-block__buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.video-poster { position: relative; display: block; padding: 0; border: 0; overflow: hidden; border-radius: var(--radius); background: var(--charcoal); cursor: pointer; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.video-poster:hover img { transform: scale(1.04); }
.video-poster--wide { margin: 40px auto 0; max-width: 960px; aspect-ratio: 16 / 9; width: 100%; }
.video-poster__play {
    position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; transform: translate(-50%, -50%);
    border-radius: 50%; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.6);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background-color .25s, border-color .25s;
}
.video-poster__play::after { content: ""; position: absolute; left: 36px; top: 28px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--white); }
.video-poster:hover .video-poster__play { background: var(--champagne); border-color: var(--champagne); }
.video-poster__hint { position: absolute; left: 20px; bottom: 16px; font-size: .8125rem; color: var(--white); background: rgba(0,0,0,.5); padding: 4px 12px; border-radius: 99px; }

.video-modal { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.88); }
.video-modal__box { position: relative; width: min(1100px, 100%); }
.video-modal__frame { position: relative; aspect-ratio: 16 / 9; background: var(--black); }
.video-modal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-modal__close { position: absolute; right: 0; top: -52px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: none; color: var(--white); font-size: 1.75rem; line-height: 1; cursor: pointer; }
.video-modal__close:hover { border-color: var(--champagne); color: var(--champagne); }

.audiences__list { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 32px 0 0; padding: 0; background: var(--line-on-dark); border: 1px solid var(--line-on-dark); }
.audiences__list li { background: var(--black); padding: 28px; font-size: 1.125rem; font-weight: 300; }

.faq__inner { max-width: 860px; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item__q { margin: 0; font-size: 1.125rem; font-weight: 400; }
.faq-item__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.faq-item__icon { position: relative; flex: 0 0 18px; height: 18px; }
.faq-item__icon::before, .faq-item__icon::after { content: ""; position: absolute; left: 0; top: 8px; width: 18px; height: 1.5px; background: var(--champagne-dark); transition: transform .3s var(--ease); }
.faq-item__icon::after { transform: rotate(90deg); }
.faq-item__btn[aria-expanded="true"] .faq-item__icon::after { transform: rotate(0); }
.faq-item__a p { color: var(--muted); font-weight: 300; padding-bottom: 22px; margin: 0; max-width: 70ch; }

@media (max-width: 991.98px) {
    .hero--service { min-height: auto; }
    .home-hero__desc {
        padding: 0;
    }
    .audiences__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767.98px) {
    .media-block { grid-template-columns: 1fr; }
    .media-block--reverse .media-block__media { order: 0; }   /* image always first on phones */
    .media-block__media > img, .media-block__media .video-poster { aspect-ratio: 4 / 3; }
    .audiences__list { grid-template-columns: 1fr; }
    .video-poster__play { width: 64px; height: 64px; }
    .video-poster__play::after { left: 27px; top: 21px; border-width: 11px 0 11px 17px; }
}


/* 20. Responsive ----------------------------------------------------- */
@media (max-width: 1200px) {
    .testimonial-inner { gap: 36px; }
    .home-hero__text h1 { font-size: 52px; line-height: 58px; }
}
@media (max-width: 1140px) { .tv-inner-right { flex: 0 0 460px; min-width: 460px; } }
@media (max-width: 1080px) { .tv-inner-right { flex: 0 0 420px; min-width: 420px; } }
@media (max-width: 1020px) {
    .testimonial-video-section { max-width: 540px; min-height: 0; }
    .testimonial-inner { flex-direction: column; align-items: center; padding: 10px; min-height: 0; }
    .tv-inner-left, .tv-inner-right { width: 100%; }
    .tv-inner-left { justify-content: center; }
    .tv-video { width: min(85vw, 520px); }
    .tv-inner-right { min-width: 0; flex: 1 1 auto; gap: 12px; }
    .tv-testimonial-top { padding: 10px 0; }
    .tv-testimonial-top p { max-width: 100%; margin-top: 12px; }
}
/* Live site switches to its mobile layout below 1000px */
@media (max-width: 1000px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: inline-block !important; }
    :root { --header-h: 80px; }
    .header-main__inner { padding: 0 20px; }
    .header-main__nav { display: none; }
    .header-main__logo img { width: 150px; }
    .menu-toggle { order: 2; margin-left: auto; }
    .menu-toggle__label { display: none !important; }
    .menu-toggle.is-active { left: auto; right: 40px; top: calc(var(--ticker-h) + 28px); }
    .offcanvas-menu { width: 100%;  }
    .offcanvas-menu__list a { font-size: 18px; letter-spacing: 2px; height: 48px; line-height: 48px; }

    .home-hero { min-height: 0; padding: calc(var(--ticker-h) + var(--header-h) + 40px) 20px 60px; }
    .home-hero__inner { flex-direction: column; }
    .home-hero__text h1 { font-size: 42px; line-height: 48px; }
    .home-hero__form { width: 100%; }

    .services-section { padding: 50px 5% 60px; }
    .services-head { max-width: 100%; padding: 0; }
    .services-head h2 { font-size: 40px; line-height: 44px; }
    .service-tiles { grid-template-columns: 1fr; gap: 0; }
    .sk-service-grid { min-height: 300px; }
    .sk-service-name { font-size: 35px; line-height: 38px; }

    .features-section--overlap { margin-top: 0; margin-bottom: 0; background-color: var(--navy); }
    .features-section--overlap .features-section__inner, .features-section__inner { padding: 60px 5% 80px; }
    .features-head { flex-direction: column; align-items: flex-start; }
    .features-head__text { padding-right: 0; }
    .feature-carousel__slide { flex-basis: 85%; }
    .carousel-dots { display: flex; }
    .sk-sc-text, .sk-sc-cta { opacity: 1; }
    .sk-carousel-tile::before { background: linear-gradient(0deg, rgba(0,22,51,.2), rgba(0,22,51,.4) 40%, rgba(0,22,51,1) 90%); }

    .center-slider__slide img { height: 400px; }
    .slider-arrow { top: -60px; }
    .slider-arrow--prev { right: auto; left: calc(50% - 55px); }
    .slider-arrow--next { right: auto; left: calc(50% + 5px); }
    .gallery-section h2 { margin-bottom: 90px; }
    .amenity-tile--text,
    .amenity-tile--photo {
        flex: 0 0 100%;
        width: 100%;
    }

    .amenity-tile--photo {
        min-height: 250px;
    }

    .amenity-tile__inner {
        padding: 5%;
    }

    .instant-quote h6, .enquire-section__inner { max-width: 100%; }
    .site-footer__col { flex-basis: 100%; border-left: 0 !important; border-right: 0 !important; border-top: 0; }
    .site-footer__inner { align-items: center; text-align: center; min-height: 0; padding-top: 10px; }
    .site-footer__copy { text-align: center; }
}
@media (max-width: 767px) {
    body.page-home .mobile-quote-button {
        display: block; position: fixed; bottom: 25px; left: 15px; right: 15px; z-index: 9999;
        background-color: var(--tan); color: #fff; text-align: center; padding: 15px; border-radius: 50px;
        font-size: 16px; font-weight: bold; box-shadow: 0 4px 6px rgba(0,0,0,.1);
        opacity: 0; transform: translateY(20px); animation: slideUpFadeIn .5s ease-out 6s forwards;
    }
    body.page-home .wa-chat { bottom: 95px; }
    .wa-chat__panel { width: calc(100vw - 40px); }
    .home-hero__text h1 { font-size: 36px; line-height: 42px; }
    .swift-form .row > .col-6 { width: 100%; }
}
@keyframes slideUpFadeIn { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    [data-anim] { opacity: 1 !important; }
    .ticker__track, .text-marquee__track { animation: none !important; }
}

/* ---- Fine-tuning measured against the live page (desktop) ---- */
@media (min-width: 1001px) {
    .services-section .testimonial-video-section { margin-top: 35px; }
    .services-head { margin-top: 60px; }
    .service-tiles { margin: 70px -8px 0; column-gap: 30px; row-gap: 35px; }
    .service-tiles__col .sk-service-tile + .sk-service-tile { margin-top: 20px; }
    .gallery-section h2 { margin-top: 30px; }
    .center-slider__viewport { padding-bottom: 35px; }
    .gallery-section { padding-bottom: 65px; }
    .slider-arrow { top: -75px; }
    .features-head { margin-top: 0; }
    .feature-carousel { margin-top: 35px; }
}
/* Enquire form: live layout = 3 fields in one row, placeholders instead of labels, no step circles */
.enquire-section .swift-form { max-width: 754px; }
.enquire-section .form-steps { display: none; }
.enquire-section .field label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.enquire-section .form-step[data-step="1"] .enq-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.enquire-section .form-step[data-step="1"] .enq-row .field { margin-bottom: 10px; }
.enquire-section__logo { width: 262px; margin-top: 69px; margin-bottom: 35px; }
@media (max-width: 767px) { .enquire-section .form-step[data-step="1"] .enq-row { grid-template-columns: 1fr; gap: 0; } }

/* Mobile: live site lists tiles as Airport, Corporate, Wedding, General, Private Jet, Concierge, Coach */
@media (max-width: 1000px) {
    .service-tiles { display: flex; flex-direction: column; }
    .service-tiles__col { display: contents; }
}

/* =====================================================================
   SERVICE PAGE SECTIONS (first used on Airport Transfers; values measured from live)
   ===================================================================== */
[data-anim="fadeInUpBig"].is-animated { animation-name: fadeInUpBig; }
[data-anim="fadeInLeft"].is-animated  { animation-name: fadeInLeft; }
[data-anim="fadeInRight"].is-animated { animation-name: fadeInRight; }
@keyframes fadeInUpBig { from { opacity: 0; transform: translate3d(0, 2000px, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInLeft  { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }

/* Hero: photo, heading left (vertically centred), form card right */
.page-hero { position: relative; padding: 164px 45px 205px; background: var(--navy) var(--hero-bg) center / cover no-repeat; }
.page-hero__inner { display: flex; align-items: stretch; max-width: 1350px; margin: 0 auto; }
.page-hero__text, .page-hero__form { flex: 0 0 50%; min-width: 0; }
.page-hero__text { display: flex; flex-direction: column; justify-content: center; text-align: center; color: #fff; }
.page-hero__text h6 { font-size: 15px; line-height: 29px; color: #fff; }
.page-hero__text h1 { font-size: 65px; line-height: 70px; color: #fff; margin-bottom: 10px; }
.page-hero .swift-form__title { font-family: var(--font-head); font-size: 45px; line-height: 40px; color: var(--navy); text-align: center; margin-bottom: 30px; }

/* Benefit tiles ("showcase tiles") */
.showcase-row { position: relative; z-index: 2; display: flex; gap: 5px; margin-top: -150px; padding: 0 calc(5% - 10px); }
.sk-showcase-tile { position: relative; flex: 1 1 0; overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; }
.sk-showcase-tile::before {
    content: ""; position: absolute; inset: 0; z-index: 1; transition: .6s ease;
    background: linear-gradient(0deg, rgba(0,22,51,0) 75%, rgba(0,22,51,.6) 85%, rgba(0,22,51,1) 97%);
}
.sk-showcase-tile:hover::before {
    background: linear-gradient(0deg, rgba(0,22,51,.7), rgba(0,22,51,.9) 40%, rgba(0,22,51,1) 90%);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.sk-service-showcase { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center;  padding: 40px 5%; text-align: center; }
.sk-service-showcase h5 { font-size: 12px; font-weight: 700; letter-spacing: 2px; line-height: 10px; margin-bottom: 10px; color: #fff; }
.sk-service-showcase h4 { font-size: 32px; line-height: 35px; margin-bottom: 10px; color: #fff; transition: color .6s ease; }
.sk-service-showcase h6 { padding: 30px; font-size: 13px; line-height: 25px; letter-spacing: 1px; font-weight: 700; margin: 0 auto; color: #fff; opacity: 0; transition: opacity .5s ease-in-out; }
.sk-showcase-tile:hover h4 { color: var(--tan); }
.sk-showcase-tile:hover h6 { opacity: 1; }

/* Review + intro + first video (slides up behind the tiles) */
.airport-story { position: relative; z-index: 1;  background: #fff var(--story-bg) center / cover no-repeat; padding: 50px 0;}
.airport-story .testimonial-video-section { margin-top: 35px; }
.airport-intro { margin-top: 60px; padding: 0 5%; }
.airport-intro h2, .airport-intro h6 { max-width: 50%; margin-left: auto; margin-right: auto; text-align: center; }
.airport-intro h2 { font-size: 55px; line-height: 55px; color: var(--navy); margin-bottom: 30px; }
.airport-intro h6 { font-size: 15px; line-height: 29px; color: var(--grey-text); margin-bottom: 10px; }
.airport-blocks { background: #fff; padding-bottom: 100px; }

/* Half-screen video / photo blocks */
.video-block { display: flex; align-items: stretch; }
.video-block--media-right .video-block__media { order: 2; }
.video-block__media, .video-block__text { flex: 0 0 50%; min-width: 0; padding-top: 35px; }
.video-block__text { display: flex; align-items: center;  justify-content: center;}
.sk-service-details { width: 66.666%;  }
.sk-service-details h3 { font-size: 45px; line-height: 40px; color: var(--navy); margin-bottom: 30px; padding-right: 10%; }
.sk-service-details h6 { font-size: 15px; line-height: 29px; color: var(--grey-text); margin-bottom: 30px; }
.video-block__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-pill--outline-dark { background: transparent; border: 2px solid var(--tan); color: var(--navy); font-size: 13px; border-radius: 26px; }
.btn-pill--outline-dark:hover { background: var(--tan); color: #fff; }
.video-block--stress .video-block__media { padding-top: 0; margin-top: 50px; }
.video-block__photo { height: 600px; background-image: var(--photo-d); background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Column video player (live: .column-video-section) */
.column-video-section { width: 100%; margin: 0 0 35px; }
.cv-video { position: relative; width: 100%; aspect-ratio: 9 / 16; max-height: 700px; overflow: hidden; background: transparent; }
.cv-backdrop { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: top center; filter: blur(18px) saturate(105%) brightness(95%); transform: scale(1.08); pointer-events: none; }
.cv-iframe-wrap { position: absolute; inset: 0; z-index: 1; }
.cv-iframe-wrap iframe { width: 100%; height: 100%; border: 0; display: block; pointer-events: none; }
.cv-cover { position: absolute; inset: 0; z-index: 2; padding: 0; margin: 0; background: transparent; border: 0; cursor: pointer; }
.cv-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; pointer-events: none; }
.cv-video.is-playing .cv-cover { opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.cv-toggle {
    position: absolute; left: 50%; top: 50%; z-index: 4; transform: translate(-50%, -50%);
    width: 120px; height: 60px; border-radius: 9999px; border: 1px solid #fff; background: rgba(206,169,134,.5);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; display: grid; place-items: center; cursor: pointer;
    transition: transform .18s ease, background .18s ease, opacity .2s ease;
}
.cv-toggle:hover { transform: translate(-50%, -50%) scale(1.06); background: var(--tan); }
.cv-icon { display: none; }
.cv-video.is-paused .cv-icon-play, .cv-video.is-playing .cv-icon-pause { display: block; }
.cv-video.is-playing .cv-toggle { opacity: 0; pointer-events: none; }
.cv-video.is-playing:hover .cv-toggle, .cv-video.is-playing:focus-within .cv-toggle { opacity: 1; pointer-events: auto; }
.cv-hint { position: absolute; left: 50%; bottom: 20px; z-index: 4; transform: translateX(-50%); color: #fff; font-size: 14px; pointer-events: none; }

/* Gallery: white variant (wave of the next section slides up behind the photos) */
.gallery-section--light { background: #fff; padding-top: 0; position: static; z-index: auto; }
.gallery-section--light .center-slider { z-index: 3; }
.slider-arrow { box-shadow: rgba(0,0,0,.03) 0 0 0 1px inset, rgba(0,0,0,.07) 0 4px 3px -2px inset; }
.media-stack { display: none; }
.amenities-wrap--airport { position: relative; z-index: 2; margin-top: -30px; padding-bottom: 35px; background: var(--navy); }

@media (min-width: 1001px) { .gallery-section--light { padding-bottom: 0; } }
@media (max-width: 1000px) {
    .page-hero { padding: calc(var(--ticker-h) + var(--header-h) + 40px) 20px 60px; }
    .page-hero__inner { flex-direction: column; gap: 30px; }
    .page-hero__text h1 { font-size: 42px; line-height: 48px; }
    .page-hero .swift-form__title { font-size: 32px; line-height: 34px; }

    .showcase-row { flex-direction: column; margin-top: 0; padding: 0; gap: 0; }
    .sk-showcase-tile { flex: 0 0 auto; }
    .sk-service-showcase { justify-content: center; }
    .sk-service-showcase h6 { opacity: 1; }
    .sk-showcase-tile h4 { color: var(--tan); }
    .sk-showcase-tile::before, .sk-showcase-tile:hover::before { background: rgba(0,22,51,.8); backdrop-filter: none; }

    .airport-story { margin-top: 0;padding-top: 0; }
    .airport-story .testimonial-video-section { margin-top: 0; }
    .airport-intro h2, .airport-intro h6 { max-width: 100%; }
    .airport-intro h2 { font-size: 36px; line-height: 40px; }

    .video-block { flex-direction: column; }
    .video-block--media-right .video-block__media { order: 0; }
    .video-block__media, .video-block__text { flex-basis: auto; }
    .cv-video { width: 92%; margin: 0 auto; max-height: none; }
    .sk-service-details { width: 100%; margin: 0; padding: 0 8%; text-align: center; margin-top: 40px; }
    .sk-service-details h3 { padding-right: 0; font-size: 36px; line-height: 38px; }
    .video-block__buttons { flex-direction: column; align-items: center; }
    .video-block--stress .video-block__media { display: none; }
    .airport-blocks { padding-bottom: 60px; }

    .media-stack.mobile-only { display: flex !important; flex-direction: column; gap: 5px; }
    .media-stack img { width: 100%; height: auto; display: block; }
    .gallery-section--light h2 { margin-bottom: 30px; }
    .features-section--under-gallery { margin-top: 0; }
    .amenities-wrap--airport { margin-top: 0; padding-bottom: 0; }
}

/* ---- Quote form card spacing, measured from the live WPForms layout ---- */
.window-booking .form-steps { margin-bottom: 15px; }
.window-booking .field { margin: 0; padding-top: 5px; padding-bottom: 5px; }            /* homepage card: 5px */
.page-hero .window-booking .field { padding-top: 15px; padding-bottom: 15px; }           /* service page card: 15px */
.window-booking .field__note { margin-top: 5px; font-size: 14px; line-height: 17px; }
.window-booking .js-next-step, .window-booking .form-step .d-flex { margin: 5px 0; }
.page-hero .window-booking .js-next-step, .page-hero .window-booking .form-step .d-flex { margin: 15px 0; }
.swift-form .row { --bs-gutter-y: 0; }
.window-booking .swift-form { margin-bottom: 24px; }
.home-hero .window-booking .swift-form { margin-top: 24px; }
.home-hero .window-booking .form-step .row { padding: 5px 0; }

/* ---- Gallery (white) and features gaps, measured from live ---- */
@media (min-width: 1001px) {
    .gallery-section--light { padding-top: 70px; padding-bottom: 35px; }
    .gallery-section--light h2 { margin-top: 0; }
    .features-head { margin-top: 35px; }
}


/* ======================================================================
   GATWICK / LANDING PAGES (.slt-lhr-*) — the live page's own stylesheet, unchanged.
   ====================================================================== */

/* ============================================================ tokens */
.slt-lhr-section{
--slt-navy:#001633;
--slt-ink:#242a3a;
--slt-gold:#CEA986;
--slt-grey:#86888A;
--slt-body:#6b6b6b;
--slt-cream:#f6f2ec;
--slt-white:#ffffff;
--slt-offwhite:#FAFAFA;
--slt-border:#EEEEEE;
--slt-gold-soft:rgba(206,169,134,.15);
--slt-gold-line:rgba(206,169,134,.28);
--slt-on-dark:rgba(255,255,255,.86);
--slt-on-dark-soft:rgba(255,255,255,.70);
--slt-display:"minerva-modern",sans-serif;
--slt-text:'Trade Gothic LT Regular',"Noto Sans",sans-serif;
--slt-radius:16px;
--slt-radius-sm:10px;
--slt-shadow-strong:0 24px 60px rgba(0,0,0,.28);
--slt-gutter:clamp(20px,4vw,40px);
position:relative;
width:100vw;
max-width:100vw;
margin-left:calc(50% - 50vw);
margin-right:calc(50% - 50vw);
margin-top:0;
margin-bottom:0;
padding-top:clamp(36px,4vw,50px);
padding-bottom:clamp(36px,4vw,50px);
background-position:center;
background-size:cover;
background-repeat:no-repeat;
font-family:var(--slt-text);
color:var(--slt-body);
}
.slt-lhr-section,.slt-lhr-section *{box-sizing:border-box;}
body.slt-lhr-page #Content{overflow-x:clip;}

/* -----------------------------------------------------------------------
 * List reset.
 * Betheme styles editor lists via ".the_content_wrapper ul" (0,1,1) and
 * ".the_content_wrapper ul li" (0,1,2), which add a 30px left margin, a 15px
 * bottom margin, disc markers and a 10px bottom margin per row — all of which
 * out-specify a plain .slt-lhr-list rule. Prefixing with the page's body class
 * lifts these to (0,2,1)/(0,2,2) so they win on specificity alone, with no
 * !important and no effect on any other page.
 * -------------------------------------------------------------------- */
body.slt-lhr-page .slt-lhr-section ul,
body.slt-lhr-page .slt-lhr-section ol,
body.slt-lhr-page .slt-lhr-section dl{margin:0;padding:0;list-style:none;}
body.slt-lhr-page .slt-lhr-section li,
body.slt-lhr-page .slt-lhr-section dd,
body.slt-lhr-page .slt-lhr-section dt{margin:0;padding:0;list-style:none;text-indent:0;}
body.slt-lhr-page .slt-lhr-section li::marker{content:"";}
body.slt-lhr-page .slt-lhr-section li::before{content:none;}
/* Author-entered lists inside FAQ answers keep normal list formatting. */
body.slt-lhr-page .slt-lhr-faq__a ul{list-style:disc outside;margin:0 0 12px 22px;}
body.slt-lhr-page .slt-lhr-faq__a ol{list-style:decimal outside;margin:0 0 12px 22px;}
body.slt-lhr-page .slt-lhr-faq__a li{margin:0 0 6px;list-style:inherit;}
body.slt-lhr-page .slt-lhr-faq__a li::marker{content:initial;}

/* -----------------------------------------------------------------------
 * Entrance animations — Betheme .animate engine.
 *
 * Betheme's own animations.min.css already pre-hides .animate[data-anim-type]
 * with opacity:0, which avoids any flash of unstyled content but also means
 * the content never appears if scripting is unavailable. The head script adds
 * .slt-lhr-anim to <html> before first paint, so the rule below reveals every
 * animated element whenever that flag is absent — i.e. JavaScript is off or
 * failed — while leaving the animation intact when it is present.
 * -------------------------------------------------------------------- */
html:not(.slt-lhr-anim) .slt-lhr-section .animate[data-anim-type]{opacity:1!important;animation:none!important;transform:none!important;}
.slt-lhr-section .animate[data-anim-type]{animation-duration:.65s;animation-timing-function:cubic-bezier(.22,.61,.36,1);}
/* Restrained travel: Betheme's stock keyframes move 200px, which is far too
   far for this page, so the distance is re-declared locally. */
.slt-lhr-section .animate.fadeInUp{animation-name:sltLhrUp;}
.slt-lhr-section .animate.fadeInLeft{animation-name:sltLhrLeft;}
.slt-lhr-section .animate.fadeInRight{animation-name:sltLhrRight;}
.slt-lhr-section .animate.fadeIn{animation-name:sltLhrIn;}
@keyframes sltLhrUp{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
@keyframes sltLhrLeft{from{opacity:0;transform:translate3d(-24px,0,0)}to{opacity:1;transform:none}}
@keyframes sltLhrRight{from{opacity:0;transform:translate3d(24px,0,0)}to{opacity:1;transform:none}}
@keyframes sltLhrIn{from{opacity:0}to{opacity:1}}

/* ---------------------------------------------------- section skins */
.slt-lhr-section--light{background-color:var(--slt-white);}
.slt-lhr-section--cream{background-color:var(--slt-cream);}
.slt-lhr-section--navy{background-color:var(--slt-navy);}
.slt-lhr-section--dark{background-color:var(--slt-navy);}

/* -------------------------------------------------------- container */
.slt-lhr-container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:var(--slt-gutter);padding-right:var(--slt-gutter);}
.slt-lhr-container--narrow{max-width:980px;}

/* ------------------------------------------------------- typography */
.slt-lhr-eyebrow{margin:0 0 14px;color:var(--slt-gold);font-size:13px;font-weight:700;letter-spacing:2px;line-height:1.4;text-transform:uppercase;}
.slt-lhr-title{margin:0 0 16px;font-family:var(--slt-display);font-weight:400;font-style:normal;color:var(--slt-navy);font-size:clamp(28px,3.4vw,42px);line-height:1.15;letter-spacing:0;}
.slt-lhr-section--navy .slt-lhr-title,.slt-lhr-section--dark .slt-lhr-title{color:var(--slt-white);}
.slt-lhr-lede{margin:0;color:var(--slt-body);font-size:16px;line-height:1.75;}
.slt-lhr-lede p{margin:0 0 14px;}
.slt-lhr-lede p:last-child{margin-bottom:0;}
.slt-lhr-section--navy .slt-lhr-lede,.slt-lhr-section--dark .slt-lhr-lede{color:var(--slt-on-dark);}
.slt-lhr-head{margin-bottom:clamp(30px,4vw,52px);}
.slt-lhr-head--center{text-align:center;max-width:820px;margin-left:auto;margin-right:auto;}
.slt-lhr-head--start{text-align:left;}

/* -----------------------------------------------------------------------
 * CTAs — geometry (font, padding, min-width, pill shape) is inherited from
 * the site's global vc_btn3 CTA classes; these rules only apply the existing
 * brand colours. Selectors are deliberately specific enough to beat the
 * js_composer defaults for .vc_btn3.vc_btn3-style-custom.
 * -------------------------------------------------------------------- */
.slt-lhr-section a.slt-lhr-btn{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:background-color .3s ease,color .3s ease,border-color .3s ease;}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--primary{background-color:var(--slt-gold);background-image:none;border:1px solid var(--slt-gold);color:var(--slt-white);}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--primary:hover,.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--primary:focus{background-color:var(--slt-navy);border-color:var(--slt-navy);color:var(--slt-white);}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline{background-color:transparent;background-image:none;border:1px solid var(--slt-gold);}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline-light{color:var(--slt-white);}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline-dark{color:var(--slt-navy);}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline:hover,.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline:focus{background-color:var(--slt-gold);border-color:var(--slt-gold);color:var(--slt-white);}
.slt-lhr-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.slt-lhr-actions--center{justify-content:center;}
.slt-lhr-actions--start{justify-content:flex-start;}
.slt-lhr-actions--tight{margin-top:4px;}
/* Visible keyboard focus. The body-class prefix plus !important is needed to
   beat both the builder's "outline:none" resets and Betheme's
   "body.keyboard-support button:focus{outline:auto!important}" (0,2,2). */
body.slt-lhr-page .slt-lhr-section a:focus-visible,
body.slt-lhr-page .slt-lhr-section a.slt-lhr-btn:focus-visible,
body.slt-lhr-page .slt-lhr-section summary:focus-visible,
body.slt-lhr-page .slt-lhr-section button:focus-visible,
body.slt-lhr-page .slt-lhr-section input:focus-visible{outline:2px solid var(--slt-gold)!important;outline-offset:3px!important;}
.slt-lhr-section--navy a:focus-visible,
.slt-lhr-section--dark a:focus-visible,
.slt-lhr-section--dark a.slt-lhr-btn:focus-visible{outline-color:var(--slt-white)!important;}

/* -----------------------------------------------------------------------
 * Shared card bits.
 * Section-level drop shadows have been removed; tiles rely on their
 * background/border for separation instead.
 * -------------------------------------------------------------------- */
/* Base card surface only. Padding is deliberately NOT set here: the cards in
   different grids need different treatments (How It Works is padded, a Fleet
   card is edge-to-edge around its image), so each grid owns its own padding
   rule below rather than fighting a shared one. */
.slt-lhr-card{background:var(--slt-white);border:1px solid var(--slt-border);border-radius:var(--slt-radius);}
.slt-lhr-section--cream .slt-lhr-card{border-color:var(--slt-gold-line);}
/* Cards that are padded as a whole: Good to Know notes and Why Heathrow
   benefits. Prefixed with body.slt-lhr-page for parity with the grids below. */
body.slt-lhr-page .slt-lhr-benefit,
body.slt-lhr-page .slt-lhr-note{padding:clamp(22px,2.4vw,32px);}
.slt-lhr-card__title{margin:0 0 18px;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(20px,2vw,26px);line-height:1.25;}
.slt-lhr-icon-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:56px;height:56px;margin-bottom:18px;border-radius:50%;background:var(--slt-gold-soft);color:var(--slt-gold);font-size:22px;line-height:1;}
.slt-lhr-icon-chip--sm{width:48px;height:48px;font-size:19px;}
.slt-lhr-icon-chip--onDark{background:rgba(206,169,134,.18);}
.slt-lhr-icon-chip i{line-height:1;}
.slt-lhr-media{border-radius:var(--slt-radius);overflow:hidden;background:var(--slt-navy);}
.slt-lhr-media img{display:block;width:100%;height:100%;object-fit:cover;}

/* -----------------------------------------------------------------------
 * Icon check list.
 * Two-column grid row: the icon sits in its own track so multi-line text
 * stays flush beside it, and a small text offset optically centres the first
 * line against the icon rather than letting the icon drift mid-block.
 * -------------------------------------------------------------------- */
.slt-lhr-list{display:grid;gap:12px;}
.slt-lhr-list--plain{gap:14px;}
.slt-lhr-list--two{grid-template-columns:repeat(2,minmax(0,1fr));}
/* The li rules below carry the page's body class because the list reset above
   is itself (0,2,2) and would otherwise strip this padding back off. */
body.slt-lhr-page .slt-lhr-section .slt-lhr-list__item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;}

body.slt-lhr-page .slt-lhr-section .slt-lhr-list--tiles .slt-lhr-list__item{padding:15px 18px;background:var(--slt-offwhite);border:1px solid var(--slt-gold-line);border-radius:var(--slt-radius-sm);}
.slt-lhr-list__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--slt-gold-soft);color:var(--slt-gold);font-size:14px;line-height:1;}
.slt-lhr-list__text{padding-top:4px;font-size:15px;line-height:1.55;color:var(--slt-ink);}
.slt-lhr-list--plain .slt-lhr-list__text{color:var(--slt-body);}
.slt-lhr-section--navy .slt-lhr-list__text,.slt-lhr-section--dark .slt-lhr-list__text{color:var(--slt-on-dark);}
.slt-lhr-section--navy .slt-lhr-list--tiles .slt-lhr-list__item,.slt-lhr-section--dark .slt-lhr-list--tiles .slt-lhr-list__item{background:rgba(255,255,255,.05);}

/* Bare-icon rows (fleet features, terminal details) use the same rhythm. */
body.slt-lhr-page .slt-lhr-section .slt-lhr-iconrow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;}
.slt-lhr-iconrow i{width:16px;padding-top:4px;text-align:center;color:var(--slt-gold);font-size:13px;line-height:1.35;}

/* =============================================================== 1. hero */
.slt-lhr-hero{padding-top:clamp(150px,15vw,200px);padding-bottom:clamp(60px,8vw,116px);background-image:linear-gradient(100deg,rgba(0,22,51,.90) 0%,rgba(0,22,51,.72) 45%,rgba(0,22,51,.38) 100%),var(--slt-lhr-bg,none);}
/* Equal-height hero columns: both stretch, and each centres its own content. */
.slt-lhr-hero__grid{display:grid;grid-template-columns:minmax(0,55fr) minmax(340px,45fr);gap:clamp(28px,4vw,64px);align-items:stretch;}
.slt-lhr-hero--widget-left .slt-lhr-hero__grid{grid-template-columns:minmax(340px,45fr) minmax(0,55fr);}
.slt-lhr-hero--widget-left .slt-lhr-hero__copy{order:2;}
.slt-lhr-hero--widget-left .slt-lhr-hero__widget{order:1;}
.slt-lhr-hero__copy{display:flex;flex-direction:column;justify-content:center;}
.slt-lhr-hero__title{margin:0 0 18px;font-family:var(--slt-display);font-weight:400;font-style:normal;color:var(--slt-white);line-height:1.08;letter-spacing:0;}
/* Single source of truth for the hero h1 size at every breakpoint. Betheme
   ships responsive h1 rules (65px, dropping to 50px) at (0,0,1) specificity;
   this outranks them without !important and there is deliberately no
   breakpoint-specific override of it anywhere below. */
body.slt-lhr-page .slt-lhr-hero .slt-lhr-hero__title{font-size:clamp(40px,5vw,60px);}
.slt-lhr-hero__lede{max-width:56ch;margin:0 0 26px;color:var(--slt-on-dark);font-size:clamp(15px,1.1vw,17px);line-height:1.7;}
/* Trust signals read as supporting information, so the two columns are sized
   to their own content instead of to half the copy column each — no stretched
   rows and no dead space after the shorter labels. minmax(0,max-content) lets
   a track shrink below its content when the copy column is narrow, so a long
   label wraps instead of pushing the hero into horizontal overflow. The
   longhand gaps override the 14px shorthand .slt-lhr-list--plain sets above. */
.slt-lhr-hero__trust{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:start;column-gap:26px;row-gap:14px;margin-bottom:6px;}
.slt-lhr-hero__trust .slt-lhr-list__text{font-size:14.5px;}
/* Icon + label only — no pill border, background or padding, so the trust
   signals cannot be mistaken for the CTAs directly beneath them. Deliberately
   NOT hung off the shared body.slt-lhr-page .slt-lhr-section .slt-lhr-list__item
   rule, which must keep governing the list items in every other section. The
   extra .slt-lhr-hero__trust class puts this at (0,4,1) so it wins on
   specificity rather than on source order. */
body.slt-lhr-page .slt-lhr-hero .slt-lhr-hero__trust .slt-lhr-list__item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;max-width:100%;margin:0;padding:0;border:0;}
/* The shared 4px nudge exists to optically centre text against a 32px icon in
   a top-aligned row; these rows are centred instead, so it is removed. The
   negative bottom margin trims the half-leading below the single line of text
   so it reads as level with the middle of the icon rather than sitting low. */
body.slt-lhr-page .slt-lhr-hero .slt-lhr-hero__trust .slt-lhr-list__text{padding-top:0;margin-bottom:-5px;}
/* The hero form keeps a contained card treatment (explicit brief exception)
   and fills the column height without stretching the fields themselves. */
.slt-lhr-hero__widget{display:flex;flex-direction:column;justify-content:center;background:var(--slt-white);border-radius:20px;padding:clamp(22px,2.2vw,34px) clamp(18px,2vw,28px);box-shadow:var(--slt-shadow-strong);}
.slt-lhr-hero__widget-title{margin:0 0 18px;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(21px,1.9vw,27px);line-height:1.25;text-align:center;}
.slt-lhr-hero__widget-note{margin:16px 0 0;color:var(--slt-grey);font-size:12.5px;line-height:1.5;text-align:center;}
.slt-lhr-hero__widget-embed{min-height:60px;}

/* -----------------------------------------------------------------------
 * WPForms "Booking Enquiry" (form 2126) inside the hero card.
 *
 * Themed through the CSS custom properties WPForms Modern exposes on
 * .wpforms-container rather than by overriding its selectors, so the form
 * keeps all of its own markup, validation and behaviour and no !important is
 * needed. Every value below is an existing site colour.
 * -------------------------------------------------------------------- */
.slt-lhr-hero__widget-embed .wpforms-container{
margin:0;
/* Only the colour/shape variables are settable from here: WPForms emits its
   "-size-" variables per form at ID specificity, so field and button sizing
   stays exactly as the Booking Enquiry form is configured — matching how the
   same form renders on /swift-london/ and /get-an-instant-quote/. */
--wpforms-field-border-radius:8px;
--wpforms-field-border-size:1px;
--wpforms-field-border-color:#EEEEEE;
--wpforms-field-border-color-spare:#EEEEEE;
--wpforms-field-background-color:#FAFAFA;
--wpforms-field-text-color:#242a3a;
--wpforms-field-menu-color:#ffffff;
--wpforms-label-color:#001633;
--wpforms-label-sublabel-color:#86888A;
--wpforms-button-background-color:#CEA986;
--wpforms-button-border-color:#CEA986;
--wpforms-button-text-color:#ffffff;
--wpforms-button-border-radius:100px;
--wpforms-page-break-color:#CEA986;
--wpforms-container-padding:0px;
--wpforms-container-border-style:none;
--wpforms-container-shadow-size-box-shadow:none;
}
/* Typography and layout the variables do not cover. */
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-field{padding:7px 0;}
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-field-label{font-family:var(--slt-text);font-weight:600;}
.slt-lhr-hero__widget-embed .wpforms-form input,
.slt-lhr-hero__widget-embed .wpforms-form select,
.slt-lhr-hero__widget-embed .wpforms-form textarea,
.slt-lhr-hero__widget-embed .wpforms-form .choices__inner{font-family:var(--slt-text);}
.slt-lhr-hero__widget-embed .wpforms-form button[type=submit],
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-page-button{width:100%;height:48px;font-family:var(--slt-text);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.slt-lhr-hero__widget-embed .wpforms-form button[type=submit]:hover,
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-page-button:hover{background-color:var(--slt-navy);border-color:var(--slt-navy);}
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-submit-container,
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-field-pagebreak{padding-top:4px;}
/* The page-break group is inline-flex by default, so a 100%-width button only
   fills its shrink-to-fit width. */
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-page-button-group{display:flex;width:100%;gap:10px;}
/* Step counter hidden — hidden, not removed. WPForms decides a form is
   multi-page with .find('.wpforms-page-indicator').length and reads
   data-scroll / data-allow-page-navigation off the same element, so it must
   stay in the DOM for Next/Back and per-page validation to keep working;
   display:none also collapses the space it occupied. The top page-break field
   renders as an empty <div class="wpforms-field wpforms-field-pagebreak">,
   which would otherwise leave the field padding below as a blank gap between
   the card heading and Journey Type; :empty matches only that marker, never
   the divider that carries the Next button. The body-class prefix is needed
   because WPForms sets display:flex on .wpforms-container
   .wpforms-page-indicator.circles at (0,3,0). */
body.slt-lhr-page .slt-lhr-hero__widget-embed .wpforms-form .wpforms-page-indicator,
body.slt-lhr-page .slt-lhr-hero__widget-embed .wpforms-form .wpforms-field-pagebreak:empty{display:none;}
/* Focus rings inside the white form card must be gold, not the white ring the
   dark-section rule would otherwise give them, and the Choices.js wrapper for
   the Journey Type select is a focusable div that ships with none at all. */
body.slt-lhr-page .slt-lhr-hero__widget-embed button:focus-visible,
body.slt-lhr-page .slt-lhr-hero__widget-embed input:focus-visible,
body.slt-lhr-page .slt-lhr-hero__widget-embed select:focus-visible,
body.slt-lhr-page .slt-lhr-hero__widget-embed textarea:focus-visible,
body.slt-lhr-page .slt-lhr-hero__widget-embed .choices:focus-visible,
body.slt-lhr-page .slt-lhr-hero__widget-embed .choices.is-focused .choices__inner{outline:2px solid var(--slt-gold)!important;outline-offset:2px!important;}
/* WPForms forces a white 3px outline and a transparent box-shadow on its
   buttons from per-form rules carrying an id selector, which no class-level
   rule can outrank — and white is invisible on the white card. A pseudo
   element draws the ring instead, so nothing in the cascade can suppress it. */
body.slt-lhr-page .slt-lhr-hero__widget-embed .wpforms-page-button,
body.slt-lhr-page .slt-lhr-hero__widget-embed button[type=submit]{position:relative;}
body.slt-lhr-page .slt-lhr-hero__widget-embed .wpforms-page-button:focus::after,
body.slt-lhr-page .slt-lhr-hero__widget-embed button[type=submit]:focus::after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--slt-gold);border-radius:100px;pointer-events:none;}
/* -----------------------------------------------------------------------
 * Field descriptions: reveal on focus.
 *
 * The two location fields carry a permanent "UK only" note that costs the card
 * a lot of height, so each description stays collapsed until its own field is
 * in use and then drops out from behind the input. :focus-within needs no
 * JavaScript, so there is nothing to re-bind when WPForms swaps pages, applies
 * conditional logic or re-renders the form after an AJAX submission, and it
 * reacts to real focus — pointer, touch and keyboard alike, including the
 * nested inputs of a multi-part field.
 *
 * The child combinator is essential: these two fields sit inside a Layout
 * field, which is itself a .wpforms-field, so a descendant selector would open
 * both notes whenever either input was focused.
 *
 * Only .wpforms-field-description is collapsed. WPForms renders validation
 * messages as separate label.wpforms-error / em.wpforms-error elements, which
 * are untouched, and the description keeps its place in normal flow — nothing
 * is absolutely positioned, so the fields below simply slide down and back up.
 * The animated properties are transitions of the closed state, so the note is
 * never display:none and always has something to animate from. Reduced-motion
 * users get the same reveal instantly via the global rule at the end of this
 * stylesheet. Sizing beats WPForms' own (0,2,1) rule on specificity alone.
 *
 * The open max-height is a ceiling to animate towards, not the rendered
 * height: 9em clears the tallest of these notes (four lines at 375px) with
 * room to spare, while staying close enough to the real height that the
 * closing transition does not read as delayed.
 * -------------------------------------------------------------------- */
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-field-description{
overflow:hidden;
max-height:0;
margin-top:0;
font-size:13px;
line-height:1.45;
opacity:0;
transform:translateY(-6px);
transition:max-height .3s cubic-bezier(.22,.61,.36,1),margin-top .3s cubic-bezier(.22,.61,.36,1),opacity .2s ease,transform .3s cubic-bezier(.22,.61,.36,1);
}
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-field:focus-within > .wpforms-field-description{
max-height:9em;
margin-top:8px;
opacity:1;
transform:none;
}
/* Validation text wraps inside the card instead of widening it. */
.slt-lhr-hero__widget-embed .wpforms-form .wpforms-error{margin-top:4px;font-size:11.5px;line-height:1.4;}
.slt-lhr-hero__widget-embed .wpforms-confirmation-container-full{margin:0;background:var(--slt-offwhite);border:1px solid var(--slt-gold-line);border-radius:var(--slt-radius-sm);}
.slt-lhr-hero__widget-embed img{max-width:100%;height:auto;}

/* -----------------------------------------------------------------------
 * 2. Why choose us
 * The testimonial sits over the image as a dark glass panel. The image stays
 * a real <img> (object-fit:cover) so its alt text and srcset are preserved,
 * with the quote layered above it.
 * -------------------------------------------------------------------- */
.slt-lhr-why__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:stretch;}
.slt-lhr-why__media{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,38vw,540px);padding:clamp(16px,1.6vw,24px);border-radius:var(--slt-radius);overflow:hidden;background-color:var(--slt-navy);}
.slt-lhr-why__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
/* Scrim keeps the glass panel legible over lighter photography. */
.slt-lhr-why__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,22,51,0) 45%,rgba(0,22,51,.45) 100%);}
.slt-lhr-quote{position:relative;z-index:1;width:100%;margin:0;padding:clamp(22px,2.2vw,30px) clamp(22px,2.2vw,30px) clamp(20px,2vw,26px);border-radius:var(--slt-radius-sm);background:rgba(0,22,51,.62);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);color:var(--slt-white);}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
.slt-lhr-quote{background:rgba(0,22,51,.88);}
}
/* The display face draws a curly quote as a slanted double prime, so the mark
   falls back to a book serif. It sits in flow above the quote rather than
   being absolutely positioned, which kept opening a gap above the text. */
.slt-lhr-quote__mark{display:block;margin:-6px 0 -20px;font-family:Georgia,"Times New Roman",Times,serif;font-size:46px;line-height:1;color:var(--slt-gold);opacity:.55;}
.slt-lhr-quote__text{margin:0;padding:0;border:0;}
.slt-lhr-quote__text p{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.7;color:var(--slt-white);font-style:italic;}
.slt-lhr-quote__cite{display:block;margin:14px 0 0;color:var(--slt-gold);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;}
/* At a Glance sits directly on the section — no wrapping white panel. */
.slt-lhr-why__panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2.2vw,36px) 0;background:none;border:0;}
.slt-lhr-why__panel .slt-lhr-list{gap:10px;}

/* ================================================== 3. how it works */
.slt-lhr-steps__grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(auto-fit,minmax(258px,1fr));}
.slt-lhr-step{position:relative;}
/* Step cards are padded as a whole. The body.slt-lhr-page prefix is required
   because these cards are <li> elements and the list reset near the top of
   this stylesheet zeroes li padding at (0,2,2) specificity. */
body.slt-lhr-page .slt-lhr-steps__grid .slt-lhr-step{padding:clamp(22px,2.4vw,32px);}
.slt-lhr-step__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.slt-lhr-step__head .slt-lhr-icon-chip{margin-bottom:0;}
.slt-lhr-step__num{font-family:var(--slt-display);font-size:40px;line-height:1;color:var(--slt-gold);opacity:.45;}
.slt-lhr-step__title{margin:0 0 10px;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(19px,1.8vw,23px);line-height:1.25;}
.slt-lhr-step__copy{font-size:15px;line-height:1.7;color:var(--slt-body);}
.slt-lhr-step__copy p{margin:0 0 10px;}
.slt-lhr-step__copy p:last-child{margin-bottom:0;}

/* -----------------------------------------------------------------------
 * 4. Split image + text
 * Columns stretch to equal height and the media fills its column, so the
 * image tracks however much copy the editor enters. The min-height keeps it
 * from collapsing when the text column is short; no fixed height is used.
 * -------------------------------------------------------------------- */
.slt-lhr-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4vw,60px);align-items:stretch;}
.slt-lhr-split--no-media .slt-lhr-split{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto;text-align:center;}
.slt-lhr-split--no-media .slt-lhr-list{max-width:640px;margin-left:auto;margin-right:auto;text-align:left;}
.slt-lhr-split--no-media .slt-lhr-actions{justify-content:center;}
.slt-lhr-split--media-right .slt-lhr-split__media{order:2;}
.slt-lhr-split--media-right .slt-lhr-split__body{order:1;}
.slt-lhr-split__media{display:flex;min-height:clamp(340px,32vw,480px);}
.slt-lhr-split__media .slt-lhr-media{flex:1 1 auto;width:100%;}
.slt-lhr-split__body{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-top:clamp(30px,6vw,60px);padding-bottom:clamp(30px,6vw,60px);}
.slt-lhr-split__body .slt-lhr-lede{margin-bottom:24px;}

/* ========================================== 5. airport information */
.slt-lhr-info__grid{margin:0;display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(auto-fit,minmax(206px,1fr));}
.slt-lhr-info__item{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:clamp(22px,2.4vw,30px);background:rgba(255,255,255,.05);border:1px solid var(--slt-gold-line);border-radius:var(--slt-radius);text-align:center;}
.slt-lhr-info__item .slt-lhr-icon-chip{margin-bottom:14px;}
body.slt-lhr-page .slt-lhr-section .slt-lhr-info__label{margin:0 0 10px;color:var(--slt-gold);font-family:var(--slt-text);font-size:12.5px;font-weight:700;letter-spacing:2px;line-height:1.4;text-transform:uppercase;}
body.slt-lhr-page .slt-lhr-section .slt-lhr-info__value{margin:0;font-family:var(--slt-display);font-size:clamp(22px,2.2vw,30px);line-height:1.2;color:var(--slt-white);}

/* -----------------------------------------------------------------------
 * 6. What's included
 * No wrapping white panel: the image and the checklist sit directly on the
 * section, with the image filling the height of the checklist column.
 * -------------------------------------------------------------------- */
/* Uncontained: no outer border, background, shadow, radius or panel padding.
   The media column and the item grid sit straight on the section, inside the
   normal 1400px container. Kept explicit (and repeated for the .slt-lhr-card
   combination) so re-adding that class cannot bring the white-on-white panel
   back. The individual item tiles keep their own borders. */
.slt-lhr-panel,
body.slt-lhr-page .slt-lhr-included .slt-lhr-panel,
body.slt-lhr-page .slt-lhr-included .slt-lhr-panel.slt-lhr-card,
body.slt-lhr-page .slt-lhr-included .slt-lhr-panel.slt-lhr-card.slt-lhr-panel--with-media{padding:0;background:none;border:0;border-radius:0;box-shadow:none;}
.slt-lhr-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.4vw,52px);align-items:stretch;}
.slt-lhr-panel--with-media{grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);}
.slt-lhr-panel__media{display:flex;min-height:clamp(340px,32vw,480px);}
.slt-lhr-panel__media .slt-lhr-media{flex:1 1 auto;width:100%;}
.slt-lhr-panel__body{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-top:clamp(16px,2.2vw,36px);padding-bottom:clamp(16px,2.2vw,36px);}

/* ========================================================= 7. fleet */
.slt-lhr-fleet__grid{display:grid;gap:clamp(18px,2vw,26px);grid-template-columns:repeat(auto-fit,minmax(276px,1fr));}
/* Fleet cards are edge-to-edge: the image meets the top and side edges and
   all internal spacing lives on .slt-lhr-vehicle__body instead. overflow
   clips the image to the card radius. Scoped to the grid so it cannot reach
   the padded step cards. */
body.slt-lhr-page .slt-lhr-fleet__grid .slt-lhr-vehicle{padding:0;overflow:hidden;}
.slt-lhr-vehicle{display:flex;flex-direction:column;height:100%;}
.slt-lhr-vehicle__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--slt-navy);}
.slt-lhr-vehicle__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.slt-lhr-vehicle:hover .slt-lhr-vehicle__media img{transform:scale(1.06);}
.slt-lhr-vehicle__media::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--slt-gold);}
/* Dedicated content wrapper carries the Fleet card's internal spacing. */
body.slt-lhr-page .slt-lhr-fleet__grid .slt-lhr-vehicle__body{padding:clamp(20px,2vw,26px);}
.slt-lhr-vehicle__body{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;}
.slt-lhr-vehicle__name{margin:0;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(20px,1.9vw,25px);line-height:1.2;}
.slt-lhr-vehicle__meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
body.slt-lhr-page .slt-lhr-section .slt-lhr-vehicle__meta li{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;background:var(--slt-offwhite);border:1px solid var(--slt-gold-line);border-radius:100px;font-size:13px;line-height:1.3;color:var(--slt-ink);}
.slt-lhr-vehicle__meta i{color:var(--slt-gold);font-size:14px;}
.slt-lhr-vehicle__copy{font-size:15px;line-height:1.7;color:var(--slt-body);}
.slt-lhr-vehicle__features{display:grid;gap:10px;}
.slt-lhr-vehicle__features li{font-size:14.5px;line-height:1.5;color:var(--slt-body);}
.slt-lhr-vehicle .slt-lhr-actions{margin-top:auto;padding-top:8px;}

/* ===================================================== 8. terminals */
.slt-lhr-terminals__grid{display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(auto-fit,minmax(228px,1fr));}
.slt-lhr-terminal{padding:clamp(22px,2.4vw,30px);background:rgba(255,255,255,.05);border:1px solid var(--slt-gold-line);border-radius:var(--slt-radius);}
.slt-lhr-terminal__media{margin:-1px -1px 20px;border-radius:calc(var(--slt-radius) - 1px) calc(var(--slt-radius) - 1px) 0 0;overflow:hidden;aspect-ratio:16/9;}
.slt-lhr-terminal__media img{display:block;width:100%;height:100%;object-fit:cover;}
.slt-lhr-terminal__name{margin:0 0 6px;font-family:var(--slt-display);font-weight:400;color:var(--slt-gold);font-size:clamp(24px,2.4vw,32px);line-height:1.1;}
.slt-lhr-terminal__sub{margin:0 0 18px;color:var(--slt-on-dark-soft);font-size:12.5px;letter-spacing:1.5px;line-height:1.4;text-transform:uppercase;}
.slt-lhr-terminal__details{display:grid;gap:11px;}
.slt-lhr-terminal__details li{color:var(--slt-on-dark);font-size:14.5px;line-height:1.5;}
/* Two-terminal pages (Gatwick: North & South). auto-fit would stretch the pair
   across the whole row, making each card twice the width of every other card
   on the page. The tracks are capped at the width the three-up Steps cards
   already use and the pair is centred instead. The selector matches only a
   grid whose second .slt-lhr-terminal is also its last, so the four-up
   Heathrow grid is never touched. Desktop only — the 900px and 640px rules
   below already handle tablet and mobile. */
@media (min-width:901px){
.slt-lhr-terminals__grid:has(> .slt-lhr-terminal:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,430px));justify-content:center;}
}

/* ============================================== 9. service benefits */
.slt-lhr-benefits__grid{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fit,minmax(238px,1fr));}
.slt-lhr-benefit__media{margin:-1px -1px 20px;border-radius:calc(var(--slt-radius) - 1px) calc(var(--slt-radius) - 1px) 0 0;overflow:hidden;aspect-ratio:16/9;}
.slt-lhr-benefit__media img{display:block;width:100%;height:100%;object-fit:cover;}
.slt-lhr-benefit__title{margin:0 0 10px;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(19px,1.8vw,23px);line-height:1.25;}
.slt-lhr-benefit__copy{font-size:15px;line-height:1.7;color:var(--slt-body);}
.slt-lhr-benefit__copy p{margin:0 0 10px;}
.slt-lhr-benefit__copy p:last-child{margin-bottom:0;}

/* ================================================= 10. good to know */
.slt-lhr-notes__grid{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fit,minmax(256px,1fr));}
.slt-lhr-note__label{margin:0 0 8px;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(19px,1.7vw,22px);line-height:1.25;}
.slt-lhr-note__copy{font-size:15px;line-height:1.7;color:var(--slt-body);}
.slt-lhr-note__copy p{margin:0 0 10px;}
.slt-lhr-note__copy p:last-child{margin-bottom:0;}

/* ===================================================== 11. final CTA */
.slt-lhr-cta{padding-top:clamp(44px,5vw,70px);padding-bottom:clamp(44px,5vw,70px);background-image:linear-gradient(180deg,rgba(0,22,51,.92),rgba(0,22,51,.82)),var(--slt-lhr-bg,none);}
.slt-lhr-cta__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(26px,4vw,56px);align-items:center;}
.slt-lhr-cta .slt-lhr-cta__body{max-width:760px;margin:0 auto;text-align:center;}
.slt-lhr-cta--split .slt-lhr-cta__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);}
.slt-lhr-cta--split .slt-lhr-cta__body{max-width:none;margin:0;text-align:left;}
.slt-lhr-cta__media .slt-lhr-media{aspect-ratio:4/3;}
.slt-lhr-cta .slt-lhr-title{font-size:clamp(28px,3.6vw,46px);}

/* ========================================================== 12. FAQs */
.slt-lhr-faqs{border-top:1px solid var(--slt-border);}
.slt-lhr-faq{border-bottom:1px solid var(--slt-border);}
.slt-lhr-faq__summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 2px;cursor:pointer;list-style:none;}
.slt-lhr-faq__summary::-webkit-details-marker{display:none;}
.slt-lhr-faq__summary::marker{content:"";}
.slt-lhr-faq__summary::after{content:"";position:relative;flex:0 0 14px;width:14px;height:14px;background:linear-gradient(var(--slt-gold),var(--slt-gold)) center/14px 2px no-repeat,linear-gradient(var(--slt-gold),var(--slt-gold)) center/2px 14px no-repeat;transition:transform .25s ease;}
.slt-lhr-faq[open] .slt-lhr-faq__summary::after{background:linear-gradient(var(--slt-gold),var(--slt-gold)) center/14px 2px no-repeat;transform:rotate(180deg);}
.slt-lhr-faq__q{margin:0;font-family:var(--slt-display);font-weight:400;color:var(--slt-navy);font-size:clamp(17px,1.5vw,21px);line-height:1.35;}
.slt-lhr-faq__summary:hover .slt-lhr-faq__q{color:var(--slt-gold);}
.slt-lhr-faq__a{max-width:78ch;padding:0 2px 24px;color:var(--slt-body);font-size:15px;line-height:1.75;}
.slt-lhr-faq__a p{margin:0 0 12px;}
.slt-lhr-faq__a p:last-child{margin-bottom:0;}
.slt-lhr-faq__a a{color:var(--slt-gold);}

/* ======================================================= responsive */
@media (max-width:1100px){
.slt-lhr-hero__grid,.slt-lhr-hero--widget-left .slt-lhr-hero__grid{grid-template-columns:minmax(0,1fr);}
.slt-lhr-hero--widget-left .slt-lhr-hero__copy,.slt-lhr-hero--widget-left .slt-lhr-hero__widget{order:0;}
.slt-lhr-hero__widget{max-width:560px;width:100%;}
.slt-lhr-hero__lede{max-width:none;}
.slt-lhr-panel--with-media{grid-template-columns:minmax(0,1fr);}
/* Stacked columns get their spacing from the grid gap, not column padding. */
.slt-lhr-panel__body{padding-top:0;padding-bottom:0;}
.slt-lhr-panel__media{max-width:460px;min-height:0;}
.slt-lhr-panel__media .slt-lhr-media{aspect-ratio:16/10;}
}
@media (max-width:900px){
/* Serve the smaller background file to phones and tablets. */
.slt-lhr-cta{background-image:linear-gradient(180deg,rgba(0,22,51,.92),rgba(0,22,51,.82)),var(--slt-lhr-bg-sm,var(--slt-lhr-bg,none));}
.slt-lhr-why__grid,.slt-lhr-split,.slt-lhr-cta--split .slt-lhr-cta__inner{grid-template-columns:minmax(0,1fr);}
/* Even 2x2 blocks instead of a 3+1 orphan row on tablets. */
.slt-lhr-info__grid,.slt-lhr-terminals__grid,.slt-lhr-benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.slt-lhr-split--media-right .slt-lhr-split__media,.slt-lhr-split--media-right .slt-lhr-split__body{order:0;}
/* Stacked: the media reverts to an aspect ratio rather than matching a much
   taller text column. */
.slt-lhr-split__media{min-height:0;}
.slt-lhr-split__media .slt-lhr-media{aspect-ratio:16/10;}
/* Stacked: the body's own padding is the gap, so the grid does not add a
   second one on top of it. */
.slt-lhr-split{row-gap:0;}
/* .slt-lhr-split__body keeps its clamp(30px,6vw,60px) here too — it is the
   only vertical spacing between the stacked image and the copy. The section's
   own padding still separates the block from its neighbours. */
.slt-lhr-why__panel{padding-top:0;padding-bottom:0;}
.slt-lhr-why__media{min-height:clamp(340px,58vw,440px);}
.slt-lhr-cta--split .slt-lhr-cta__body{text-align:center;max-width:700px;margin:0 auto;}
.slt-lhr-cta--split .slt-lhr-actions--start{justify-content:center;}
.slt-lhr-cta__media{max-width:520px;margin:0 auto;width:100%;}

/* -----------------------------------------------------------------------
 * Mobile hero: two genuinely edge-to-edge full-width sections.
 *
 *   1. Hero copy    — image + navy overlay, ends immediately after the CTAs.
 *   2. Booking form — a flat white band, no image, navy, gutter or card.
 *
 * Both bands come from one <section>. No extra markup and no negative-margin
 * breakout is needed: .slt-lhr-container is only ever a max-width plus
 * gutters, so zeroing its padding here leaves the two grid children as the
 * full-bleed band elements themselves. Each child then owns its own
 * background, and the section keeps no padding of its own so neither band can
 * leak a strip of colour above or below the other.
 * -------------------------------------------------------------------- */
.slt-lhr-hero{padding-top:0;padding-bottom:0;background-image:none;background-color:var(--slt-white);}
/* Ancestor chain, unconstrained: no max-width, gutter, margin or padding may
   survive between the section edge and the white form band. */
.slt-lhr-hero > .slt-lhr-container,
.slt-lhr-hero__grid{box-sizing:border-box;width:100%;max-width:none;min-width:0;margin:0;padding:0;transform:none;}
.slt-lhr-hero__grid{gap:0;}
/* The gradient ends near-opaque so the dark band terminates on a clean, flat
   navy edge against the light form band below it — no image bleed, no fade. */
.slt-lhr-hero__copy{padding:clamp(140px,30vw,190px) var(--slt-gutter) clamp(48px,10vw,72px);background-color:var(--slt-navy);background-image:linear-gradient(180deg,rgba(0,22,51,.78) 0%,rgba(0,22,51,.60) 38%,rgba(0,22,51,.80) 78%,rgba(0,22,51,.97) 100%),var(--slt-lhr-bg-sm,var(--slt-lhr-bg,none));background-size:cover;background-position:center 30%;background-repeat:no-repeat;}
/* The hero is .slt-lhr-section--dark, which turns body copy white. That is
   correct inside the copy band but wrong on the light form band, so the few
   elements that sit outside the white card revert to the normal ink colours. */
.slt-lhr-hero__widget-title{color:var(--slt-navy);}
.slt-lhr-hero__widget-note{color:var(--slt-grey);}
/* The widget stops being a card here and becomes the white form BAND itself:
   it owns the full-viewport-width white background, and every trace of the
   desktop card treatment (max-width, radius, shadow, gutter margins) is
   cleared. Its padding is now section padding, not card padding, which is
   what keeps the fields off the viewport edges. */
.slt-lhr-hero__widget{box-sizing:border-box;width:100%;max-width:none;min-width:0;margin:0;padding:clamp(40px,8vw,70px) clamp(20px,6vw,40px);background:var(--slt-white);border:0;border-radius:0;box-shadow:none;}
.slt-lhr-hero__widget-embed,
.slt-lhr-hero__widget-embed .wpforms-container,
.slt-lhr-hero__widget-embed .wpforms-form{box-sizing:border-box;width:100%;max-width:100%;min-width:0;}
/* WPForms lays its rows out with flex/grid; without this the auto minimum of
   an input or a Choices.js select can exceed the card. */
.slt-lhr-hero__widget-embed .wpforms-field,
.slt-lhr-hero__widget-embed .wpforms-field-container,
.slt-lhr-hero__widget-embed .wpforms-page{min-width:0;max-width:100%;}
.slt-lhr-hero__widget-embed input,
.slt-lhr-hero__widget-embed select,
.slt-lhr-hero__widget-embed textarea,
.slt-lhr-hero__widget-embed button,
.slt-lhr-hero__widget-embed .choices,
.slt-lhr-hero__widget-embed .choices__inner{box-sizing:border-box;max-width:100%;}
/* Everything else that renders inside the band: the title and disclaimer that
   sit outside the form, plus WPForms' field descriptions and validation
   messages, and WP Armour's admin-only test notice. The notice is plugin
   markup we do not control, so it also gets a wrap rule — it must not push the
   band wide while an administrator is viewing the page. (The step indicator is
   display:none on these pages, so it no longer needs a width clamp.) */
.slt-lhr-hero__widget-title,
.slt-lhr-hero__widget-note,
.slt-lhr-hero__widget-embed .wpforms-field-description,
.slt-lhr-hero__widget-embed .wpforms-error,
.slt-lhr-hero__widget-embed .wpa-test-msg{box-sizing:border-box;width:100%;max-width:100%;min-width:0;}
.slt-lhr-hero__widget-embed .wpa-test-msg{overflow-wrap:break-word;}
}
@media (max-width:768px){
/* Good to Know: one tile per row, full width. */
.slt-lhr-notes__grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
.slt-lhr-list--two,.slt-lhr-hero__trust{grid-template-columns:minmax(0,1fr);}
.slt-lhr-info__grid,.slt-lhr-benefits__grid{grid-template-columns:minmax(0,1fr);}
.slt-lhr-actions{gap:12px;}
.slt-lhr-actions .slt-lhr-btn{flex:1 1 100%;}
.slt-lhr-head--start{text-align:left;}
.slt-lhr-faq__summary{gap:16px;padding:18px 2px;}

/* Terminals: single centred column of equal-width cards. The details list is
   centred as a block but its rows stay left-aligned so they read cleanly. */
.slt-lhr-terminals__grid{grid-template-columns:minmax(0,1fr);justify-items:center;}
.slt-lhr-terminal{width:100%;max-width:440px;text-align:center;}
.slt-lhr-terminal .slt-lhr-icon-chip{margin-left:auto;margin-right:auto;}
.slt-lhr-terminal__details{display:inline-grid;justify-self:center;text-align:left;}
}
@media (prefers-reduced-motion:reduce){
.slt-lhr-section *,.slt-lhr-section *::before,.slt-lhr-section *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
.slt-lhr-section .animate[data-anim-type]{opacity:1!important;animation:none!important;transform:none!important;}
}


/* ----------------------------------------------------------------------
   Translation layer: on live, the rules above style WordPress elements
   (Betheme ".animate" engine, js_composer buttons, WPForms). These apply
   the same values to this site's equivalents.
   ---------------------------------------------------------------------- */
/* Betheme animate engine: hidden until scrolled into view, then plays once */
html.slt-lhr-anim .slt-lhr-section .animate[data-anim-type]:not(.is-in) { opacity: 0; }
.slt-lhr-section .animate.is-in { animation-fill-mode: both; }

/* js_composer button geometry (vc_btn3 size-md, shape-round) + site CTA styling */
.slt-lhr-section a.slt-lhr-btn {
    min-width: 170px; padding: 15px 30px;
    font-family: var(--slt-text); font-size: 14px; font-weight: 700; line-height: 18px;
    text-align: center; border-radius: 2em;
}
.slt-lhr-section a.slt-lhr-btn.slt-lhr-btn--outline { font-size: 13px; border-width: 2px; }

/* WPForms "Booking Enquiry" look, applied to this site's quote form */
.slt-lhr-hero__widget-embed .swift-form { margin: 0; color: #242a3a; }
body.slt-lhr-page .slt-lhr-hero__widget-embed .form-steps { display: none; }
.slt-lhr-hero__widget-embed .field { margin: 0; padding-top: 7px; padding-bottom: 7px; }
.slt-lhr-hero__widget-embed .field label { font-family: var(--slt-text); font-weight: 600; font-size: 16px; line-height: 19px; color: #001633; margin: 0 0 10px; }
.slt-lhr-hero__widget-embed .field label .req { color: #d63637; }
.slt-lhr-hero__widget-embed .field input,
.slt-lhr-hero__widget-embed .field select,
.slt-lhr-hero__widget-embed .field textarea {
    font-family: var(--slt-text); color: #242a3a;
    background-color: #FAFAFA; border: 1px solid #EEEEEE; border-radius: 8px;
}
.slt-lhr-hero__widget-embed .field input:focus,
.slt-lhr-hero__widget-embed .field select:focus,
.slt-lhr-hero__widget-embed .field textarea:focus { border-color: var(--slt-gold); box-shadow: 0 0 0 1px var(--slt-gold); }
.slt-lhr-hero__widget-embed .js-next-step,
.slt-lhr-hero__widget-embed .form-step .d-flex .btn-form {
    width: 100%; height: 48px; margin: 4px 0 0;
    font-family: var(--slt-text); font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    color: #fff; background-color: var(--slt-gold); border: 1px solid var(--slt-gold); border-radius: 100px;
}
.slt-lhr-hero__widget-embed .js-next-step:hover,
.slt-lhr-hero__widget-embed .form-step .d-flex .btn-form:hover { background-color: var(--slt-navy); border-color: var(--slt-navy); }
.slt-lhr-hero__widget-embed .form-step .d-flex { gap: 10px; padding-top: 4px; }
/* "UK only" notes stay collapsed until their own field is in use (same as live) */
.slt-lhr-hero__widget-embed .field > .field__note {
    overflow: hidden; max-height: 0; margin-top: 0; font-size: 13px; line-height: 1.45; color: #86888A;
    opacity: 0; transform: translateY(-6px);
    transition: max-height .3s cubic-bezier(.22,.61,.36,1), margin-top .3s cubic-bezier(.22,.61,.36,1), opacity .2s ease, transform .3s cubic-bezier(.22,.61,.36,1);
}
.slt-lhr-hero__widget-embed .field:focus-within > .field__note { max-height: 9em; margin-top: 8px; opacity: 1; transform: none; }
.slt-lhr-hero__widget-embed .field__error { margin-top: 4px; font-size: 11.5px; line-height: 1.4; }
/* Measured against the live Gatwick form card */
.slt-lhr-hero__widget-embed .swift-form { padding: 24px 0; }
.slt-lhr-hero__widget-embed .field label { margin-bottom: 15px; }
.slt-lhr-hero__widget-embed .field select { height: 45px; }
.slt-lhr-hero__widget-embed .form-step > .row { padding-top: 7px; padding-bottom: 7px; }

/* =====================================================================
   CORPORATE TRAVEL (values measured from the live page)
   ===================================================================== */
/* Hero: crossfading slides (fade 600ms, every 4s), vertical bar indicators */
.hero-slider { position: relative; display: grid; overflow: hidden; background: var(--navy); }
.hero-slider__slide {
    grid-area: 1 / 1; position: relative; z-index: 0;
    padding: 240px 30px 465px;      /* live: slide 240/430 + 35 row offset */
    background-image: var(--bg-d); background-size: cover; background-position: center; background-repeat: no-repeat;
    opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s;
}
.hero-slider__slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition: opacity .6s ease, visibility 0s; }
.hero-slider__copy { max-width: 600px; margin: 0 auto; text-align: center; color: #fff; }
.hero-slider__copy h6 { font-size: 15px; line-height: 29px; color: #fff; }
.hero-slider__title { font-family: var(--font-head); font-size: 65px; line-height: 70px; color: #fff; margin: 0 0 35px; }   /* slides 2+ (plain block) */
h1.hero-slider__title { margin-bottom: 10px; }   /* slide 1 (real H1) */
.hero-slider__title--wide { margin-left: -100px; margin-right: -100px; }
.hero-slider__copy h6.hero-slider__sub--padded { padding: 0 5%; }
.hero-slider__buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 11px; padding: 35px 0; }
.hero-slider__dots { position: absolute; z-index: 2; right: 28px; top: 50%; transform: translateY(-50%); margin: -22px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 20px; }
.hero-slider__dots button { display: block; width: 3px; height: 95px; padding: 0; border: 0; border-radius: 100px; background: #fff; opacity: .5; cursor: pointer; transition: background-color .3s, opacity .3s; }
.hero-slider__dots button.is-active { background: var(--tan); opacity: 1; }

/* Benefit tiles overlap the hero by 200px on this page */
.showcase-row--corporate { margin-top: -200px; }

/* Intro with play button, then "Work On the Go" */
.corp-intro { padding: 35px 5% 0; text-align: center; }
.corp-intro h2, .corp-intro h6 { max-width: 50%; margin-left: auto; margin-right: auto; }
.corp-intro h2 { font-size: 55px; line-height: 55px; color: var(--navy); margin-bottom: 30px; }
.corp-intro h6 { font-size: 15px; line-height: 29px; color: var(--grey-text); margin-bottom: 10px; }

/* Play buttons (live: Betheme hover box — the second graphic fades in on hover) */
.play-hover { position: relative; display: inline-block; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.play-hover img { display: block; width: 100%; height: auto; transition: opacity .3s ease; }
.play-hover__hidden { position: absolute; inset: 0; opacity: 0; }
.play-hover:hover .play-hover__hidden, .play-hover:focus-visible .play-hover__hidden { opacity: 1; }
.play-hover:hover .play-hover__visible, .play-hover:focus-visible .play-hover__visible { opacity: 0; }
.play-hover--intro { width: 300px; margin-bottom: 8px; }
.video-block__photo .play-hover { position: absolute; left: 50%; top: 50%; width: 20%; transform: translate(-50%, -50%); }
.video-block__photo .play-hover img { height: 96px; object-fit: contain; border-radius: 100px; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.video-block__photo { position: relative; }

/* Photo blocks */
.video-block--work .video-block__media .video-block__photo { height: 631px; margin: 50px 0; }
.video-block--photo .video-block__media { padding-top: 0; margin-top: 50px; }
.video-block--gap-below .video-block__media { margin-bottom: 50px; }

/* Shared video pop-up (live: Popup Maker with a blurred overlay) */
.video-modal { position: fixed; inset: 0; z-index: 100002; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.7); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.video-modal[hidden] { display: none; }

@media (max-width: 1000px) {
    .hero-slider__slide { padding: 170px 20px 150px; background-image: var(--bg-m); }   /* live mobile: 170 / 150 */
    .hero-slider__title { font-size: 42px; line-height: 48px; }
    .hero-slider__title--wide { margin-left: 0; margin-right: 0; }
    .hero-slider__dots { right: 12px; }
    .hero-slider__dots button { height: 60px; }
    .showcase-row--corporate { margin-top: 0; }
    .corp-intro h2, .corp-intro h6 { max-width: 100%; }
    .corp-intro h2 { font-size: 36px; line-height: 40px; }
    .play-hover--intro { width: 200px; }
    .video-block--work .video-block__media .video-block__photo { height: 496px; margin: 0 0 35px; }
    .video-block__photo .play-hover { width: 144px; }
}
/* Wedding: "Elegant & Stylish Arrival" photo — same placement as "Work On the Go" but 600px tall */
.video-block--photo600 .video-block__media .video-block__photo { height: 600px; }

/* ---- Phones: values measured from the live mobile layouts ---- */
@media (max-width: 1000px) {
    /* photo blocks stay visible on phones: 400px tall, photo first, then the text */
    .video-block__photo { background-image: var(--photo-m); }
    .video-block--stress .video-block__media,
    .video-block--photo .video-block__media { margin: 0; padding-top: 35px; }
    .video-block--stress .video-block__photo,
    .video-block--photo .video-block__photo,
    .video-block--photo600 .video-block__media .video-block__photo { height: 400px; margin: 0; }
    .video-block--gap-below .video-block__media { margin-bottom: 0; }
}
@media (max-width: 1000px) {
    .airport-story { background-image: var(--story-bg-m, var(--story-bg)); }
    /* Features on service pages: navy wave tucked 200px under the gallery (live mobile) */
    .gallery-section--light .media-stack { position: relative; z-index: 3; }
}
/* Blocks that exist only on phones (live mobile layout) */
.mobile-only-block { display: none !important; }
@media (max-width: 1000px) {
    .mobile-only-block { display: grid !important; }
    /* Airport on phones: the slider shows the heading, so the hero below becomes just the form on white */
    .page-airport .page-hero { background: #fff; padding: 30px 15px 40px; }
    .page-airport .page-hero__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* ======================================================================
   PRIVATE AIRLINE TRANSFERS — the live page's own stylesheet, scoped to this page
   ====================================================================== */
body.page-jet div.wpforms-container-full input[type=submit], body.page-jet div.wpforms-container-full button[type=submit], body.page-jet div.wpforms-container-full .wpforms-page-button, body.page-jet div.wpforms-container-full input[type=submit], body.page-jet div.wpforms-container-full button[type=submit], body.page-jet div.wpforms-container-full .wpforms-page-button {height: 45px;
	background-color: #001633 !important;
	color: white !important;
	font-size: 15px !important;
	width: 100% !important}
body.page-jet .mhb-row.action-bar {display: none !important}
body.page-jet .airport-hero-left-column>.vc_column-inner {justify-content: center !important}
body.page-jet .airport-button-column>.vc_column-inner>.wpb_wrapper {display: flex;
	justify-content: center}
body.page-jet .vc_custom_1737041001099.vc_row-has-fill, body.page-jet .vc_column-inner.vc_custom_1737040784611 {padding-top: 50px !important}
body.page-jet .card-title .vc-hoverbox-front-inner h2, body.page-jet .card-title .vc-hoverbox-back-inner h2 {font-size: 26px;
	color: #fff}
body.page-jet .vc_column-inner.vc_custom_1757063685500 {background-color: transparent !important}
body.page-jet .private-airline-form {background: rgba(10, 10, 10, .88);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	padding: 40px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, .45)}
body.page-jet .form-heading {text-align: center;
	margin-bottom: 20px}
body.page-jet .form-heading span {color: #cea986;
	letter-spacing: 3px;
	font-size: 13px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 10px}
body.page-jet .airline-booking-form {display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px}
body.page-jet .form-group {display: flex;
	flex-direction: column}
body.page-jet .form-group.full {grid-column: 1/-1}
body.page-jet .form-group label {color: #fff;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 600}
body.page-jet .airline-booking-form input, body.page-jet .airline-booking-form select {width: 100%;
	height: 45px;
	padding: 0 15px;
	background: rgba(255, 255, 255, .03) !important;
	border: 1px solid rgba(183, 139, 76, .35) !important;
	color: #fff !important;
	border-radius: 4px;
	font-size: 14px;
	transition: .3s;
	outline: 0;
	box-sizing: border-box;
	margin-bottom: 0 !important}
body.page-jet .airline-booking-form input:focus, body.page-jet .airline-booking-form select:focus {border-color: #cea986;
	background: rgba(255, 255, 255, .05);
	box-shadow: none}
body.page-jet .airline-booking-form input::placeholder {color: #999}
body.page-jet .airline-booking-form select {appearance: none;
	background-image: url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'width='20'height='20'fill='%23C5A86A'viewBox='001616'%3E%3Cpathd='M1.55.5L812l6.5-6.5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 16px}
body.page-jet .airline-booking-form select option {background: #111;
	color: #fff}
body.page-jet .airline-booking-form input:-webkit-autofill, body.page-jet .airline-booking-form input:-webkit-autofill:hover, body.page-jet .airline-booking-form input:-webkit-autofill:focus, body.page-jet .airline-booking-form select:-webkit-autofill {-webkit-text-fill-color:#fff !important;
    -webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.03) inset !important;
    transition:background-color 9999s ease-in-out 0s;}
body.page-jet .airline-booking-form input[type="date"]::-webkit-calendar-picker-indicator, body.page-jet .airline-booking-form input[type="time"]::-webkit-calendar-picker-indicator {filter:invert(1);
    opacity:.8;
    cursor:pointer;}
body.page-jet .submit-btn {align-self: end}
body.page-jet .submit-btn button {height: 50px;
	background: #cea986;
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-weight: 600;
	letter-spacing: 1px;
	transition: .3s;
	margin: 0}
body.page-jet .submit-btn button:hover {background: #fff;
	color: #111}
@media(max-width:991px){body.page-jet .airline-booking-form {grid-template-columns: 1fr}
body.page-jet .form-group.full {grid-column: auto}
body.page-jet .private-airline-form {padding: 30px 25px}
body.page-jet .form-heading h2 {font-size: 32px}}
@media(max-width:767px){body.page-jet .private-airline-form .container {padding-left: 0 !important;
		padding-right: 0 !important}}
body.page-jet .swift-error {color: #e63946;
    font-size: 0.8em;}
body.page-jet input.swift-invalid, body.page-jet select.swift-invalid {border-color: #e63946 !important;}
body.page-jet input.swift-valid, body.page-jet select.swift-valid {border-color: #2ecc71 !important;}
body.page-jet .airport-autocomplete-wrapper {position: relative;}
body.page-jet .airport-autocomplete-list {display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    margin: 4px 0 0 !important;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    max-height: 250px;
    overflow-y: auto;}
body.page-jet .airport-autocomplete-list.open {display: block;}
body.page-jet .airport-autocomplete-item {display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 10px;
    cursor: pointer;}
body.page-jet .airport-autocomplete-item:hover, body.page-jet .airport-autocomplete-item.active {background: #f5f5f5;}
body.page-jet .airport-code {flex-shrink: 0;
    font-weight: 700;
    font-size: 0.85em;
    background: #23162D;
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;}
body.page-jet .airport-details {display: flex;
    flex-direction: column;
    line-height: 1.3;}
body.page-jet .airport-name {font-size: 0.9em;
    color: #222;}
body.page-jet .airport-city {font-size: 0.78em;
    color: #888;}
body.page-jet .route-grid {display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px}
body.page-jet .route-card {position: relative;
	overflow: hidden;
	border-radius: 12px;
	height: 250px;
	cursor: pointer;
	transition: .35s;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .18)}
body.page-jet .route-card img {width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .6s}
body.page-jet .route-overlay {position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .85) 5%, rgba(0, 0, 0, .45) 45%, rgba(0, 0, 0, .10) 100%)}
body.page-jet .route-content {position: absolute;
	left: 25px;
	right: 25px;
	bottom: 25px;
	z-index: 2}
body.page-jet .route-content h3 {color: #fff;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
	line-height: 1.3}
body.page-jet .route-content p {color: #fff;
	font-size: 14px;
	margin-bottom: 10px}
body.page-jet .route-content strong {color: #cea986;
	font-weight: 700}
body.page-jet .route-btn {display: inline-block;
	padding: 5px 20px;
	background: #cea986;
	color: #111;
	border-radius: 40px;
	text-decoration: none;
	font-weight: 600;
	transition: .35s;
	font-size: 14px}
body.page-jet .route-btn:hover {background: #fff;
	color: #111}
body.page-jet .route-card:hover {transform: translateY(-8px)}
body.page-jet .route-card:hover img {transform: scale(1.08)}
@media(max-width:1200px){body.page-jet .route-grid {grid-template-columns: repeat(3, 1fr)}}
@media(max-width:768px){body.page-jet .route-grid {grid-template-columns: repeat(2, 1fr)}}
@media(max-width:520px){body.page-jet .route-grid {grid-template-columns: 1fr}
body.page-jet .route-content h3 {font-size: 18px}}
body.page-jet .empty-leg-grid {display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;}
body.page-jet .empty-leg-card {background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    transition:.35s ease;}
body.page-jet .empty-leg-card:hover {transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(0,0,0,.18);}
body.page-jet .leg-image {width:100%;
    height:160px;
    overflow:hidden;}
body.page-jet .leg-image img {width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;}
body.page-jet .empty-leg-card:hover .leg-image img {transform:scale(1.08);}
body.page-jet .leg-content {padding:18px;}
body.page-jet .leg-content h3 {font-size:20px;
    font-weight:600;
    color:#111;
    margin-bottom:10px;
    line-height:1.3;}
body.page-jet .leg-info {display:inline-flex;
    align-items:center;
    gap:5px;
    padding:0 10px;
    background:#f8f8f8;
    border:1px solid rgba(206,169,134,.35);
    border-radius:30px;
    margin-bottom:10px;
    color:#444;
    font-size:12px;
    font-weight:500;}
body.page-jet .leg-info i {color:#CEA986;
    margin-right:5px;}
body.page-jet .leg-bottom {display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;}
body.page-jet .leg-bottom {display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:15px;}
body.page-jet .leg-price {display:flex;
    flex-direction:column;
    color:#666;
    font-size:14px;}
body.page-jet .leg-price strong {display:block;
    color:#CEA986;
    font-size:20px;
    font-weight:700;}
body.page-jet .leg-price small {color:#888;
    font-size:12px;}
body.page-jet .leg-btn {display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 20px;
    background:#CEA986;
    color:#fff;
    text-decoration:none;
    border-radius:30px;
    font-weight:600;
    transition:.3s;}
body.page-jet .leg-btn:hover {background:#111;
    color:#fff;}
@media(max-width:1200px){body.page-jet .empty-leg-grid {grid-template-columns:repeat(3,1fr);}}
@media(max-width:991px){body.page-jet .empty-leg-grid {grid-template-columns:repeat(2,1fr);}}
@media(max-width:767px){body.page-jet .empty-leg-grid {grid-template-columns:1fr;}
body.page-jet .leg-bottom {flex-direction:column;
        align-items:flex-start;}
body.page-jet .leg-btn {width:100%;}}
body.page-jet .aircraft-options, body.page-jet .perfect-for {padding:20px 0;}
body.page-jet .section-title {text-align: center;}
body.page-jet .section-intro {margin:20px auto 40px;
    text-align:center;
    color:#86888A;
    font-size:14px;
    line-height:1.8;}
body.page-jet .aircraft-list, body.page-jet .traveller-list {display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;}
body.page-jet .aircraft-list div, body.page-jet .traveller-list div {display:flex;
    align-items:center;
    gap:15px;
    font-size:14px;
    color:#001633;
    padding:12px 0;
    border-bottom:1px solid rgba(206,169,134,.15);
    transition:.3s;}
body.page-jet .aircraft-list div:hover, body.page-jet .traveller-list div:hover {padding-left:10px;
    color:#CEA986;}
body.page-jet .aircraft-list i, body.page-jet .traveller-list i {width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(206,169,134,.12);
    color:#CEA986;
    font-size:16px;
    flex-shrink:0;}
@media(max-width:991px){body.page-jet .aircraft-list, body.page-jet .traveller-list {grid-template-columns:repeat(2,1fr);}}
@media(max-width:575px){body.page-jet .aircraft-options .container, body.page-jet .perfect-for .container {padding: 0 15px !important;}
body.page-jet .aircraft-list, body.page-jet .traveller-list {grid-template-columns:1fr;}
body.page-jet .aircraft-list div, body.page-jet .traveller-list div {font-size:14px;}}
/* ----------------------------------------------------------------------
   PRIVATE AIRLINE TRANSFERS — page-builder parts rebuilt (values measured from live)
   ---------------------------------------------------------------------- */
body.page-jet .action-bar { display: none; }                       /* live hides the price ticker on this page */
body.page-jet .menu-toggle.is-active { top: 35px; }
.desktop-only-text { display: block; }
.mobile-only-text { display: none; }

/* Hand-written blocks: theme container = 1230px wide, no side padding (Bootstrap's .container differs) */
.jet-raw .container { width: 100%; max-width: 1230px; padding: 0; margin: 0 auto; }
.jet-raw section { display: block; }

/* Hero: background photos crossfade every 3s (750ms), text 7/12 left, form 5/12 right */
.jet-hero { position: relative; z-index: 2; overflow: hidden; padding: 164px 30px 50px; background: var(--navy); }
.jet-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .75s ease; }
.jet-hero__bg.is-active { opacity: 1; }
.jet-hero__inner { position: relative; z-index: 1; max-width: none;  }
.jet-hero .jet-hero__text { flex: 0 0 58.333%; padding-bottom: 70px; justify-content: center; }
.jet-hero .jet-hero__text h6 { font-size: 15px; line-height: 29px; color: #fff; margin-bottom: 10px; }
.jet-hero .jet-hero__text h1 { font-size: 65px; line-height: 70px; color: #fff; margin-bottom: 10px; }
.jet-hero .jet-hero__text p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: #fff; text-align: center; margin: 0 0 10px; }
.jet-hero__buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; padding-top: 35px; }
.jet-hero .jet-hero__form { flex: 0 0 41.667%; padding: 20px 20px 10px; }
.jet-hero__form .private-airline-form { margin-bottom: 35px; }

/* About + Why Fly Privately (tucks 300px under the hero) */
.jet-about { position: relative; z-index: 1;  padding-top: 50px; background: #fff var(--about-bg) center / cover no-repeat; }
.jet-about__intro { padding: 35px 5% 0; text-align: center; }
.jet-eyebrow { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #6b6b6b; text-align: center; margin-bottom: 10px; }
.jet-eyebrow--navy { color: var(--navy); margin-bottom: 30px; }
.jet-about__intro h2 { font-size: 55px; line-height: 55px; color: var(--navy); margin-bottom: 30px; }
.jet-about__intro p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: var(--grey-text); margin: 0 0 10px; }
.jet-why { display: flex; margin-top: 34px; }
.jet-why__media, .jet-why__text { flex: 0 0 50%; min-width: 0; }
.jet-why__media { padding-top: 35px; }
.jet-why__photo { height: 600px; background-position: 0 0; background-repeat: no-repeat; }    /* live: natural size, top-left */
.jet-why__text { padding: 46px 0 37px; }
.jet-why .sk-service-details h3 { font-size: 45px; line-height: 40px; color: var(--navy); margin-bottom: 30px; padding-right: 10%; }
.jet-why .sk-service-details h4 { font-family: var(--font-head); font-size: 22px; line-height: 27px; color: var(--navy); margin-bottom: 30px; padding-right: 10%; }
.jet-why__list ul { list-style: disc outside; margin: 0 0 0 30px; padding: 0; }
.jet-why__list li { font-size: 15px; line-height: 28px; color: #6b6b6b; margin-bottom: 10px; }
.jet-why__list { margin-bottom: 35px; }

/* Routes + aircraft + traveller types */
.jet-routes { background: #fff; padding: 35px 0 36px; }
.jet-routes__head { text-align: center; }
.jet-routes__head h3 { font-size: 45px; line-height: 40px; color: var(--navy); margin-bottom: 20px; }
.jet-routes__head h4 { font-family: var(--font-head); font-size: 22px; line-height: 27px; color: var(--navy); margin-bottom: 20px; }
.jet-routes__head p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: var(--grey-text); margin: 0 0 30px; }
.jet-routes__aircraft { margin-top: 35px; }

/* Empty legs, FAQ, divider: theme content box (1236px incl. 15px padding) */
.jet-box { max-width: 1236px; margin: 0 auto; padding: 35px 15px; }
.jet-legs h2, .jet-faq__title { font-size: 55px; line-height: 55px; color: #242a3a; margin-bottom: 10px; }
.jet-legs h2 { text-align: center; }
.jet-legs .jet-box > p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: #6b6b6b; text-align: center; margin: 0 0 10px; }
.jet-faq .jet-box { padding-top: 33px; padding-bottom: 0; }
.faq-jet__item { position: relative; overflow: hidden; margin-bottom: 5px; background: rgba(0,0,0,.02); }
.faq-jet__item::before { content: ""; position: absolute; left: 0; top: 0; width: 60px; height: 100%; border-right: 1px solid rgba(0,0,0,.1); z-index: 1; }
.faq-jet__item::after { content: ""; position: absolute; left: 0; top: 0; width: 60px; height: 100%; background: #f6f2ec; z-index: 0; }
.faq-jet__q {
    position: relative; z-index: 2; display: block; width: 100%; text-align: left; cursor: pointer;
    padding: 20px 40px 20px 70px; border: 0; background: none;
    font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #444;
}
.faq-jet__icon { position: absolute; left: 20px; top: 21px; width: 20px; height: 20px; }
.faq-jet__icon::before, .faq-jet__icon::after { content: ""; position: absolute; left: 3px; top: 9px; width: 14px; height: 2px; background: #444; transition: transform .2s; }
.faq-jet__icon::after { transform: rotate(90deg); }
.faq-jet__q[aria-expanded="true"] { color: #0089F7; }                 /* live: active question turns blue */
.faq-jet__q[aria-expanded="true"] .faq-jet__icon::after { transform: rotate(0); }
.faq-jet__q[aria-expanded="true"] .faq-jet__icon::before, .faq-jet__q[aria-expanded="true"] .faq-jet__icon::after { background: rgba(0,0,0,.25); }
.faq-jet__a { position: relative; z-index: 2; padding: 0 20px 20px 70px; }
.faq-jet__a p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: #6b6b6b; margin: 0 0 15px; }
.faq-jet__a p:last-child { margin-bottom: 0; }
.jet-sep .jet-box { padding: 5px 15px 34px; }
.jet-sep__inner { display: flex; align-items: center; gap: 12px; height: 60px; }
.jet-sep__line { flex: 1 1 auto; height: 0; border-top: 2px solid #2a2a2a; }
.jet-sep__icon { font-size: 30px; color: #2a2a2a; }
.jet-sep h4 { font-size: 15px; line-height: 15px; color: #242a3a; margin: 0 0.8em 0 0; white-space: nowrap; }

@media (max-width: 1000px) {
    .desktop-only-text { display: none; }
    .mobile-only-text { display: block; }
    /* Phones: the slider above shows the heading, so this hero is just the booking form */
    .jet-hero { background: #fff; padding: 30px 15px 10px; }
    .jet-hero__bg { display: none; }
    .jet-hero .jet-hero__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0; }
    .jet-hero .jet-hero__form { flex-basis: 100%; padding: 0; }
    .jet-about { margin-top: 0; padding: 50px 10px 20px; background-image: var(--about-bg-m); }
    .jet-about__intro { padding: 0; }
    .jet-about__intro h2 { font-size: 36px; line-height: 40px; }
    .jet-why { flex-direction: column; margin-top: 20px; }
    .jet-why__media { padding-top: 0; }
    .jet-why__photo { height: 400px; background-position: center; background-size: cover; }
    .jet-why__text { padding: 30px 0 0; }
    .jet-why .sk-service-details h2 { font-size: 36px; line-height: 40px; color: var(--navy); margin-bottom: 20px; }
    .jet-why .sk-service-details h3.jet-why__sub { font-size: 22px; line-height: 27px; margin-bottom: 20px; padding-right: 0; }
    .jet-routes { padding: 35px 10px 20px; }
    .jet-routes__head h3 { font-size: 36px; line-height: 40px; }
    .jet-legs h2, .jet-faq__title { font-size: 36px; line-height: 40px; }
    .faq-jet__q { font-size: 13px; }
}
/* Theme defaults the hand-written blocks rely on (live Betheme values) */
body.page-jet .jet-raw { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #6b6b6b; }
body.page-jet :where(.jet-raw) h2 { font-family: var(--font-head); font-size: 55px; line-height: 55px; color: #242a3a; margin: 0 0 15px; }
body.page-jet :where(.jet-raw) h3 { font-family: var(--font-head); }
body.page-jet :where(.jet-raw) .section-title { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #6b6b6b; max-width: none; }
body.page-jet .jet-raw label { line-height: 28px; }
@media (max-width: 1000px) { body.page-jet :where(.jet-raw) h2 { font-size: 36px; line-height: 40px; } }

/* ======================================================================
   CONCIERGE SERVICES — the live page's own stylesheet, scoped to this page
   ====================================================================== */
body.page-concierge div.wpforms-container-full input[type=submit], body.page-concierge div.wpforms-container-full button[type=submit], body.page-concierge div.wpforms-container-full .wpforms-page-button, body.page-concierge div.wpforms-container-full input[type=submit], body.page-concierge div.wpforms-container-full button[type=submit], body.page-concierge div.wpforms-container-full .wpforms-page-button {height: 45px;
    background-color: #001633 !important;
    color: white !important;
    font-size: 15px !important;
    width: 100% !important;}
body.page-concierge .mhb-row.action-bar {display: none !important}
body.page-concierge .airport-hero-left-column > .vc_column-inner {justify-content: center !important;}
body.page-concierge .airport-button-column > .vc_column-inner > .wpb_wrapper {display: flex;
    justify-content: center;}
body.page-concierge .vc_custom_1737041001099.vc_row-has-fill {padding-top: 50px !important;}
body.page-concierge .card-title .vc-hoverbox-front-inner h2, body.page-concierge .card-title .vc-hoverbox-back-inner h2 {font-size: 26px;
    color: #fff;}
body.page-concierge .vc_column-inner.vc_custom_1757063685500 {background-color: transparent !important;}
body.page-concierge .private-airline-form {background:rgba(10,10,10,.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    padding: 40px;
    box-shadow:0 15px 40px rgba(0,0,0,.45);}
body.page-concierge .form-heading {text-align:center;
    margin-bottom:20px;}
body.page-concierge .form-heading span {color:#CEA986;
    letter-spacing:3px;
    font-size:13px;
    text-transform:uppercase;
    display:block;
    margin-bottom:10px;}
body.page-concierge .airline-booking-form {display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;}
body.page-concierge .form-group {display:flex;
    flex-direction:column;}
body.page-concierge .form-group.full {grid-column:1/-1;}
body.page-concierge .form-group label {color:#fff;
    margin-bottom:0;
    font-size:12px;
    font-weight:600;}
body.page-concierge .airline-booking-form input, body.page-concierge .airline-booking-form select {width:100%;
    height:45px;
    padding:0 15px;
    background:rgba(255,255,255,.03) !important;
    border:1px solid rgba(183,139,76,.35) !important;
    color:#fff !important;
    border-radius:4px;
    font-size:14px;
    transition:.3s;
    outline:none;
    box-sizing:border-box;
    margin-bottom: 0 !important;}
body.page-concierge .airline-booking-form input:focus, body.page-concierge .airline-booking-form select:focus {border-color:#CEA986;
    background:rgba(255,255,255,.05);
    box-shadow:none;}
body.page-concierge .airline-booking-form input::placeholder {color:#999;}
body.page-concierge .airline-booking-form select {appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23C5A86A' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5.5L8 12l6.5-6.5z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
    background-size:16px;}
body.page-concierge .airline-booking-form select option {background:#111;
    color:#fff;}
body.page-concierge .airline-booking-form input:-webkit-autofill, body.page-concierge .airline-booking-form input:-webkit-autofill:hover, body.page-concierge .airline-booking-form input:-webkit-autofill:focus, body.page-concierge .airline-booking-form select:-webkit-autofill {-webkit-text-fill-color:#fff !important;
    -webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.03) inset !important;
    transition:background-color 9999s ease-in-out 0s;}
body.page-concierge .airline-booking-form input[type="date"]::-webkit-calendar-picker-indicator, body.page-concierge .airline-booking-form input[type="time"]::-webkit-calendar-picker-indicator {filter:invert(1);
    opacity:.8;
    cursor:pointer;}
body.page-concierge .airline-booking-form textarea {width:100%;
    min-height:100px;
    padding:12px 15px;
    background:rgba(255,255,255,.03) !important;
    border:1px solid rgba(183,139,76,.35) !important;
    color:#fff !important;
    border-radius:4px;
    font-size:14px;
    line-height:1.6;
    font-family:inherit;
    resize:vertical;
    transition:.3s;
    outline:none;
    box-sizing:border-box;
    margin-bottom:0 !important;}
body.page-concierge .airline-booking-form textarea::placeholder {color:#999;}
body.page-concierge .airline-booking-form textarea:focus {border-color:#CEA986 !important;
    background:rgba(255,255,255,.05) !important;
    box-shadow:none;}
body.page-concierge .airline-booking-form textarea:-webkit-autofill, body.page-concierge .airline-booking-form textarea:-webkit-autofill:hover, body.page-concierge .airline-booking-form textarea:-webkit-autofill:focus {-webkit-text-fill-color:#fff !important;
    -webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.03) inset !important;
    transition:background-color 9999s ease-in-out 0s;}
body.page-concierge .submit-btn {align-self:end;}
body.page-concierge .submit-btn button {height:50px;
    background:#CEA986;
    color:#fff;
    border:none;
    border-radius:4px;
    font-weight:600;
    letter-spacing:1px;
    transition:.3s;
    margin: 0;}
body.page-concierge .submit-btn button:hover {background:#fff;
    color:#111;}
@media(max-width:991px){body.page-concierge .airline-booking-form {grid-template-columns:1fr;}
body.page-concierge .form-group.full {grid-column:auto;}
body.page-concierge .private-airline-form {padding:30px 25px;}
body.page-concierge .form-heading h2 {font-size:32px;}}
@media(max-width:767px){body.page-concierge .private-airline-form .container {padding-left: 0 !important;
        padding-right: 0 !important;}
body.page-concierge h1.vc_custom_heading {font-size: 36px;
        line-height: 46px;}}
body.page-concierge .error {display:block;
    margin-top:6px;
    font-size:13px;
    color:#d74f4f;
    font-weight:500;}
body.page-concierge .invalid {border-color:#d74f4f!important;}
body.page-concierge .valid {border-color:#b78b4c!important;}
body.page-concierge .concierge-clients {padding:20px 0;}
body.page-concierge .concierge-heading {text-align:center;
    max-width:850px;
    margin:0 auto 50px;}
body.page-concierge .concierge-heading span {color:#CEA986;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    display:block;
    margin-bottom:10px;
    font-weight:600;}
body.page-concierge .concierge-heading h2 {color: #001633;
    font-size:42px;
    margin-bottom:15px;}
body.page-concierge .concierge-heading p {color:#a2a2a2;
    line-height:1.8;}
body.page-concierge .concierge-grid {display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;}
body.page-concierge .concierge-card {background:rgba(255,255,255,0.03);
    border:1px solid #CEA986;
    border-radius:12px;
    padding:30px 20px;
    text-align:center;
    transition:.35s;
    position:relative;
    overflow:hidden;}
body.page-concierge .concierge-card:before {content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#CEA986;
    transform:scaleX(0);
    transition:.35s;}
body.page-concierge .concierge-card:hover {transform:translateY(-6px);
    border-color:#CEA986;
    background:rgba(255,255,255,.05);}
body.page-concierge .concierge-card:hover:before {transform:scaleX(1);}
body.page-concierge .concierge-card i {font-size:32px;
    color:#CEA986;
    margin-bottom:18px;}
body.page-concierge .concierge-card h3 {color:#001633;
    font-size:16px;
    line-height:1.5;
    margin:0;
    font-weight:600;}
@media(max-width:1200px){body.page-concierge .concierge-grid {grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){body.page-concierge .concierge-grid {grid-template-columns:repeat(2,1fr);}
body.page-concierge .concierge-heading h2 {font-size:32px;}}
body.page-concierge .concierge-highlight {padding:40px 0;}
body.page-concierge .concierge-wrap {display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:50px;
    align-items:center;
    background:#fff;
    border-radius:16px;
    padding:50px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);}
body.page-concierge .section-tag {display:inline-block;
    color:#CEA986;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;}
body.page-concierge .concierge-left h2 {font-size:42px;
    margin:0 0 12px;
    color:#111;}
body.page-concierge .concierge-left h4 {font-size:22px;
    color:#CEA986;
    margin-bottom:20px;
    font-weight:500;}
body.page-concierge .concierge-left p {font-size:17px;
    line-height:1.9;
    color:#666;
    margin:0;}
body.page-concierge .concierge-right h3 {font-size:30px;
    color:#111;
    margin-bottom:30px;}
body.page-concierge .service-list {display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;}
body.page-concierge .service-item {display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    background:#fafafa;
    border:1px solid rgba(206,169,134,.25);
    border-radius:10px;
    transition:.3s;}
body.page-concierge .service-item:hover {background:#CEA986;
    transform:translateY(-3px);}
body.page-concierge .service-item i {width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(206,169,134,.15);
    color:#CEA986;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    transition:.3s;
    flex-shrink:0;}
body.page-concierge .service-item span {color:#222;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
    transition:.3s;}
body.page-concierge .service-item:hover i {background:#fff;
    color:#CEA986;}
body.page-concierge .service-item:hover span {color:#fff;}
body.page-concierge .concierge-btn-wrap {margin-top:20px;}
body.page-concierge .concierge-btn {display:inline-flex;
    align-items:center;
    gap:12px;
    padding:15px 34px;
    background:#CEA986;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-size:16px;
    font-weight:600;
    letter-spacing:.5px;
    transition:all .35s ease;
    box-shadow:0 10px 25px rgba(206,169,134,.3);}
body.page-concierge .concierge-btn i {transition:transform .35s ease;}
body.page-concierge .concierge-btn:hover {background:#111;
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.2);}
body.page-concierge .concierge-btn:hover i {transform:translateX(5px);}
body.page-concierge html {scroll-behavior:smooth;}
@media(max-width:991px){body.page-concierge .concierge-wrap {grid-template-columns:1fr;
        padding:35px;}
body.page-concierge .concierge-left h2 {font-size:34px;}}
@media(max-width:576px){body.page-concierge .concierge-highlight {padding:0;}
body.page-concierge .concierge-highlight .container {padding: 0 !important;}
body.page-concierge .concierge-wrap {padding:25px;}
body.page-concierge .concierge-left h2 {font-size:28px;}
body.page-concierge .concierge-right h3 {font-size:24px;}
body.page-concierge .service-list {grid-template-columns:1fr;}
body.page-concierge .service-item {padding:14px;}}
/* Theme defaults the hand-written blocks rely on (live Betheme values) */
body.page-concierge .jet-raw { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #6b6b6b; }
body.page-concierge :where(.jet-raw) h2 { font-family: var(--font-head); font-size: 55px; line-height: 55px; color: #242a3a; margin: 0 0 15px; }
body.page-concierge :where(.jet-raw) h3 { font-family: var(--font-head); line-height: 40px; }
body.page-concierge :where(.jet-raw) h4 { font-family: var(--font-head); line-height: 27px; }
body.page-concierge :where(.jet-raw) .section-title { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #6b6b6b; max-width: none; }
body.page-concierge .jet-raw label { line-height: 28px; }
@media (max-width: 1000px) { body.page-concierge :where(.jet-raw) h2 { font-size: 36px; line-height: 40px; } }
/* ---- Concierge: spacing that differs from Private Jet (measured from live) ---- */
.con-about .jet-about__intro h2 { margin-bottom: 30px; }
.con-highlight { margin-top: 0; }
.con-trust { align-items: center; margin-top: 105px; padding-bottom: 35px; }      /* text is taller than the photo: photo centred on it */
.con-trust .jet-why__media, .con-trust .jet-why__text { padding: 0; }
.con-trust .sk-service-details h3.con-trust__title { font-size: 45px; line-height: 40px; margin-bottom: 10px; padding-right: 0; }
.con-trust .sk-service-details h3.con-trust__sub { font-size: 30px; line-height: 40px; margin-bottom: 10px; padding-right: 0; }
.con-trust .con-trust__p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: var(--grey-text); margin: 0 0 10px; }
.con-life { background: #fff; margin: 0 15px; padding-top: 35px; }
.con-life .jet-routes__head .con-life__p { margin-bottom: 20px; }
.con-clients { margin-bottom: 35px; }
.con-life__outro { text-align: center; padding-bottom: 30px; }
.con-life__outro h3 { font-size: 45px; line-height: 40px; color: #242a3a; margin-bottom: 10px; }
.con-life__outro p { font-family: var(--font-text); font-size: 15px; line-height: 28px; color: #6b6b6b; margin: 0 0 10px; }
.con-life__outro h6 { font-size: 15px; line-height: 29px; color: #6b6b6b; margin: 0; }
.con-faq .jet-box { padding-top: 83px; }
@media (max-width: 1000px) {
    .con-trust { margin-top: 30px; padding-bottom: 20px; }
    .jet-why{display: block;}
    .con-trust .sk-service-details h3.con-trust__title { font-size: 36px; line-height: 40px; }
    .con-trust .sk-service-details h3.con-trust__sub { font-size: 24px; line-height: 30px; }
    .con-life { margin: 0; padding: 35px 10px 0; }
    .con-life__outro h3 { font-size: 32px; line-height: 36px; }
    .con-faq .jet-box { padding-top: 50px; }
}

/* ======================================================================
   ENQUIRE NOW — rebuilt to the live layout used on every page (measured)
   754px column, underline fields, two 350px pill buttons
   ====================================================================== */
.enquire-section { padding: 80px var(--side-pad) 75px; }
body.page-concierge .enquire-section { padding-top: 115px; }            /* live Concierge: 80 + 35 */
.enquire-section__inner { max-width: 754px; }
.enquire-section h2 { font-size: 45px; line-height: 40px; margin: 0 0 30px; }
.enquire-section h6 { font-size: 15px; line-height: 29px; margin: 0 0 24px; }
.enquire-section .swift-form { max-width: 754px; }
.enquire-section .form-step[data-step="1"] .enq-row { gap: 20px; }
.enquire-section .field, .enquire-section .form-step[data-step="1"] .enq-row .field { margin: 0; padding: 15px 0; }
.enquire-section .field-wide{grid-column: span 3;}
body.page-home .enquire-section .field, body.page-home .enquire-section .form-step[data-step="1"] .enq-row .field { padding: 5px 0; }

.enquire-section .field input, .enquire-section .field textarea {
    height: 55px; padding: 0; border: 0; border-bottom: 1px solid #fff; border-radius: 0;
    background: transparent; color: #fff; font-family: var(--font-text); font-size: 16px; box-shadow: none;
}
.enquire-section .field textarea { height: 90px; padding-top: 12px; }
.enquire-section .field input::placeholder, .enquire-section .field textarea::placeholder { color: #fff; opacity: 1; }
.enquire-section .field input:focus, .enquire-section .field textarea:focus { border-bottom-color: var(--tan); box-shadow: none; }
.enquire-section .enquire-buttons { gap: 10px; margin: 0; padding: 15px 0; justify-content: center; }
body.page-home .enquire-section .enquire-buttons { padding: 5px 0; }
.enquire-section .enquire-buttons .btn-pill {
    width: 350px; max-width: 100%; height: 49px; padding: 10px 30px; border-radius: 100px;
    font-family: var(--font-text); font-size: 14px; font-weight: 400; line-height: 30px; letter-spacing: 1px; text-transform: uppercase;
}
.enquire-section .enquire-buttons .btn-pill--outline-light { border: px solid var(--tan); color: var(--tan); background: transparent; }
.enquire-section .enquire-buttons .btn-pill--outline-light:hover { background: var(--tan); color: #fff; }
.enquire-section__logo { width: 262px; margin: 64px auto 0; }
body.page-home .enquire-section__logo { margin-top: 64px; }
.enquire-form .field-error {
    color: #dc3545;
    font-size: 13px;
    line-height: 1.4;
    margin-top: 6px;
}

.enquire-form .field-error[hidden],
.enquire-form .form-message[hidden] {
    display: none !important;
}

.enquire-form .field input.is-invalid,
.enquire-form .field textarea.is-invalid {
    border-color: #dc3545 !important;
}

.enquire-form .field input.is-valid,
.enquire-form .field textarea.is-valid {
    border-color: #198754;
}

.enquire-form .form-message {
    margin-top: 15px;
    color: #dc3545;
    font-size: 14px;
}
@media (max-width: 767px) {
    .enquire-section { padding: 60px 20px 50px; }
    .enquire-section h2 { font-size: 36px; }
    .enquire-section .enquire-buttons { flex-direction: column; align-items: center; }
}
body.page-home .enquire-section .form-step[data-step="1"] .enq-row { padding: 5px 0; }   /* live homepage: extra row padding */

/* ======================================================================
   COACH & SPRINTER HIRE — the live page's own stylesheet, scoped to this page
   ====================================================================== */
body.page-coach div.wpforms-container-full input[type=submit], body.page-coach div.wpforms-container-full button[type=submit], body.page-coach div.wpforms-container-full .wpforms-page-button, body.page-coach div.wpforms-container-full input[type=submit], body.page-coach div.wpforms-container-full button[type=submit], body.page-coach div.wpforms-container-full .wpforms-page-button {height: 45px;
    background-color: #001633 !important;
    color: white !important;
    font-size: 15px !important;
    width: 100% !important;}
body.page-coach .mhb-row.action-bar {display: none !important}
body.page-coach .airport-hero-left-column > .vc_column-inner {justify-content: center !important;}
body.page-coach .airport-button-column > .vc_column-inner > .wpb_wrapper {display: flex;
    justify-content: start;}
body.page-coach .vc_custom_1737041001099.vc_row-has-fill {padding-top: 50px !important;}
body.page-coach .vc_col-sm-5 .vc_column-inner.vc_custom_1757063685500 {padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;}
body.page-coach .card-title .vc-hoverbox-front-inner h2, body.page-coach .card-title .vc-hoverbox-back-inner h2 {font-size: 26px;
    color: #fff;}
body.page-coach .lf-grid-cols-3 button.lf-py-4, body.page-coach .lf-pr-2 button[type=button], body.page-coach .lf-right-2 button[type=button], body.page-coach button.lf-pl-2\.5, body.page-coach .lf-justify-end button[type=button] {background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    color: #000;}
body.page-coach .lf-grid-cols-3 button.\!lf-border-\[--primary-color\] {border-bottom: 1px solid #000;}
body.page-coach input[type=text].lf-w-full {width: 100%;
    padding: 8px 26px;
    margin-bottom: 0;}
body.page-coach button[type=submit] {background-color: #000;
    color: #fff;}
body.page-coach .lf-pr-2 button[type=button], body.page-coach .lf-right-2 button[type=button], body.page-coach button.lf-pl-2\.5, body.page-coach .lf-justify-end button[type=button], body.page-coach button.cardcusbtn {margin: 0;}
body.page-coach .window-booking .vc_custom_1783600818950 {background-color: transparent !important;}
body.page-coach .concierge-clients {padding:20px 0;}
body.page-coach .concierge-heading {text-align:center;
    max-width:850px;
    margin:0 auto 50px;}
body.page-coach .concierge-heading span {color:#CEA986;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    display:block;
    margin-bottom:10px;
    font-weight:600;}
body.page-coach .concierge-heading h2 {color: #001633;
    font-size:42px;
    margin-bottom:15px;}
body.page-coach .concierge-heading p {color:#7c7c7c;
    line-height:1.8;}
body.page-coach .fleet-showcase-grid {display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;}
body.page-coach .fleet-showcase-grid.sm {grid-template-columns:repeat(4,1fr);}
body.page-coach .fleet-showcase-card {background:#111;
    border:1px solid rgba(206,169,134,.18);
    border-radius:14px;
    overflow:hidden;
    transition:all .35s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.18);}
body.page-coach .fleet-showcase-card:hover {transform:translateY(-8px);
    border-color:#CEA986;
    box-shadow:0 18px 45px rgba(0,0,0,.35);}
body.page-coach .fleet-showcase-image {position:relative;
    height:185px;
    overflow:hidden;}
body.page-coach .fleet-showcase-grid.sm .fleet-showcase-image {height: 225px;}
body.page-coach .fleet-showcase-image img {width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease;}
body.page-coach .fleet-showcase-card:hover .fleet-showcase-image img {transform:scale(1.08);}
body.page-coach .fleet-showcase-image:after {content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.45) 0%,
        rgba(0,0,0,.08) 55%,
        rgba(0,0,0,0) 100%
    );}
body.page-coach .fleet-showcase-image:before {content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:3px;
    background:#CEA986;
    z-index:2;}
body.page-coach .fleet-showcase-content {padding:18px 14px 20px;
    text-align:center;}
body.page-coach .fleet-showcase-content h3 {margin:0 0 6px;
    color:#fff;
    font-size:17px;
    font-weight:600;
    line-height:1.35;}
body.page-coach .fleet-showcase-content p {margin:0;
    color:#CEA986;
    font-size:15px;
    font-weight:600;
    letter-spacing:.3px;}
@media (max-width:1200px){body.page-coach .fleet-showcase-grid {grid-template-columns:repeat(3,1fr);}}
@media (max-width:991px){body.page-coach .fleet-showcase-grid {grid-template-columns:repeat(2,1fr);
        gap:16px;}
body.page-coach .fleet-showcase-image {height:170px;}
body.page-coach .fleet-showcase-content h3 {font-size:16px;}
body.page-coach .concierge-heading h2 {font-size:32px;}}
@media (max-width:575px){body.page-coach .fleet-showcase-grid {grid-template-columns:1fr !important;}
body.page-coach .fleet-showcase-image {height:210px;}}
body.page-coach .concierge-highlight {padding:0;}
body.page-coach .concierge-wrap {display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:50px;
    align-items:center;
    background:#fff;
    border-radius:16px;
    padding:50px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);}
body.page-coach .section-tag {display:inline-block;
    color:#CEA986;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;}
body.page-coach .concierge-left h2 {font-size:42px;
    margin:0 0 12px;
    color:#111;}
body.page-coach .concierge-left h4 {font-size:22px;
    color:#CEA986;
    margin-bottom:20px;
    font-weight:500;}
body.page-coach .concierge-left p {font-size:15px;
    line-height:1.9;
    color:#666;
    margin:0;}
body.page-coach .concierge-right h3 {font-size:30px;
    color:#111;
    margin-bottom:30px;}
body.page-coach .service-list {display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;}
body.page-coach .service-item {display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    background:#fafafa;
    border:1px solid rgba(206,169,134,.25);
    border-radius:10px;
    transition:.3s;}
body.page-coach .service-item:hover {background:#CEA986;
    transform:translateY(-3px);}
body.page-coach .service-item i {width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(206,169,134,.15);
    color:#CEA986;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    transition:.3s;
    flex-shrink:0;}
body.page-coach .service-item span {color:#222;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
    transition:.3s;}
body.page-coach .service-item:hover i {background:#fff;
    color:#CEA986;}
body.page-coach .service-item:hover span {color:#fff;}
body.page-coach .concierge-btn-wrap {margin-top:20px;}
body.page-coach .concierge-btn {display:inline-flex;
    align-items:center;
    gap:12px;
    padding:15px 34px;
    background:#CEA986;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-size:16px;
    font-weight:600;
    letter-spacing:.5px;
    transition:all .35s ease;
    box-shadow:0 10px 25px rgba(206,169,134,.3);}
body.page-coach .concierge-btn i {transition:transform .35s ease;}
body.page-coach .concierge-btn:hover {background:#111;
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.2);}
body.page-coach .concierge-btn:hover i {transform:translateX(5px);}

body.page-coach .fleet-comparison {padding:20px 0;}
body.page-coach .fleet-table-wrap {overflow-x:auto;
    margin-top:40px;
    border-radius:12px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);}
body.page-coach .fleet-table {width:100%;
    border-collapse:collapse;
    min-width:900px;
    background:#fff;}
body.page-coach .fleet-table thead {background:#111;}
body.page-coach .fleet-table thead th {color:#CEA986;
    padding:18px 20px;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:1px;
    font-weight:600;}
body.page-coach .fleet-table tbody td {padding:18px 20px;
    font-size:15px;
    color:#555;
    border-bottom:1px solid #eee;}
body.page-coach .fleet-table tbody tr:nth-child(even) {background:#fafafa;}
body.page-coach .fleet-table tbody tr:hover {background:#fff8f1;}
body.page-coach .fleet-table tbody tr td:first-child {font-weight:700;
    color:#111;}
body.page-coach .fleet-table tbody tr:last-child td {border-bottom:none;}
@media(max-width:991px){body.page-coach .concierge-wrap {grid-template-columns:1fr;
        padding:35px;}
body.page-coach .concierge-left h2 {font-size:34px;}
body.page-coach .fleet-table {min-width:850px;}}
@media(max-width:576px){body.page-coach .concierge-highlight .container, body.page-coach .fleet-comparison .container {padding: 0 !important;}
body.page-coach .concierge-wrap {padding:20px;}
body.page-coach .concierge-left h2 {font-size:28px;}
body.page-coach .concierge-right h3 {font-size:24px;}
body.page-coach .service-list {grid-template-columns:1fr;}
body.page-coach .service-item {padding:14px;}}
/* Theme defaults the hand-written blocks rely on (live values; base line-height on this page is
   22.5px because the Logistifie widget's reset sets html{line-height:1.5}) */
body.page-coach :where(.jet-raw) { font-family: var(--font-base); font-size: 15px; color: #6b6b6b; }
body.page-coach :where(.jet-raw) h2 { font-family: var(--font-head); font-size: 55px; line-height: 55px; color: #242a3a; margin: 0 0 15px; }
body.page-coach :where(.jet-raw) h3 { font-family: var(--font-head); line-height: 40px; }
body.page-coach :where(.jet-raw) h4 { font-family: var(--font-head); line-height: 27px; }
body.page-coach .action-bar { display: none; }                      /* live hides the price ticker here */
body.page-coach .menu-toggle.is-active { top: 35px; }
body.page-concierge .enquire-section, body.page-coach .enquire-section { padding-top: 115px; }

/* Hero: left-aligned text, Logistifie widget right */
.coach-hero { padding: 145px 30px 50px; }
.coach-hero .coach-hero__text { text-align: left; padding-right: 20px; }
.coach-hero .coach-hero__text h6 { text-align: left; }
.coach-hero .coach-hero__text h1 { font-size: 60px; line-height: 70px; text-align: left; }
.coach-hero .coach-hero__text p { text-align: left; line-height: 22.5px; margin: 20px 0 30px; }
.coach-hero__buttons { justify-content: flex-start; padding-top: 0; }
.coach-hero .coach-hero__form { padding: 0; }
.coach-hero__form booking-widget { display: block; margin-bottom: 35px; }

/* Explore: photo left (600px), text right, vertically centred */
.coach-explore { position: relative; z-index: 1; display: flex; align-items: center; margin-top: -100px; padding-top: 60px; background: #fff var(--about-bg) center / cover no-repeat; }
.coach-explore__media, .coach-explore__text { flex: 0 0 50%; min-width: 0; }
.coach-explore__photo { height: 600px; background-position: 0 0; background-repeat: no-repeat; }   /* live: natural size, top-left */
.coach-explore__text { padding-right: 20px; }
.coach-explore__text h2 { font-size: 50px; line-height: 55px; color: var(--navy); margin: 0 0 10px; }
.coach-explore__text p { font-family: var(--font-text); font-size: 15px; line-height: 25px; color: var(--grey-text); margin: 0 0 10px; }

/* Fleet section */
.coach-fleet { background: #fff; margin: 0 15px; padding: 35px 0 30px; }
.coach-fleet__title { font-size: 50px; line-height: 55px; color: #242a3a; text-align: center; margin: 0 0 10px; }
.vip-carousel { position: relative; }
.vip-carousel__viewport { overflow: hidden; }
.vip-carousel__track { display: flex; transition: transform .5s ease; }
.vip-carousel__item { flex: 0 0 calc(100% / 4.9); padding: 0 10px; display: block;  }
.vip-carousel__item img { display: block; width: 100%; height: auto; aspect-ratio: 355 / 475; object-fit: cover; }
.vip-carousel__arrow { position: absolute; top: 50%; z-index: 2; width: 60px; height: 30px; margin-top: -15px; border: 0; background: none; opacity: .5; cursor: pointer; transition: opacity .2s; }
.vip-carousel__arrow:hover { opacity: 1; }
.vip-carousel__arrow::before { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; border: solid #fff; border-width: 3px 3px 0 0; }
.vip-carousel__arrow--prev { left: 0; }
.vip-carousel__arrow--prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.vip-carousel__arrow--next { right: 0; }
.vip-carousel__arrow--next::before { transform: translate(-70%, -50%) rotate(45deg); }
.coach-block:first-of-type { margin-top: 70px; }
.vip-carousel + .coach-block { margin-top: 70px; }
.coach-block + .coach-block + .coach-block { margin-top: 35px; }
.coach-find { padding-top: 35px; text-align: center; }
.coach-find h2 { font-size: 45px; line-height: 50px; color: #242a3a; margin: 0 0 15px; }
.coach-find p { font-family: var(--font-text); font-size: 15px; line-height: 22.5px; color: #6b6b6b; padding: 0 10px 15px; margin: 0; }
.coach-find__btn { padding: 10px 10% 20px; }
.coach-find__btn .btn-pill { display: block; width: 100%; }
.coach-faq .jet-box { padding-top: 83px; }
.coach-faq__title { font-size: 40px; line-height: 50px; }
body.page-coach .faq-jet__q { line-height: 22.5px; }

/* Lightbox */
.lightbox { position: fixed; inset: 0; z-index: 100003; display: grid; place-items: center; background: rgba(0,0,0,.88); padding: 40px 70px; }
.lightbox[hidden] { display: none; }
.lightbox__img { max-width: 100%; max-height: calc(100vh - 80px); object-fit: contain; }
.lightbox__close, .lightbox__nav { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; opacity: .8; }
.lightbox__close { top: 15px; right: 20px; font-size: 40px; line-height: 1; }
.lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 60px; line-height: 1; padding: 10px; }
.lightbox__nav--prev { left: 10px; }
.lightbox__nav--next { right: 10px; }
.lightbox__close:hover, .lightbox__nav:hover { opacity: 1; }

@media (max-width: 1000px) {
    .coach-hero { background: #fff; padding: 15px ; }
    .coach-explore { flex-direction: column; margin-top: 0; padding: 50px 10px 20px; background-image: var(--about-bg-m); }
    .coach-explore__media, .coach-explore__text { flex-basis: auto; width: 100%; }
    .coach-explore__photo { height: 400px; background-size: cover; background-position: center; }
    .coach-explore__text { padding: 30px 0 0; }
    .coach-explore__text h2, .coach-fleet__title { font-size: 36px; line-height: 40px; }
    .coach-fleet { margin: 0; padding: 35px 10px 20px; }
    .coach-find h2 { font-size: 32px; line-height: 38px; }
    .coach-find__btn { padding: 10px 0 20px; }
    .vip-carousel__item{flex: 0 0 calc(100% / 2);}
}
/* Theme table defaults (Betheme): space below tables, faint line under header cells */
body.page-coach .fleet-table { margin-bottom: 15px; }
body.page-coach .fleet-table thead th { border-bottom: 1px solid rgba(0,0,0,.08); }

/* =====================================================================
   GET STARTED (values measured from the live page)
   ===================================================================== */
.gs-hero { padding: 235px 30px 50px; background: var(--navy) var(--gs-bg) center / cover no-repeat; text-align: center; color: #fff; }
.gs-hero__copy { max-width: 693px; margin: 0 auto; }
.gs-hero h6 { font-size: 15px; line-height: 29px; color: #fff; margin: 0 0 10px; }
.gs-hero h1 { font-size: 65px; line-height: 70px; color: #fff; margin: 0 0 10px; }
.gs-hero .gs-hero__sub { padding: 0 5%; }
.gs-tiles { position: relative; z-index: 1; margin-top: -100px; padding: 35px 10% 100px; }
.gs-tiles .service-tiles { margin-top: 0; }
@media (min-width: 1001px) {
    .service-tiles--flush .service-tiles__col .sk-service-tile + .sk-service-tile { margin-top: 0; }
}
/* "LEARN MORE" hidden until hover; tagline slides up to make room (live Get Started behaviour) */
.service-tiles--reveal .sk-service-desc { margin-bottom: -50px; }
.service-tiles--reveal .sk-tile-cta { opacity: 0; }
.service-tiles--reveal .sk-service-tile:hover .sk-service-desc { margin-bottom: 30px; transition: .6s ease-in-out; }
.service-tiles--reveal .sk-service-tile:hover .sk-tile-cta { opacity: 1; transition: 1s ease-in-out; }

/* Enquire on Get Started: its own spacing on live */
body.page-gs .enquire-section { padding-top: 95px; padding-bottom: 65px; }
body.page-gs .enquire-section .form-step[data-step="1"] .enq-row { padding: 3px 0 20px; }          /* live nests row + field padding */
body.page-gs .enquire-section .field, body.page-gs .enquire-section .form-step[data-step="1"] .enq-row .field { padding: 3px 0 20px; }
body.page-gs .enquire-section .enquire-buttons { padding: 3px 0 20px; }

@media (max-width: 1000px) {
    .gs-hero { padding: calc(var(--ticker-h) + var(--header-h) + 60px) 20px 120px; }
    .gs-hero h1 { font-size: 42px; line-height: 48px; }
    .gs-tiles { margin-top: -60px; padding: 0 5% 60px; }
}

/* =====================================================================
   CONTACT + GET AN INSTANT QUOTE (values measured from the live pages)
   ===================================================================== */
.iti { display: block; width: 100%; }

/* "Get in Touch" card */
.contact-main { position: relative; z-index: 1; margin-top: -120px; padding: 35px 0 60px; }
.contact-card { max-width: 904px; margin: 0 auto 40px; padding: 45px; background: #F9F9F9; border-radius: 20px; }
.contact-card h4 { font-size: 30px; line-height: 35px; color: var(--navy); text-align: center; margin: 0 0 10px; }
.contact-form { padding-top: 24px; color: rgba(0,0,0,.7); }
.contact-form .field { margin: 0; padding: 15px 0 10px; }
.contact-form .field label { font-family: var(--font-text); font-size: 15px; line-height: 19px; font-weight: 500; color: rgba(0,0,0,.85); margin: 0 0 5px; }
.contact-form .field input, .contact-form .field textarea {
    height: 55px; padding: 0 14px; background: transparent; border: 1px solid #d8d8d8; border-radius: 8px;
    font-family: var(--font-base); font-size: 16px; color: rgba(0,0,0,.7);
}
.contact-form .field textarea { height: 120px; padding: 14px; line-height: 20.8px; }
.contact-form__submit { text-align: center; padding-top: 10px; }
.btn-contact { width: 200px; height: 48px; border: 0; border-radius: 100px; background: var(--tan); color: #fff; font-family: var(--font-text); font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .3s; }
.btn-contact:hover { background: var(--navy); color: #fff; }

/* "Require further assistance?" panel */
.assist { max-width: 1236px; margin: 0 auto; padding: 0 15px; }
.assist__title { font-size: 30px; line-height: 35px; color: var(--navy); text-align: center; margin: 0 0 10px; }
.assist__bookings { font-size: 15px; line-height: 28px; color: #6b6b6b; }
.assist__bookings h4 { font-size: 22px; line-height: 27px; color: #242a3a; margin: 0 0 15px; }
.assist__bookings a { color: #6b6b6b; }
.assist__center { text-align: center; }
.assist__center h6 { font-size: 15px; line-height: 29px; color: #6b6b6b; margin: 0 0 15px; }
.assist .sk_contact_links h6 { color: var(--navy); }
.assist .sk_contact_links a { color: var(--navy); }
.assist .sk_seperator { padding: 0 15px; }
.assist__feed { margin-top: 20px; margin-bottom: 35px; }

/* Get an Instant Quote */
.iq-hero { padding: 135px 30px 50px; background: var(--navy) var(--iq-bg) center / cover no-repeat; text-align: center; }
.iq-hero p { font-family: var(--font-base); font-size: 15px; line-height: 28px; color: #fff; margin: 0 0 10px; }
.iq-hero h2 { font-size: 55px; line-height: 55px; color: #fff; margin: 0 0 10px; }
.iq-form { position: relative; z-index: 1; margin-top: -70px; }
.iq-card.window-booking { max-width: 720px; margin: 0 auto; background: #F8F8F8; }
.iq-card__title { font-family: var(--font-head); font-size: 45px; line-height: 40px; color: var(--navy); text-align: center; padding: 20px 0; margin: 0 0 10px; }
.iq-card .swift-form { margin-top: 24px; }
.iq-card .window-booking .field, .iq-card .field { padding-top: 5px; padding-bottom: 5px; }
.iq-card .form-step .row { padding: 5px 0; }
.iq-assist { padding: 65px 0 60px; }

/* Enquire on Contact: Get Started spacing with 80 + 35 at the top (live) */
body.page-contact .enquire-section { padding-top: 115px; padding-bottom: 65px; }
body.page-contact .enquire-section .form-step[data-step="1"] .enq-row { padding: 3px 0 20px; }
body.page-contact .enquire-section .field, body.page-contact .enquire-section .form-step[data-step="1"] .enq-row .field { padding: 3px 0 20px; }

body.page-contact .enquire-section .enquire-buttons { padding: 3px 0 20px; }

@media (max-width: 1000px) {
    .contact-main { margin-top: -60px; padding: 0 15px 40px; }
    .contact-card { padding: 30px 20px; }
    .iq-hero { padding: calc(var(--ticker-h) + var(--header-h) + 40px) 20px 90px; }
    .iq-hero h2 { font-size: 40px; line-height: 44px; }
    .iq-form { padding: 0 15px 40px; }
    .iq-card__title { font-size: 32px; line-height: 34px; }
}
/* Fine-tuning measured against live */
.contact-form { padding-top: 14px; padding-bottom: 24px; }
.contact-form .field label { margin-bottom: 6px; }
.contact-form .field textarea { display: block; }
.assist__feed { margin-top: 0; padding-top: 20px; }
.iq-hero { padding-bottom: 100px; }
.iq-card .field select { height: 45px; }

/* ---------------------------------------------------------------------
   Phone country picker (intl-tel-input) — keep the site's field styles off
   the picker itself, and match the live look (flag at the left, 53px text indent)
   --------------------------------------------------------------------- */
.iti { display: block; width: 100%; }
.field input.iti__tel-input { padding-left: 53px !important; }
.enquire-section .iti__selected-country { background: transparent; border: 0; color: #fff; }
.enquire-section .iti__arrow { border-top-color: #fff; }
.enquire-section .iti__arrow--up { border-top-color: transparent; border-bottom-color: #fff; }
.contact-form .iti__selected-country, .window-booking .iti__selected-country { background: transparent; border: 0; }
.iti__selected-country { cursor: pointer; }
.iti__selected-country:hover .iti__selected-country-primary { background-color: rgba(255,255,255,.08); }
/* Dropdown: always a white panel with dark text, wherever it opens */
.iti--container { z-index: 100010; }
.iti__dropdown-content { background: #fff; color: #222; border: 1px solid #ccc; border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.18); font-family: var(--font-base); font-size: 14px; line-height: 1.4; }
input.iti__search-input,
.field input.iti__search-input,
.enquire-section .field input.iti__search-input {
    height: 40px !important; width: 100%; padding: 0 12px !important; margin: 0;
    background: #fff !important; color: #222 !important; border: 0 !important; border-bottom: 1px solid #ddd !important; border-radius: 6px 6px 0 0 !important;
    font-family: var(--font-base); font-size: 14px; box-shadow: none !important;
}
.iti__search-input::placeholder { color: #888 !important; }
.iti__country-list { margin: 0; padding: 0; list-style: none; max-height: 240px; overflow-y: auto; }
.iti__country { color: #222; padding: 8px 10px; }
.iti__country.iti__highlight { background: #f2ede6; }
.iti__dial-code { color: #888; }
.iti__a11y-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


/* =========================================================
   SWIFT LUXURY — TERMS & CONDITIONS
   Uses the existing project theme variables
========================================================= */

.terms-page {
    background: var(--white);
    color: var(--body-text);
    font-family: var(--font-base);
}

.terms-container {
    width: min(1200px, calc(100% - 2 * var(--side-pad)));
    margin-inline: auto;
}

/* Hero */

.terms-hero {
    position: relative;
    overflow: hidden;
    padding: 100px 0 65px;
    background: var(--navy);
    color: var(--white);
}

.terms-hero::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -220px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(206, 169, 134, 0.22);
    border-radius: 50%;
    pointer-events: none;
}

.terms-eyebrow,
.terms-label {
    display: inline-block;
    margin: 0 0 18px;
    color: var(--tan);
    font-family: var(--font-nav);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.2px;
    line-height: 1.5;
    text-transform: uppercase;
}

.terms-hero h1 {
    max-width: 850px;
    margin: 0 0 20px;
    color: var(--white);
    font-family: var(--font-head);
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.terms-hero h1 em {
    color: var(--tan-step);
    font-weight: 400;
}

.terms-hero__description {
    max-width: 650px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.76);
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.9;
}

.terms-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
    line-height: 1.6;
}

.terms-breadcrumb a {
    color: var(--tan-step);
    transition: color 0.25s ease;
}

.terms-breadcrumb a:hover {
    color: var(--white);
}

/* Main layout */

.terms-content {
    padding: 85px 0 100px;
}

.terms-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 65px;
}

/* Sidebar */

.terms-sidebar {
    position: sticky;
    top: calc(var(--header-h) + 24px);
    padding: 26px 20px;
    border: 1px solid var(--field-border);
    background: var(--field-bg);
}

.terms-sidebar__title {
    margin: 0 0 17px;
    color: var(--navy);
    font-family: var(--font-head);
    font-size: 23px;
    line-height: 1.3;
}

.terms-sidebar nav {
    display: grid;
    gap: 2px;
}

.terms-sidebar nav a {
    display: block;
    padding: 9px 10px;
    border-left: 2px solid transparent;
    color: var(--body-text);
    font-family: var(--font-text);
    font-size: 13px;
    line-height: 1.6;
    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.terms-sidebar nav a:hover,
.terms-sidebar nav a:focus-visible {
    border-left-color: var(--tan);
    background: var(--white);
    color: var(--navy);
}



/* Legal sections */

.terms-section {
    position: relative;
    padding: 34px 0 36px;
    border-bottom: 1px solid var(--field-border);
    scroll-margin-top: calc(var(--header-h) + 24px);
}

.terms-number {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--tan);
    font-family: var(--font-nav);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.8px;
}

.terms-section h2,
.terms-contact h2 {
    margin: 0 0 18px;
    color: var(--navy);
    font-family: var(--font-head);
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 400;
    line-height: 1.3;
}
.terms-section h3{margin-top: 20px;}

.terms-section p,
.terms-section li {
    color: var(--body-text);
    font-family: var(--font-text);
    font-size: 15px;
    line-height: 1.9;
}

.terms-section p {
    margin: 0 0 16px;
}

.terms-section ul {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
    padding-left: 22px;
}

.terms-section li {
    padding-left: 5px;
}

.terms-section li::marker {
    color: var(--tan);
}

.terms-section strong {
    color: var(--navy);
    font-weight: 600;
}

.terms-inline-link {
    color: var(--navy);
    text-decoration: underline;
    text-decoration-color: var(--tan);
    text-underline-offset: 4px;
}

/* Contact panel */

.terms-contact {
    margin-top: 45px;
    padding: 38px;
    background: var(--navy-footer);
    color: var(--white);
}

.terms-contact h2 {
    margin-bottom: 12px;
    color: var(--white);
}

.terms-contact > p:not(.terms-contact__details) {
    max-width: 560px;
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-text);
    font-size: 15px;
    line-height: 1.85;
}

.terms-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.terms-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 1px solid var(--tan);
    font-family: var(--font-nav);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.7px;
    line-height: 1.5;
    text-align: center;
    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.terms-button--primary {
    background: var(--tan);
    color: var(--navy);
}

.terms-button--primary:hover {
    border-color: var(--tan-step);
    background: var(--tan-step);
}

.terms-button--outline {
    background: transparent;
    color: var(--white);
}

.terms-button--outline:hover {
    background: var(--white);
    color: var(--navy);
}

.terms-contact__details {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--font-text);
    font-size: 13px;
    line-height: 1.8;
}

.terms-contact__details a {
    color: var(--tan-step);
}

.terms-contact__details a:hover {
    color: var(--white);
}

/* Responsive */

@media (max-width: 1024px) {
    .terms-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 32px;
    }

    .terms-sidebar {
        padding: 22px 14px;
    }

    .terms-intro {
        padding: 24px;
    }
}

@media (max-width: 767px) {
    .terms-container {
        width: calc(100% - 40px);
    }

    .terms-hero {
        padding: 72px 0 45px;
    }

    .terms-hero h1 {
        font-size: clamp(39px, 10vw, 56px);
        letter-spacing: -0.8px;
    }

    .terms-hero__description {
        font-size: 14px;
        line-height: 1.8;
    }

    .terms-content {
        padding: 45px 0 65px;
    }

    .terms-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .terms-sidebar {
        position: static;
        padding: 22px;
    }

    .terms-sidebar nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px 10px;
    }

    .terms-sidebar nav a {
        padding: 8px 7px;
        font-size: 12px;
    }

    .terms-intro {
        padding: 22px;
        padding-bottom: 0;
    }

    .terms-section {
        padding: 28px 0;
    }

    .terms-section h2,
    .terms-contact h2 {
        font-size: 27px;
    }

    .terms-section p,
    .terms-section li {
        font-size: 14px;
        line-height: 1.85;
    }

    .terms-contact {
        margin-top: 32px;
        padding: 27px 22px;
    }
}

@media (max-width: 420px) {
    .terms-container {
        width: calc(100% - 32px);
    }

    .terms-sidebar nav {
        grid-template-columns: minmax(0, 1fr);
    }

    .terms-contact__actions {
        flex-direction: column;
    }

    .terms-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .terms-page *,
    .terms-page *::before,
    .terms-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}


.scroll-top {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 999;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 50%;
    background: var(--tan);
    color: var(--white);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition);
    border: none;
    outline: none;

    &.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    &:hover {
        background: var(--color-gold);
        color: var(--color-navy);
    }

    &:focus-visible {
        outline: 2px solid var(--color-gold);
        outline-offset: 4px;
    }

    @media (max-width: 575.98px) {
        bottom: 80px;
        width: 42px;
        height: 42px;
    }

    @media (prefers-reduced-motion: reduce) {
        transition: none;
    }
}

.enquire-section .form-step[data-step="1"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.enquire-section .form-step[data-step="1"] .enq-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
}

.enquire-section .form-step[data-step="1"] .enq-row .field {
    width: 100%;
    min-width: 0;
    margin-bottom: 10px;
    box-sizing: border-box;
}

/* Inputs and textarea fit their grid columns */
.enquire-section .form-step[data-step="1"] .enq-row .field input,
.enquire-section .form-step[data-step="1"] .enq-row .field textarea,
.enquire-section .form-step[data-step="1"] .enq-row .field select {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Message field takes the full row */
.enquire-section .form-step[data-step="1"] .enq-row .field-wide {
    grid-column: 1 / -1;
}

/* Logo */
.enquire-section__logo {
    display: block;
    width: 262px;
    max-width: 100%;
    height: auto;
    margin-top: 69px;
    margin-bottom: 35px;
}

/* ==========================
   TABLET: 2 COLUMNS
========================== */

@media screen and (max-width: 1024px) {
    .enquire-section .form-step[data-step="1"] .enq-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .enquire-section__logo {
        margin-top: 45px;
        margin-bottom: 25px;
    }
}

/* ==========================
   MOBILE: 1 COLUMN
========================== */

@media screen and (max-width: 767px) {
    .enquire-section .form-step[data-step="1"] .enq-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .enquire-section .form-step[data-step="1"] .enq-row .field {
        margin-bottom: 16px;
    }

    .enquire-section .form-step[data-step="1"] .enq-row .field-wide {
        grid-column: auto;
    }

    .enquire-section__logo {
        width: 200px;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    .enquire-section .form-step[data-step="1"] .enquire-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        width: 100%;
    }

    .enquire-section .form-step[data-step="1"] .enquire-buttons .btn-pill {
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ==========================
   SMALL MOBILE
========================== */

@media screen and (max-width: 480px) {
    .enquire-section .form-step[data-step="1"] .enq-row {
        gap: 0;
    }

    .enquire-section .form-step[data-step="1"] .enq-row .field {
        margin-bottom: 14px;
    }

    .enquire-section__logo {
        width: 160px;
        margin-top: 20px;
        margin-bottom: 15px;
    }

    .enquire-section .form-step[data-step="1"] .enquire-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .enquire-section .form-step[data-step="1"] .enquire-buttons .btn-pill {
        width: 100%;
        justify-content: center;
    }
}

.elite-chauffeur {
    overflow: hidden;
    background: var(--white) !important;
}

.elite-chauffeur-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}

.elite-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--tan) !important;
    font-family: var(--font-nav);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
}

.elite-chauffeur-head h2 {
    margin: 0;
    color: var(--navy) !important;
    font-family: var(--font-head);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 400;
}

.elite-slider-controls {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.elite-slider-controls button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(0, 22, 51, .18) !important;
    border-radius: 50%;
    background: var(--white) !important;
    color: var(--navy) !important;
    cursor: pointer;
    transition: .3s ease;
}

.elite-slider-controls button:hover {
    border-color: var(--tan) !important;
    background: var(--navy) !important;
    color: var(--white) !important;
}

.elite-car-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #EEEEEE !important;
    border-radius: 12px;
    background: var(--white) !important;
    transition: transform .3s ease, box-shadow .3s ease;
}

.elite-car-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 22, 51, .09) !important;
}

.elite-car-image {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #F7F7F7 !important;
}

.elite-car-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.elite-car-card:hover .elite-car-image img {
    transform: scale(1.04);
}

.elite-car-content {
    padding: 15px 20px;
}

.elite-car-content h3 {
    min-height: 30px;
    margin: 0 0 10px;
    color: var(--navy) !important;
    font-family: var(--font-head);
    font-size: 21px;
    font-weight: 400;
}

.elite-price-list {
    display: grid;
    gap: 0;
}

.elite-price-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-top: 1px solid #EEEEEE !important;
}

.elite-price-list span {
    color: var(--body-text) !important;
    font-family: var(--font-text);
    font-size: 13px;
}

.elite-price-list strong {
    color: var(--navy) !important;
    /* font-family: var(--font-nav); */
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 575px) {
    .elite-chauffeur-head {
        margin-bottom: 24px;
    }

    .elite-slider-controls button {
        width: 38px;
        height: 38px;
    }

    .elite-car-content {
        padding: 18px 16px;
    }

    .elite-car-content h3 {
        font-size: 19px;
    }
}

/* Fleet main */
 .swift-fleet-intro {
    width: 100%;
    box-sizing: border-box;
    padding: 90px 24px;
    background: #ffffff;
    color: #171717;
    font-family: inherit;
  }

  .swift-fleet-intro *,
  .swift-fleet-intro *::before,
  .swift-fleet-intro *::after {
    box-sizing: border-box;
  }

  .swift-fleet-intro__container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
  }

  .swift-fleet-intro__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: #a78348;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.5;
    text-transform: uppercase;
  }

  .swift-fleet-intro__line {
    display: inline-block;
    width: 38px;
    height: 1px;
    flex-shrink: 0;
    background: #a78348;
  }

  .swift-fleet-intro__title {
    max-width: 850px;
    margin: 0 0 30px;
    color: #171717;
    font-family: inherit;
    font-size: clamp(34px, 4.2vw, 56px);
    font-weight: 500;
    letter-spacing: -1.8px;
    line-height: 1.16;
  }

  .swift-fleet-intro__content {
    max-width: 980px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
  }

  .swift-fleet-intro__content p {
    margin: 0;
    color: #666666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
  }

  @media (max-width: 767px) {
    .swift-fleet-intro {
      padding: 58px 20px;
    }

    .swift-fleet-intro__eyebrow {
      margin-bottom: 17px;
      font-size: 11px;
      letter-spacing: 2.5px;
    }

    .swift-fleet-intro__title {
      margin-bottom: 22px;
      font-size: clamp(32px, 8vw, 42px);
      letter-spacing: -1px;
      line-height: 1.2;
    }

    .swift-fleet-intro__content {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .swift-fleet-intro__content p {
      font-size: 15px;
      line-height: 1.8;
    }
}

/* Fleet */
.swift-fleet-intro {
    width: 100%;
    padding: 60px 25px;
    background: #fff;
    color: #171717;
    box-sizing: border-box;
  }

  .swift-fleet-intro *,
  .swift-fleet-intro *::before,
  .swift-fleet-intro *::after {
    box-sizing: border-box;
  }

  .swift-fleet-intro__container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
  }

  .swift-fleet-intro__grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 75px;
    align-items: center;
  }

  .swift-fleet-intro__eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: #a78348;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
  }

  .swift-fleet-intro__line {
    width: 38px;
    height: 1px;
    background: #a78348;
    flex-shrink: 0;
  }

  .swift-fleet-intro__title {
    max-width: 650px;
    margin: 0 0 25px;
    color: #171717;
    font-family: inherit;
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 500;
    letter-spacing: -1.7px;
    line-height: 1.16;
  }

  .swift-fleet-intro__description {
    max-width: 610px;
    margin: 0;
    color: #686868;
    font-size: 16px;
    line-height: 1.9;
  }

  .swift-fleet-intro__right {
    position: relative;
    padding: 36px 30px;
    background: #f7f5f1;
    border: 1px solid #eee9df;
    border-radius: 8px;
  }

  .swift-fleet-intro__accent {
    width: 48px;
    height: 3px;
    margin-bottom: 27px;
    background: #a78348;
  }

  .swift-fleet-intro__label {
    display: block;
    margin-bottom: 18px;
    color: #252525;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.6;
  }

  .swift-fleet-intro__right-text {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.95;
  }

  .swift-fleet-intro__categories {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
    margin-top: 30px;
    padding-top: 23px;
    border-top: 1px solid #e1dbd0;
    color: #7b633e;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.8;
  }

  .swift-fleet-intro__dot {
    width: 4px;
    height: 4px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #a78348;
  }

  @media (max-width: 900px) {
    .swift-fleet-intro__grid {
      grid-template-columns: 1fr 0.9fr;
      gap: 35px;
    }

    .swift-fleet-intro__right {
      padding: 30px 25px;
    }

    .swift-fleet-intro__title {
      font-size: clamp(34px, 4.5vw, 44px);
    }
  }

  @media (max-width: 680px) {
    .swift-fleet-intro {
      padding: 40px 20px;
    }

    .swift-fleet-intro__grid {
      grid-template-columns: 1fr;
      gap: 30px;
    }

    .swift-fleet-intro__title {
      font-size: clamp(34px, 8vw, 42px);
      letter-spacing: -1px;
      line-height: 1.2;
    }

    .swift-fleet-intro__description,
    .swift-fleet-intro__right-text {
      font-size: 15px;
      line-height: 1.85;
    }

    .swift-fleet-intro__right {
      padding: 30px 25px;
    }

    .swift-fleet-intro__categories {
      gap: 9px;
    }
}
.sl-fleet-page {
  --sl-gold: #cea986;
  --sl-black: #001633;
  --sl-grey: #686868;
  --sl-light: #f7f6f3;
  color: var(--sl-black);
  line-height: 1.7;
}

.sl-fleet-page *,
.sl-fleet-page *::before,
.sl-fleet-page *::after {
  box-sizing: border-box;
}

.sl-fleet-page .sl-container {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.sl-fleet-page .sl-section {
  padding: 0 0 60px;
}

.sl-fleet-page .sl-eyebrow {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--sl-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.8px;
  text-transform: uppercase;
}

.sl-fleet-page h2,
.sl-fleet-page h3,
.sl-fleet-page h4,
.sl-fleet-page p {
  margin-top: 0;
}

.sl-fleet-page h2 {
  font-weight: 500;
  letter-spacing: -1.2px;
  line-height: 1.15;
}

.sl-fleet-page h2 {
  margin-bottom: 22px;
  font-size: clamp(32px, 4vw, 48px);
}

.sl-fleet-page p {
  color: var(--sl-grey);
  font-size: 15px;
  line-height: 1.9;
}

.sl-fleet-page a {
  text-decoration: none;
}

.sl-fleet-page .sl-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.sl-fleet-page .sl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
  padding: 14px 23px;
  border: 1px solid transparent;
  border-radius: 24px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-align: center;
  transition: background .25s ease, color .25s ease;
}

.sl-fleet-page .sl-btn-gold {
  background: var(--sl-gold);
  color: #fff;
}

.sl-fleet-page .sl-btn-gold:hover {
  background: var(--champagne-dark);
}

.sl-fleet-page .sl-btn-outline {
  border-color: #aaa;
  color: #fff;
}

.sl-fleet-page .sl-btn-outline:hover {
  border-color: var(--sl-gold);
  color: var(--sl-gold);
}

.sl-fleet-page .sl-btn-dark {
  background: var(--sl-black);
  color: #fff;
}

.sl-fleet-page .sl-btn-dark:hover {
  background: var(--sl-gold);
}

.sl-fleet-page .sl-heading {
  max-width: 760px;
  margin: 0 auto 30px;
  text-align: center;
}

.sl-fleet-page .sl-heading p {
  margin-bottom: 0;
}

.sl-fleet-page .sl-section-light {
  background: var(--sl-light);
}

.sl-fleet-page .sl-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 35px;
}

.sl-fleet-page .sl-feature {
  padding: 30px 0;
  border-top: 1px solid #e3dfd7;
}

.sl-fleet-page .sl-feature-number {
    background: var(--navy);
  width: 20px;
  padding: 10px 20px;
  display: flex;
  justify-content: center;
  border-radius: 50px;
  margin-bottom: 15px;
  color: var(--sl-gold);
  font-size: 12px;
  letter-spacing: 1px;
}

.sl-fleet-page .sl-feature h3,
.sl-fleet-page .sl-selection-item h3 {
  margin-bottom: 10px;
  font-size: 19px;
  font-weight: 500;
}

.sl-fleet-page .sl-feature p,
.sl-fleet-page .sl-selection-item p {
  margin-bottom: 0;
  font-size: 14px;
}

.sl-fleet-page .sl-selection {
  background: var(--sl-light);
}

.sl-fleet-page .sl-cta {
  padding: 60px 0;
  background: linear-gradient(
        135deg,
        rgba(10, 17, 25, 0.96),
        rgba(20, 30, 41, 0.92)
    );
  color: #fff;
  text-align: center;
}

.sl-fleet-page .sl-cta h2 {
  max-width: 800px;
  margin: 0 auto 22px;
  color: #fff;
}

.sl-fleet-page .sl-cta p {
  max-width: 730px;
  margin: 0 auto 30px;
  color: #ccc;
}

.sl-fleet-page .sl-cta .sl-actions {
  justify-content: center;
}

p.fleet-about {
    max-width: 75%;
}

@media (max-width: 900px) {
  .sl-fleet-page .sl-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  p.fleet-about {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .sl-fleet-page .sl-container {
    width: calc(100% - 36px);
  }
  .sl-fleet-page .sl-section {
    padding: 40px 0;
  }
  .sl-fleet-page .sl-hero p {
    font-size: 15px;
  }
  .sl-fleet-page .sl-heading {
    margin-bottom: 32px;
  }
  .sl-fleet-page .sl-cta {
    padding: 40px 0;
  }
  .sl-fleet-page .sl-actions {
    align-items: stretch;
  }
  .sl-fleet-page .sl-btn {
    padding: 14px 16px;
  }
}

/* Swift Luxury - Compact Fleet Selector */
.sl-fleet-page .sl-heading {
  margin-bottom: 24px;
}

.sl-fleet-page .fleet-about {
  max-width: 100%;
  margin: 10px auto 0;
}

.sl-fleet-page .sl-compact-fleet {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.sl-fleet-page .sl-compact-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 245px;
  padding: 24px 22px;
  overflow: hidden;
  background: #001633;
  border: 1px solid #233750;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease;
}

.sl-fleet-page .sl-compact-card:hover {
  transform: translateY(-4px);
  border-color: #cea986;
}

.sl-fleet-page .sl-compact-number {
  color: #cea986;
  font-size: 12px;
  letter-spacing: 2px;
}

.sl-fleet-page .sl-compact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  margin: 18px 0 14px;
  border: 1px solid #8f785f;
  border-radius: 50%;
  color: #cea986;
  font-size: 25px;
}

.sl-fleet-page .sl-compact-card h3 {
  margin: 0 0 9px;
  color: #fff;
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 500;
  line-height: 1.3;
}

.sl-fleet-page .sl-compact-card p {
  margin: 0 0 20px;
  color: #d1d8e1;
  font-size: 13px;
  line-height: 1.65;
}

.sl-fleet-page .sl-compact-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #34465c;
  color: #cea986;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
}

.sl-fleet-page .sl-compact-link span {
  font-size: 18px;
  transition: transform .25s ease;
}

.sl-fleet-page .sl-compact-card:hover .sl-compact-link span {
  transform: translate(3px, -3px);
}

@media (max-width: 767px) {
  .sl-fleet-page .sl-compact-fleet {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 22px;
  }

  .sl-fleet-page .sl-compact-card {
    min-height: 0;
    padding: 20px;
  }

  .sl-fleet-page .sl-compact-icon {
    width: 36px;
    height: 36px;
    margin: 12px 0;
    font-size: 21px;
  }

  .sl-fleet-page .sl-compact-card h3 {
    font-size: 20px;
  }

  .sl-fleet-page .sl-compact-card p {
    margin-bottom: 15px;
  }
}

.sl-container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.sl-intro,
.sl-why,
.sl-experience,
.sl-ctas {
    box-sizing: border-box;
}

.sl-intro *,
.sl-why *,
.sl-experience *,
.sl-ctas * {
    box-sizing: border-box;
}

.sl-intro img,
.sl-experience img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sl-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: #777;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    line-height: 1.7;
    text-transform: uppercase;
}

.sl-intro h2,
.sl-why h2,
.sl-experience h2,
.sl-ctas h2 {
    margin: 0 0 20px;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -1.2px;
}

.sl-intro h2 span,
.sl-why h2 span,
.sl-experience h2 span,
.sl-ctas h2 span {
    font-weight: 400;
}

.sl-intro p,
.sl-why p,
.sl-experience p,
.sl-ctas p {
    font-size: 15px;
    line-height: 1.9;
}

.sl-intro__content > p,
.sl-experience__content > p {
    margin: 0 0 15px;
    color: #666;
}

.sl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    min-height: 52px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color .25s ease,
                color .25s ease,
                border-color .25s ease;
}

.sl-btn span {
    font-size: 17px;
    transition: transform .25s ease;
}

.sl-btn:hover span {
    transform: translate(3px, -2px);
}

.sl-btn:focus-visible,
.sl-ctas__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.sl-btn--dark {
    margin-top: 12px;
    background: #171717;
    color: #fff;
}

.sl-btn--dark:hover {
    background: #383838;
    color: #fff;
}


/* =========================
   1. INTRODUCTION
========================= */

.sl-intro {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sl-intro__grid {
    display: grid;
    grid-template-columns: 1fr .9fr;
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
}

.sl-intro__content {
    max-width: 550px;
}

.sl-intro__visual {
    min-width: 0;
}

.sl-intro__image {
    height: 450px;
    overflow: hidden;
    background: #efefed;
    border-radius: 5px;
}

.sl-intro__image img {
    transition: transform .6s ease;
}

.sl-intro__image:hover img {
    transform: scale(1.035);
}

.sl-intro__note {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 20px;
}

.sl-intro__note-line {
    width: 35px;
    height: 1px;
    flex-shrink: 0;
    background: #777;
}

.sl-intro__note p {
    margin: 0;
    color: #666;
    font-size: 12px;
    letter-spacing: .4px;
}


/* =========================
   2. WHY CHOOSE US
========================= */

.sl-why {
    padding: 60px 0;
    background: #f6f6f4;
    color: #191919;
}

.sl-section-heading {
    max-width: 670px;
    margin: 0 auto 55px;
    text-align: center;
}

.sl-section-heading > p {
    margin: 0;
    color: #6a6a6a;
}

.sl-why__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #deded9;
    border-bottom: 1px solid #deded9;
}

.sl-choose {
    padding: 35px 25px 38px;
    border-right: 1px solid #deded9;
}

.sl-choose:last-child {
    border-right: 0;
}

.sl-choose__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 25px;
    color: #343434;
}

.sl-choose__icon svg {
    width: 44px;
    height: 44px;
}

.sl-choose h3 {
    margin: 0 0 13px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
}

.sl-choose p {
    margin: 0;
    color: #6a6a6a;
    font-size: 13px;
    line-height: 1.9;
}

.sl-experience {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sl-experience__grid {
    display: grid;
    grid-template-columns: .95fr 1fr;
    align-items: center;
    gap: clamp(40px, 7vw, 60px);
}

.sl-experience__visual {
    position: relative;
    height: 490px;
    overflow: hidden;
    background: #e9e8e5;
    border-radius: 5px;
}

.sl-experience__visual::after {
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(0, 0, 0, .65)
    );
    content: "";
    pointer-events: none;
}

.sl-experience__caption {
    position: absolute;
    z-index: 1;
    right: 25px;
    bottom: 24px;
    left: 25px;
    color: #fff;
}

.sl-experience__caption span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.sl-experience__caption p {
    margin: 8px 0 0;
    font-size: 23px;
    line-height: 1.4;
}

.sl-experience__content {
    max-width: 575px;
}

.sl-btn--outline {
    margin-top: 12px;
    border-color: #252525;
    background: transparent;
    color: #191919;
}

.sl-btn--outline:hover {
    background: #001633;
    color: #cea986;
}

.sl-ctas {
    padding: 60px 0;
    background: #191919;
    color: #fff;
}

.sl-ctas__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.sl-ctas__content {
    max-width: 680px;
}

.sl-ctas .sl-eyebrow {
    color: #bdbdbd;
}

.sl-ctas h2 {
    max-width: 650px;
    margin-bottom: 18px;
}

.sl-ctas h2 span {
    color: #c9c9c9;
}

.sl-ctas__content > p {
    max-width: 620px;
    margin: 0;
    color: #c4c4c4;
    font-size: 14px;
}

.sl-ctas__actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.sl-btn--light {
    background: #fff;
    color: #191919;
}

.sl-btn--light:hover {
    border-color: #fff;
    background: transparent;
    color: #fff;
}

.sl-ctas__link {
    color: #dedede;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.sl-ctas__link:hover {
    color: #fff;
}

@media (max-width: 900px) {
    .sl-intro,
    .sl-experience {
        padding: 50px 0;
    }

    .sl-why {
        padding: 50px 0;
    }

    .sl-intro__grid,
    .sl-experience__grid {
        gap: 35px;
    }

    .sl-intro__image {
        height: 390px;
    }

    .sl-experience__visual {
        height: 430px;
    }

    .sl-why__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sl-choose {
        padding: 30px 24px;
        border-bottom: 1px solid #deded9;
    }

    .sl-choose:nth-child(2) {
        border-right: 0;
    }

    .sl-choose:nth-child(3),
    .sl-choose:nth-child(4) {
        border-bottom: 0;
    }

    .sl-ctas__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .sl-ctas__actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .sl-container {
        width: calc(100% - 36px);
    }

    .sl-intro,
    .sl-experience {
        padding: 40px 0;
    }

    .sl-why {
        padding: 40px 0;
    }

    .sl-intro__grid,
    .sl-experience__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .sl-intro__content,
    .sl-experience__content {
        max-width: none;
    }

    .sl-intro h2,
    .sl-why h2,
    .sl-experience h2,
    .sl-ctas h2 {
        margin-bottom: 17px;
        font-size: 32px;
        letter-spacing: -.7px;
    }

    .sl-intro p,
    .sl-experience p {
        font-size: 14px;
        line-height: 1.85;
    }

    .sl-intro__image {
        height: 320px;
    }

    .sl-experience__visual {
        height: 340px;
    }

    .sl-section-heading {
        margin-bottom: 35px;
        text-align: left;
    }

    .sl-why__grid {
        grid-template-columns: 1fr;
    }

    .sl-choose {
        display: grid;
        grid-template-columns: 48px 1fr;
        column-gap: 15px;
        padding: 20px 0;
        border-right: 0;
        border-bottom: 1px solid #deded9 !important;
    }

    .sl-choose:last-child {
        border-bottom: 0 !important;
    }

    .sl-choose__icon {
        grid-row: 1 / span 2;
        width: 44px;
        height: 44px;
        margin: 0;
    }

    .sl-choose__icon svg {
        width: 38px;
        height: 38px;
    }

    .sl-choose h3 {
        margin: 0 0 7px;
        font-size: 18px;
    }

    .sl-choose p {
        font-size: 13px;
    }

    .sl-ctas {
        padding: 40px 0;
    }

    .sl-ctas__inner {
        gap: 25px;
    }

    .sl-ctas__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 19px;
    }

    .sl-btn {
        min-height: 45px;
        padding: 13px 19px;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .sl-btn,
    .sl-btn span,
    .sl-intro__image img {
        transition: none;
    }
}

.sle-intro,
.sle-travel,
.sle-cta,
.sle-intro *,
.sle-travel *,
.sle-cta * {
    box-sizing: border-box;
}

.sle-intro img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sle-eyebrow {
    display: block;
    margin-bottom: 18px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.4px;
    line-height: 1.7;
    text-transform: uppercase;
}

.sle-intro h2,
.sle-travel h2,
.sle-cta h2 {
    margin: 0 0 22px;
    font-size: clamp(32px, 4vw, 49px);
    font-weight: 500;
    line-height: 1.17;
    letter-spacing: -1.3px;
}

.sle-intro h2 span,
.sle-travel h2 span,
.sle-cta h2 span {
    font-weight: 400;
}

.sle-intro p,
.sle-travel p {
    font-size: 14px;
    line-height: 1.9;
}

.sle-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 13px 21px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .25s ease, color .25s ease;
}

.sle-btn span {
    font-size: 17px;
}

.sle-btn--light {
    background: #fff;
    color: #191919;
}

.sle-btn--light:hover {
    border-color: #fff;
    background: transparent;
    color: #fff;
}

.sle-intro {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sle-intro__grid {
    display: grid;
    grid-template-columns: 1fr .95fr;
    align-items: center;
    gap: 75px;
}

.sle-intro__content {
    max-width: 540px;
}

.sle-intro__content .sle-eyebrow,
.sle-events .sle-eyebrow,
.sle-travel .sle-eyebrow {
    color: #777;
}

.sle-intro__content > p {
    margin: 0 0 16px;
    color: #686868;
}

.sle-intro__visual {
    position: relative;
    height: 410px;
    overflow: hidden;
    border-radius: 5px;
    background: #efefed;
}

.sle-intro__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 55px 24px 23px;
    background: linear-gradient(transparent, rgba(0,0,0,.72));
    color: #fff;
}

.sle-intro__caption span {
    font-size: 10px;
    letter-spacing: 2px;
}

.sle-intro__caption p {
    margin: 8px 0 0;
    font-size: 20px;
}

.sle-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #222;
    color: #222;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.sle-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px;
}

.sle-section-head h2 {
    margin-bottom: 0;
}

.sle-section-head > p {
    max-width: 360px;
    margin: 0 0 5px;
    color: #696969;
    font-size: 13px;
    line-height: 1.8;
}

.sle-travel {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sle-travel__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 85px;
}

.sle-travel__content > p {
    margin: 0 0 16px;
    color: #686868;
}

.sle-travel__features {
    border-top: 1px solid #e4e4e0;
}

.sle-travel__feature {
    display: flex;
    gap: 22px;
    padding: 25px 0;
    border-bottom: 1px solid #e4e4e0;
}

.sle-travel__number {
    flex: 0 0 30px;
    color: #777;
    font-size: 12px;
    letter-spacing: 1px;
}

.sle-travel__feature h3 {
    margin: 0 0 7px;
    font-size: 17px;
    font-weight: 600;
}

.sle-travel__feature p {
    margin: 0;
    color: #686868;
    font-size: 13px;
}

.sle-cta {
    padding: 75px 0;
    background: #191919;
    color: #fff;
}

.sle-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.sle-cta__inner > div:first-child {
    max-width: 710px;
}

.sle-cta .sle-eyebrow {
    color: #bdbdbd;
}

.sle-cta h2 {
    margin-bottom: 18px;
}

.sle-cta h2 span {
    color: #c9c9c9;
}

.sle-cta p {
    max-width: 620px;
    margin: 0;
    color: #c4c4c4;
    font-size: 14px;
    line-height: 1.9;
}

.sle-cta__actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.sle-cta__contact {
    color: #e2e2e2;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 5px;
}

@media (max-width: 900px) {
    .sle-intro,
    .sle-travel {
        padding: 50px 0;
    }

    .sle-intro__grid,
    .sle-travel__grid {
        gap: 35px;
    }

    .sle-intro__visual {
        height: 360px;
    }

    .sle-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .sle-cta__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .sle-cta__actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .sle-container {
        width: calc(100% - 36px);
    }

    .sle-intro h2,
    .sle-travel h2,
    .sle-cta h2 {
        font-size: 34px;
        letter-spacing: -.7px;
    }

    .sle-intro,
    .sle-travel {
        padding: 40px 0;
    }

    .sle-intro__grid,
    .sle-travel__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .sle-intro__visual {
        height: 310px;
    }

    .sle-events {
        padding: 40px 0;
    }

    .sle-section-head {
        margin-bottom: 30px;
    }

    .sle-events__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .sle-event-card__image {
        height: 225px;
    }

    .sle-event-card__body {
        padding: 20px;
    }

    .sle-cta {
        padding: 40px 0;
    }

    .sle-cta__inner {
        gap: 25px;
    }

    .sle-cta__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 19px;
    }

    .sle-btn {
        min-height: 45px;
        padding: 12px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sle-btn,
    .sle-event-card,
    .sle-event-card__image img {
        transition: none;
    }
}

.sloc-container {
    width: min(1160px, calc(100% - 48px));
    margin-inline: auto;
}

.sloc-intro,
.sloc-locations,
.sloc-uk,
.sloc-why,
.sloc-cta {
    box-sizing: border-box;
    font-family: inherit;
}

.sloc-intro *,
.sloc-locations *,
.sloc-uk *,
.sloc-why *,
.sloc-cta * {
    box-sizing: border-box;
}

.sloc-intro img,
.sloc-card img,
.sloc-uk img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sloc-eyebrow {
    display: block;
    margin-bottom: 17px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.4px;
    line-height: 1.7;
    text-transform: uppercase;
}

.sloc-intro h2,
.sloc-locations h2,
.sloc-uk h2,
.sloc-why h2,
.sloc-cta h2 {
    margin: 0 0 20px;
    font-size: clamp(32px, 4vw, 47px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -1.2px;
}

.sloc-intro h2 span,
.sloc-locations h2 span,
.sloc-uk h2 span,
.sloc-why h2 span,
.sloc-cta h2 span {
    font-weight: 400;
}

.sloc-intro p,
.sloc-uk p {
    font-size: 14px;
    line-height: 1.9;
}

.sloc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 50px;
    padding: 13px 21px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background .25s ease, color .25s ease;
}

.sloc-btn span {
    font-size: 17px;
}

.sloc-btn--light {
    background: #fff;
    color: #191919;
}

.sloc-btn--light:hover {
    border-color: #fff;
    background: transparent;
    color: #fff;
}

.sloc-btn--dark {
    margin-top: 12px;
    background: #191919;
    color: #fff;
}

.sloc-btn--dark:hover {
    background: #3b3b3b;
    color: #fff;
}

/* INTRO */

.sloc-intro {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sloc-intro__grid {
    display: grid;
    grid-template-columns: 1fr .95fr;
    align-items: center;
    gap: 75px;
}

.sloc-intro__content {
    max-width: 560px;
}

.sloc-intro__content .sloc-eyebrow,
.sloc-locations .sloc-eyebrow,
.sloc-uk .sloc-eyebrow {
    color: #777;
}

.sloc-intro__content > p,
.sloc-uk__content > p {
    margin: 0 0 15px;
    color: #686868;
}

.sloc-intro__visual {
    position: relative;
    height: 480px;
    overflow: hidden;
    border-radius: 5px;
    background: #eee;
}

.sloc-intro__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 55px 24px 23px;
    background: linear-gradient(transparent, rgba(0,0,0,.72));
    color: #fff;
}

.sloc-intro__caption span {
    font-size: 10px;
    letter-spacing: 2px;
}

.sloc-intro__caption p {
    margin: 8px 0 0;
    font-size: 19px;
}

.sloc-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #222;
    color: #222;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}


/* LOCATION CARDS */

.sloc-locations {
    padding: 60px 0;
    background: #f6f6f4;
    color: #191919;
}

.sloc-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 43px;
}

.sloc-section-head h2 {
    margin-bottom: 0;
}

.sloc-section-head > p {
    max-width: 360px;
    margin: 0 0 5px;
    color: #696969;
    font-size: 13px;
    line-height: 1.8;
}

.sloc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.sloc-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e8e8e4;
    border-radius: 5px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}

.sloc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,.07);
}

.sloc-card__image,
.sloc-card__uk-visual {
    position: relative;
    display: block;
    height: 225px;
    overflow: hidden;
    background: #e9e9e7;
}

.sloc-card__image img,
.sloc-card__uk-visual img {
    transition: transform .5s ease;
}

.sloc-card:hover .sloc-card__image img,
.sloc-card:hover .sloc-card__uk-visual img {
    transform: scale(1.04);
}

.sloc-card__number {
    position: absolute;
    top: 15px;
    right: 15px;
    display: flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 50%;
    background: rgba(0,0,0,.25);
    color: #fff;
    font-size: 11px;
}

.sloc-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 23px 22px 20px;
}

.sloc-card__tag {
    margin-bottom: 0;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.sloc-card h3 {
    margin: 0 0 12px;
    color: #191919;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
}

.sloc-card__content > p {
    margin: 0 0 22px;
    color: #696969;
    font-size: 13px;
    line-height: 1.85;
}

.sloc-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #e8e8e5;
    color: #222;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.sloc-card__link span {
    font-size: 16px;
}

.sloc-card__uk-visual {
    color: #fff;
}

.sloc-card__uk-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 23px;
    background: linear-gradient(transparent, rgba(0,0,0,.72));
}

.sloc-card__uk-overlay span {
    margin-bottom: 0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.sloc-card__uk-overlay h3 {
    margin: 0;
    color: #fff;
    font-size: 26px;
}


/* UK-WIDE */

.sloc-uk {
    padding: 60px 0;
    background: #fff;
    color: #191919;
}

.sloc-uk__grid {
    display: grid;
    grid-template-columns: .95fr 1fr;
    align-items: center;
    gap: 75px;
}

.sloc-uk__visual {
    height: 420px;
    overflow: hidden;
    border-radius: 5px;
    background: #eee;
}

.sloc-uk__content {
    max-width: 550px;
}


/* WHY CHOOSE US */

.sloc-why {
    padding: 60px 0;
    background: #f6f6f4;
    color: #191919;
}

.sloc-section-heading {
    max-width: 670px;
    margin: 0 auto 50px;
    text-align: center;
}

.sloc-section-heading .sloc-eyebrow {
    color: #777;
}

.sloc-section-heading > p {
    margin: 0;
    color: #696969;
    font-size: 14px;
    line-height: 1.8;
}

.sloc-why__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #deded9;
    border-bottom: 1px solid #deded9;
}

.sloc-why__item {
    padding: 32px 24px;
    border-right: 1px solid #deded9;
}

.sloc-why__item:last-child {
    border-right: 0;
}

.sloc-why__icon {
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-bottom: 23px;
    color: #333;
}

.sloc-why__icon svg {
    width: 43px;
    height: 43px;
}

.sloc-why__item h3 {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 600;
}

.sloc-why__item p {
    margin: 0;
    color: #696969;
    font-size: 13px;
    line-height: 1.85;
}

/* CTA */
.sloc-cta {
    padding: 60px 0;
    background: #191919;
    color: #fff;
}

.sloc-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.sloc-cta__content {
    max-width: 700px;
}

.sloc-cta .sloc-eyebrow {
    color: #bdbdbd;
}

.sloc-cta h2 {
    margin-bottom: 18px;
}

.sloc-cta h2 span {
    color: #c9c9c9;
}

.sloc-cta__content > p {
    max-width: 620px;
    margin: 0;
    color: #c4c4c4;
    font-size: 14px;
    line-height: 1.9;
}

.sloc-cta__actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.sloc-cta__contact {
    color: #e2e2e2;
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 5px;
}

@media (max-width: 900px) {

    .sloc-intro,
    .sloc-uk {
        padding: 75px 0;
    }

    .sloc-intro__grid,
    .sloc-uk__grid {
        gap: 35px;
    }

    .sloc-intro__visual,
    .sloc-uk__visual {
        height: 360px;
    }

    .sloc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .sloc-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .sloc-why__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sloc-why__item:nth-child(2) {
        border-right: 0;
    }

    .sloc-why__item:nth-child(1),
    .sloc-why__item:nth-child(2) {
        border-bottom: 1px solid #deded9;
    }

    .sloc-cta__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }

    .sloc-cta__actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {

    .sloc-container {
        width: calc(100% - 36px);
    }

    .sloc-intro h2,
    .sloc-locations h2,
    .sloc-uk h2,
    .sloc-why h2,
    .sloc-cta h2 {
        font-size: 33px;
        letter-spacing: -.7px;
    }

    .sloc-hero p {
        font-size: 14px;
    }

    .sloc-intro,
    .sloc-uk {
        padding: 60px 0;
    }

    .sloc-intro__grid,
    .sloc-uk__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .sloc-intro__visual,
    .sloc-uk__visual {
        height: 310px;
    }

    .sloc-locations {
        padding: 60px 0;
    }

    .sloc-section-head {
        margin-bottom: 30px;
    }

    .sloc-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .sloc-card__image,
    .sloc-card__uk-visual {
        height: 225px;
    }

    .sloc-card__content {
        padding: 20px;
    }

    .sloc-why {
        padding: 60px 0;
    }

    .sloc-section-heading {
        margin-bottom: 30px;
        text-align: left;
    }

    .sloc-why__grid {
        grid-template-columns: 1fr;
    }

    .sloc-why__item {
        display: grid;
        grid-template-columns: 45px 1fr;
        column-gap: 15px;
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid #deded9 !important;
    }

    .sloc-why__item:last-child {
        border-bottom: 0 !important;
    }

    .sloc-why__icon {
        grid-row: 1 / span 2;
        width: 42px;
        height: 42px;
        margin: 0;
    }

    .sloc-why__icon svg {
        width: 37px;
        height: 37px;
    }

    .sloc-why__item h3 {
        margin-bottom: 7px;
    }

    .sloc-cta {
        padding: 60px 0;
    }

    .sloc-cta__inner {
        gap: 25px;
    }

    .sloc-cta__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 19px;
    }

    .sloc-btn {
        min-height: 48px;
        padding: 12px 18px;
    }
}


/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .sloc-btn,
    .sloc-card,
    .sloc-card img {
        transition: none;
    }
}
