/* GLOBAL */
html {
  overflow-y: scroll;
}

body.modal-open {
  padding-right: 0 !important;
  overflow-y: scroll !important;
}

body {
  padding-top: 84px;
}

@media (max-width: 991.98px) {
  body {
    padding-top: 76px;
  }
}

:root{
  --brand-gold:#0A6ECF;
  --brand-gold-border:#BFC7CF;
  --brand-gold-hover:#57A8FF;

  --card-dark:#0F0F10;
  --text-muted:#BFBFBF;
}

.navbar {
  min-height: 96px;
  background-color: #fff !important;
}

.navbar .container-fluid {
  display: flex;
  align-items: center;
}

/* Larger logo on the left */
.navbar .navbar-brand {
  flex: 0 0 38%;
  max-width: 460px;
  min-width: 320px;
  display: flex;
  align-items: center;
  margin-right: 2rem;
  padding-top: 0;
  padding-bottom: 0;
}

.navbar .navbar-brand img {
  height: 88px !important;
  max-height: 88px !important;
  width: auto !important;
  max-width: 460px !important;
  object-fit: contain;
}

.navbar-with-contact {
  min-height: 112px;
  padding-top: .35rem !important;
  padding-bottom: .35rem !important;
}

.navbar-with-contact > .container-fluid {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  grid-template-rows: 32px 1fr;
  column-gap: 1rem;
  align-items: center;
}

.navbar-with-contact .navbar-brand {
  grid-column: 1;
  grid-row: 1 / 3;
  flex: none;
  min-width: 0;
  max-width: 320px;
  margin-right: 0;
}

.navbar-with-contact .navbar-brand img {
  height: 76px !important;
  max-height: 76px !important;
  max-width: 320px !important;
}

.navbar-contact {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: .95rem;
}

.navbar-contact a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #111;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.navbar-contact-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: currentColor;
}

.navbar-contact a:hover,
.navbar-contact a:focus-visible {
  text-decoration: underline;
}

.navbar-with-contact .navbar-collapse {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  width: 100%;
  flex: none;
}

.navbar-contact-page {
  padding-top: 120px;
}

/* Navigation to the right */
.navbar-collapse {
  flex: 1;
  justify-content: flex-end;
  background-color: #fff;
}

.navbar-nav {
  align-items: center;
}

/* Darker menu headings */
.navbar .navbar-nav .nav-link {
  color: #000 !important;
  font-weight: 700;
  padding-left: .85rem;
  padding-right: .85rem;
  letter-spacing: .01em;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus {
  color: #333 !important;
}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .show > .nav-link {
  color: #000 !important;
  font-weight: 700;
}

/* Dropdowns */
.navbar .dropdown-menu {
  background-color: #fff;
  border: 1px solid #0A6ECF;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.navbar .dropdown-item {
  color: #000;
  font-weight: 500;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background-color: #edf4ff;
  color: #000;
}

.navbar .dropdown-item.active,
.navbar .dropdown-item:active {
  background-color: #0A6ECF;
  color: #000;
}

.navbar .dropdown-divider {
  border-top-color: #eee;
}

.navbar .dropdown-toggle::after {
  border-top-color: #000;
}

/* Quote buttons - navbar and floating */
.navbar .navbar-nav .quote-btn,
.float.quote-btn {
  display: inline-block;
  background-color: #0A6ECF !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: .5rem 1.15rem;
  white-space: nowrap;
  letter-spacing: .02em;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  text-decoration: none !important;
}

.navbar .navbar-nav .quote-btn:hover,
.navbar .navbar-nav .quote-btn:focus,
.float.quote-btn:hover,
.float.quote-btn:focus {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #0A6ECF !important;
  text-decoration: none !important;
}

/* Mobile */
@media (max-width: 991.98px) {
  .navbar {
    min-height: 78px;
  }

  .navbar .container-fluid {
    flex-wrap: wrap;
  }

  .navbar .navbar-brand {
    flex: 0 0 72%;
    max-width: 300px;
    min-width: 0;
    margin-right: 0;
  }

  .navbar .navbar-brand img {
    height: 66px !important;
    max-height: 66px !important;
    max-width: 300px !important;
  }

  .navbar-with-contact {
    min-height: 0;
  }

  .navbar-with-contact > .container-fluid {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0;
    row-gap: .15rem;
  }

  .navbar-with-contact .navbar-brand {
    order: 1;
    flex: 1 1 calc(100% - 48px);
    max-width: calc(100% - 48px);
  }

  .navbar.navbar-with-contact .navbar-brand img {
    height: 68px !important;
    max-height: 68px !important;
    max-width: 100% !important;
  }

  .navbar-with-contact .navbar-toggler {
    order: 2;
    margin-left: auto;
  }

  .navbar-with-contact .navbar-contact {
    order: 3;
    flex: 1 0 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .35rem .8rem;
    padding: .3rem .1rem .1rem;
    border-top: 1px solid #d7dce1;
    font-size: .8rem;
  }

  .navbar-with-contact .navbar-collapse {
    order: 4;
    flex: 0 0 100%;
    margin-top: .45rem;
  }

  .navbar-contact-page {
    padding-top: 108px;
  }

  .navbar-collapse {
    flex-basis: 100%;
    width: 100%;
    margin-top: .75rem;
  }

  .navbar-nav {
    align-items: flex-start;
  }

  .navbar .navbar-nav .nav-link {
    padding-left: 0;
  }

  .navbar .navbar-nav .quote-btn {
    display: block;
    width: 100%;
    text-align: center;
    margin: .75rem 0;
  }
}

@media (max-width: 420px) {
  .navbar .navbar-brand {
    max-width: 250px;
  }

  .navbar .navbar-brand img {
    height: 60px !important;
    max-height: 60px !important;
    max-width: 250px !important;
  }
}
/* =========================================================
   AREAS ACCORDION NAVBAR DROPDOWN
========================================================= */

/* Main Areas dropdown wrapper */
.navbar .areas-dropdown{
  position:relative;
}


/* Main dropdown panel */
.navbar .areas-accordion-menu{
  width:390px;
  max-width:calc(100vw - 2rem);
  max-height:calc(100vh - 125px);

  overflow-y:auto;
  overflow-x:hidden;

  background:#fff !important;

  border:2px solid #BFC7CF !important;
  border-radius:.8rem;

  padding:1rem !important;

  box-shadow:
    0 14px 34px
    rgba(0,0,0,.18) !important;
}


/* =========================================================
   VIEW ALL AREAS
========================================================= */

.navbar .areas-view-all{
  display:block;

  width:100%;

  background:#000;

  color:#0A6ECF !important;

  border:1px solid #BFC7CF;
  border-radius:.55rem;

  padding:.75rem 1rem;

  font-weight:800;
  line-height:1.35;

  text-align:center;
  text-decoration:none !important;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}


.navbar .areas-view-all:hover,
.navbar .areas-view-all:focus{
  background:#0A6ECF;

  color:#000 !important;

  border-color:#0A6ECF;

  text-decoration:none !important;
}


/* =========================================================
   GOLD DIVIDER
========================================================= */

.navbar .areas-dropdown-divider{
  width:80px;
  height:3px;

  background:#0A6ECF;

  border-radius:999px;

  margin:.85rem auto;
}


/* =========================================================
   REGION BUTTONS
========================================================= */

.navbar .areas-region-toggle{
  position:relative;

  display:block;

  width:100%;

  background:#000;

  color:#fff;

  border:1px solid #BFC7CF;
  border-radius:.5rem;

  padding:.72rem 2.7rem .72rem .9rem;

  margin:.45rem 0;

  font-size:.95rem;
  font-weight:800;

  line-height:1.35;

  text-align:left;

  cursor:pointer;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}


/* Arrow */
.navbar .areas-region-toggle::after{
  content:"+";

  position:absolute;

  right:.9rem;
  top:50%;

  transform:translateY(-50%);

  color:#0A6ECF;

  font-size:1.25rem;
  font-weight:900;

  line-height:1;
}


/* Expanded region */
.navbar .areas-region-toggle[aria-expanded="true"]{
  background:#0A6ECF;

  color:#000;

  border-color:#BFC7CF;
}


.navbar .areas-region-toggle[aria-expanded="true"]::after{
  content:"−";

  color:#000;
}


/* Hover */
.navbar .areas-region-toggle:hover,
.navbar .areas-region-toggle:focus{
  background:#0A6ECF;

  color:#000;

  border-color:#0A6ECF;

  outline:none;
}


.navbar .areas-region-toggle:hover::after,
.navbar .areas-region-toggle:focus::after{
  color:#000;
}


/* =========================================================
   AREA LINKS INSIDE EACH REGION
========================================================= */

.navbar .areas-region-list{
  padding:.25rem .35rem .6rem;
}


.navbar .areas-region-list a{
  display:block;

  color:#000 !important;

  background:#fff;

  border-bottom:1px solid #eee;

  padding:.62rem .8rem;

  font-size:.92rem;
  font-weight:600;

  line-height:1.35;

  text-decoration:none !important;

  transition:
    background .18s ease,
    color .18s ease,
    padding-left .18s ease;
}


.navbar .areas-region-list a:last-child{
  border-bottom:0;
}


.navbar .areas-region-list a:hover,
.navbar .areas-region-list a:focus{
  background:#edf4ff;

  color:#000 !important;

  padding-left:1rem;

  text-decoration:none !important;
}


/* =========================================================
   SCROLLBAR
========================================================= */

.navbar .areas-accordion-menu{
  scrollbar-width:thin;
  scrollbar-color:#BFC7CF #f5f5f5;
}


.navbar .areas-accordion-menu::-webkit-scrollbar{
  width:8px;
}


.navbar .areas-accordion-menu::-webkit-scrollbar-track{
  background:#f5f5f5;
}


.navbar .areas-accordion-menu::-webkit-scrollbar-thumb{
  background:#BFC7CF;

  border-radius:999px;
}


/* =========================================================
   DESKTOP
========================================================= */

@media(min-width:992px){

  .navbar .areas-accordion-menu{
    left:auto;
    right:0;

    margin-top:.5rem;
  }

}


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

@media(max-width:991.98px){

  .navbar .areas-accordion-menu{
    position:static !important;

    width:100%;
    max-width:100%;
    max-height:none;

    margin:.4rem 0 .75rem;

    border-radius:.6rem;

    box-shadow:none !important;
  }


  .navbar .areas-region-toggle{
    font-size:.95rem;

    padding:.75rem 2.7rem .75rem .85rem;
  }


  .navbar .areas-region-list{
    padding:.15rem .25rem .55rem;
  }


  .navbar .areas-region-list a{
    padding:.7rem .8rem;

    font-size:.92rem;
  }

}

/* PAGE INTRO SECTION */
.page-intro{
  padding:3rem 0;
  background:#fff;
}

.page-intro .content-box{
  max-width:1000px;
  margin:0 auto;
}

.page-intro .intro-copy{
  font-size:1.05rem;
  line-height:1.9;
  color:#111;
}

.page-intro .intro-copy p{
  text-align:justify;
  margin-bottom:1.5rem;
}

.page-intro h2{
  font-size:clamp(1.9rem,3vw,2.6rem);
  letter-spacing:.01em;
  color:#000;
}

@media (max-width:575.98px){

  .page-intro{
    padding:2rem 0;
  }

  .page-intro .intro-copy{
    font-size:1rem;
    line-height:1.8;
  }

  .page-intro .intro-copy p{
    text-align:justify;
  }

}
/* Business Chauffeur Page */

.gold-divider{
  width:90px;
  height:3px;
  background:linear-gradient(90deg,#BFC7CF,#0A6ECF);
  margin:0 auto 1.75rem;
  border-radius:999px;
}

#business-chauffeur-content h3{
  font-size:clamp(1.4rem,2.2vw,1.8rem);
  margin-top:3rem !important;
  margin-bottom:.75rem !important;
}
/* EXECUTIVE AIRPORT TRANSFERS SECTION */
.executive-airport-section{
  padding:5rem 0;
}
/* VEHICLES SECTION */

.vehicles-wrap{
  background:#000;
  padding-bottom:2.5rem;
}

.vehicles-title{
  text-align:center;
  color:#fff;
  font-weight:800;
  margin:0;
  padding:2rem 0 1.25rem;
  letter-spacing:.02em;
}

.vehicles-grid{
  display:grid;
  gap:.75rem;
  grid-template-columns:1fr;
  justify-content:center;
  align-items:stretch;
}

@media (min-width:576px){
  .vehicles-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:768px){
  .vehicles-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (min-width:992px){
  .vehicles-grid{
    max-width:1100px;
    margin-left:auto;
    margin-right:auto;
  }
}

.vehicle-card-link{
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
  border-radius:.85rem;
}

.vehicle-card-link:focus-visible{
  outline:3px solid var(--brand-gold);
  outline-offset:2px;
  border-radius:.85rem;
}

.vehicle-card{
  background:#fff;
  border:1px solid var(--brand-gold-border);
  border-radius:.85rem;
  overflow:hidden;
  height:100%;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transition:transform .18s ease, box-shadow .18s ease;
  min-width:0;
}

.vehicle-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.28);
}

.vehicle-card:hover .vehicle-title{
  text-decoration:underline;
}

.vehicle-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
}

.vehicle-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vehicle-media.vehicle-media--contain img{
  object-fit:contain;
  background:#111;
}

.vehicle-badge{
  position:absolute;
  top:.6rem;
  left:.6rem;
  background:var(--brand-gold);
  color:#000;
  font-weight:800;
  border:1px solid var(--brand-gold-border);
  border-radius:.4rem;
  padding:.18rem .45rem;
  font-size:.72rem;
  box-shadow:0 3px 8px rgba(0,0,0,.35);
}

.vehicle-body{
  padding:.75rem .8rem .9rem;
}

.vehicle-title{
  text-align:center;
  color:#000;
  font-weight:900;
  text-transform:uppercase;
  font-size:clamp(.92rem,1.1vw,1.05rem);
  margin:.25rem 0 .4rem;
}

.vehicle-text{
  color:#111;
  font-size:.9rem;
  line-height:1.55;
  margin:0;
  text-align:center;
}
/* KEY BENEFITS & SERVICES */

.card-premium{
  background:var(--card-dark);
  border:2px solid var(--brand-gold-border);
  border-radius:1rem;
  overflow:hidden;
  height:100%;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card-premium:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.28);
  border-color:var(--brand-gold);
}

.card-premium .card-title{
  color:var(--brand-gold);
  font-weight:800;
  text-align:center;
  letter-spacing:.02em;
  margin-bottom:.35rem;
}

.card-premium .card-text{
  color:#fff;
  text-align:center;
  margin:0;
  line-height:1.6;
}

.img-clip{
  aspect-ratio:16/9;
  width:100%;
  object-fit:contain;
  padding:1.25rem 1rem 0;
}

.img-photo{
  aspect-ratio:16/10;
  width:100%;
  object-fit:cover;
}
.card-body{
  padding:1rem 1.1rem 1.25rem;
}

.badge-overlay{
  position:absolute;
  top:.75rem;
  right:.75rem;
  background:rgba(0,0,0,.55);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  padding:.25rem .5rem;
  border-radius:.5rem;
  font-size:.8rem;
}

.section-title{
  font-weight:900;
  letter-spacing:.01em;
}

.section-sub{
  color:var(--text-muted);
  max-width:820px;
  margin:.25rem auto 0;
}

.grid-3{
  row-gap:1.25rem;
}

.grid-4{
  row-gap:1.25rem;
}

/* COMPACT KEY BENEFITS */

#key-benefits .row.grid-3{
  --bs-gutter-y: 1.5rem;
  --bs-gutter-x: 1.5rem;
}

#key-benefits {
  max-width: 1180px;
  margin: 0 auto;
}

#key-benefits .col-md-6.col-lg-4 {
  display: flex;
}

#key-benefits .card-premium{
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 1rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  border: 2px solid #C89A1F;
  background: linear-gradient(180deg, #0f0f10 0%, #090909 100%);
  min-height: 320px;
  padding-top: 0.85rem;
}

#key-benefits .card-premium .card-body{
  padding: 0.9rem 1.4rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#key-benefits .card-premium .card-title{
  font-size: clamp(1.4rem, 2vw, 2.1rem);
  margin-bottom: 0.9rem;
  letter-spacing: .01em;
  line-height: 1.2;
}

#key-benefits .card-premium .card-text{
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.5;
  max-width: 22ch;
  margin: 0 auto;
}

#key-benefits .img-clip{
  height: 110px;
  width: auto;
  max-width: 70%;
  display: block;
  margin: 0.4rem auto 0;
  object-fit: contain;
  aspect-ratio: auto !important;
  padding: 0;
  filter: drop-shadow(0 0 12px rgba(255, 215, 0, 0.15));
}

#key-benefits .section-title{
  font-size: clamp(1.8rem,3.4vw,2.5rem);
}

#key-benefits .section-sub{
  margin-top: .25rem;
  font-size: 1.05rem;
  color: #111 !important;
}

@media (min-width: 992px) {
  #key-benefits .col-lg-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 767.98px) {
  #key-benefits .card-premium {
    min-height: 260px;
  }

  #key-benefits .card-premium .card-text {
    max-width: none;
  }
}
/* SERVICES BLOCK */

#services-block {
  --card-dark:#0F0F10;
}

#services-block .scroll-container {
  display:flex;
  gap:1.5rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:1rem 0;
  -webkit-overflow-scrolling:touch;
}

#services-block .scroll-container::-webkit-scrollbar {
  display:none;
}

/* MAIN H3 ABOVE CAROUSEL */
#services-block .scroll-section > h3 {
  font-weight:700;
}

#services-block .service-card {
  flex:0 0 20%;
  min-width:240px;
  min-height:390px;

  border:2px solid var(--brand-gold-border);
  border-radius:1rem;

  background:var(--card-dark);
  color:#fff;

  overflow:hidden;

  display:flex;
  flex-direction:column;

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

#services-block .service-card:hover {
  border-color:var(--brand-gold);

  transform:translateY(-4px);

  box-shadow:0 14px 28px rgba(0,0,0,.25);
}

#services-block .service-card img {
  width:100%;
  height:190px;

  object-fit:cover;

  flex-shrink:0;
}

#services-block .service-title {
  font-size:1.05rem;
  font-weight:800;
  line-height:1.3;

  color:#fff;

  margin:1rem .8rem .55rem;

  text-align:center;
}

#services-block .service-card .gold-hr {
  width:55px;
  height:3px;

  margin:.25rem auto .8rem !important;

  flex-shrink:0;
}

#services-block .service-overlay {
  display:block;

  font-size:.92rem;
  font-weight:400;
  line-height:1.55;

  color:#e6e6e6;

  text-align:center;

  padding:0 1rem 1.25rem;

  margin:0;

  flex:1;
}

@media(max-width:767.98px){

  #services-block .service-card {
    min-width:270px;
    min-height:410px;
  }

  #services-block .service-card img {
    height:200px;
  }

  #services-block .service-overlay {
    font-size:.92rem;
    font-weight:400;
  }

}
/* PRIVATE / EXECUTIVE / SPECIALIST SERVICES BLOCK */

#private-services-block {
  --card-dark:#0F0F10;
}

#private-services-block .scroll-container {
  display:flex;
  gap:1.5rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:1rem 0;
  -webkit-overflow-scrolling:touch;
}

#private-services-block .scroll-container::-webkit-scrollbar {
  display:none;
}

/* MAIN H3 ABOVE CAROUSEL */
#private-services-block .scroll-section > h3 {
  font-weight:700;
}

#private-services-block .service-card {
  flex:0 0 20%;
  min-width:240px;
  min-height:390px;

  border:2px solid var(--brand-gold-border);
  border-radius:1rem;

  background:var(--card-dark);
  color:#fff;

  overflow:hidden;

  display:flex;
  flex-direction:column;

  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

#private-services-block .service-card:hover {
  border-color:var(--brand-gold);

  transform:translateY(-4px);

  box-shadow:0 14px 28px rgba(0,0,0,.25);
}

#private-services-block .service-card img {
  width:100%;
  height:190px;

  object-fit:cover;

  flex-shrink:0;
}

#private-services-block .service-title {
  font-size:1.05rem;
  font-weight:800;
  line-height:1.3;

  color:#fff;

  margin:1rem .8rem .55rem;

  text-align:center;
}

#private-services-block .service-card .gold-hr {
  width:55px;
  height:3px;

  margin:.25rem auto .8rem !important;

  flex-shrink:0;
}

#private-services-block .service-overlay {
  display:block;

  font-size:.92rem;
  font-weight:400;
  line-height:1.55;

  color:#e6e6e6;

  text-align:center;

  padding:0 1rem 1.25rem;

  margin:0;

  flex:1;
}

@media(max-width:767.98px){

  #private-services-block .service-card {
    min-width:270px;
    min-height:410px;
  }

  #private-services-block .service-card img {
    height:200px;
  }

  #private-services-block .service-overlay {
    font-size:.92rem;
    font-weight:400;
  }

}
/* MANCHESTER CHAUFFEURS LIGHT VERSION */

.services-block-light{
  background:#fff;
  padding:5rem 0;
}

.services-block-light h2,
.services-block-light h3:not(.service-title),
.services-block-light p{
  color:#000 !important;
}

.services-block-light .scroll-btn{
  color:#000;
}

.services-block-light .scroll-dots button{
  background:#cfcfcf;
}

.services-block-light .scroll-dots button.active{
  background:#0A6ECF;
}
/* VEHICLES */
.vehicles-wrap{
  background:#000;
  padding-bottom:2.5rem;
}

.vehicles-title{
  text-align:center;
  color:#fff;
  font-weight:800;
  padding:2rem 0 1.25rem;
}

/* REVIEWS */
#reviews {
  background:#f8f9fa;
  border:1px solid #e5e5e5;
  border-radius:12px;
  padding:1.25rem 1rem 1rem;
}

/* FOOTER */
.footer{
  background:#fff;
  color:#000;
  padding-top:1.25rem;
  padding-bottom:.75rem;
}

.footer a{
  color:#000;
  text-decoration:none;
}

.footer a:hover,
.footer a:focus {
  color: #0A6ECF;
  text-decoration: underline;
  text-decoration-color: #0A6ECF;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.border-gold-top{
  border-top:2px solid var(--brand-gold-border);
}

.vehicles-wrap{
    background:#000;
    padding-bottom:2.5rem;
  }

  .vehicles-title{
    text-align:center;
    color:#fff;
    font-weight:800;
    margin:0;
    padding:2rem 0 1.25rem;
    letter-spacing:.02em;
  }

  /* Desktop grid */
  .vehicles-grid{
    display:grid;
    gap:1rem;
    grid-template-columns:1fr;
  }

  @media (min-width:576px){
    .vehicles-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (min-width:768px){
    .vehicles-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
      justify-content:center;
    }
  }

  .vehicle-card-link{
    display:block;
    height:100%;
    text-decoration:none;
    color:inherit;
    border-radius:.85rem;
  }

  .vehicle-card-link:focus-visible{
    outline:3px solid var(--brand-gold);
    outline-offset:2px;
    border-radius:.85rem;
  }

  .vehicle-card{
    background:#fff;
    border:1px solid var(--brand-gold-border);
    border-radius:.85rem;
    overflow:hidden;
    height:100%;
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    transition:transform .18s ease,box-shadow .18s ease;
    min-width:0;
  }

  .vehicle-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(0,0,0,.28);
  }

  .vehicle-card:hover .vehicle-title{
    text-decoration:underline;
  }

  .vehicle-media{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#000;
  }

  .vehicle-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .vehicle-badge{
    position:absolute;
    top:.6rem;
    left:.6rem;
    background:var(--brand-gold);
    color:#000;
    font-weight:800;
    border:1px solid var(--brand-gold-border);
    border-radius:.4rem;
    padding:.18rem .45rem;
    font-size:.72rem;
    box-shadow:0 3px 8px rgba(0,0,0,.35);
  }

  .vehicle-body{
    padding:.9rem .95rem 1.1rem;
  }

  .vehicle-title{
    text-align:center;
    color:#000;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(.92rem,1.1vw,1.05rem);
    margin:.35rem 0 .5rem;
  }

  .vehicle-text{
    color:#111;
    font-size:.95rem;
    line-height:1.55;
    margin:0;
    text-align:center;
  }

  /* Mobile horizontal scroll */
  @media (max-width:991.98px){

    .vehicles-grid{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:.85rem;
        overflow:visible;
        padding:.25rem 0 .5rem;
    }

    .vehicles-grid > article{
        min-width:0;
    }
  }
  /* Scoped to #reviews to avoid side-effects */
  #reviews {
    background:#f8f9fa;
    border:1px solid #e5e5e5;
    border-radius:12px;
    padding:1.25rem 1rem 1rem;
  }

  #reviews .reviews-wrap{
    max-width:1100px;
    margin:0 auto;
  }

  #reviews h2.reviews-heading{
    margin:0 0 .5rem;
    text-align:center;
    font-weight:800;
    letter-spacing:.2px;
    color:#000;
  }

  #reviews .reviews-sub{
    text-align:center;
    margin:0 auto .6rem;
    color:#000;
    font-size:1.5rem;
    line-height:1.6;
    font-weight:800;
    display:flex;
    gap:.65rem;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
  }

  /* Google logo */
  #reviews .google-icon{
    width:80px;
    height:80px;
    vertical-align:middle;
    object-fit:contain;
  }

  /* Widget frame */
  #reviews .widget-shell{
    margin:.85rem auto 0;
    max-width:1100px;
  }

  /* Mobile tweaks */
  @media (max-width:575.98px){

    #reviews{
      padding:1rem .75rem .85rem;
    }

    #reviews .reviews-sub{
      font-size:1rem;
    }

    #reviews .google-icon{
      width:100px;
      height:100px;
    }
  }

  /* Helper for screen readers */
  #reviews .sr-only{
    position:absolute !important;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  #benefits-block {
      --brand-gold:#0A6ECF;
      --brand-gold-border:#BFC7CF;
      --card-dark:#0F0F10;
    }

    #benefits-block .scroll-section {
      position: relative;
      margin-bottom: 3rem;
    }

    #benefits-block .scroll-container {
      display: flex;
      gap: 1.5rem;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      padding: 1rem 0;
      -webkit-overflow-scrolling: touch;
      align-items: stretch;
      scroll-behavior: smooth;
    }

    #benefits-block .scroll-container::-webkit-scrollbar {
      display: none;
    }

    /* Desktop nav arrows */
    #benefits-block .scroll-btn {
      position: absolute;
      top: 45%;
      transform: translateY(-50%);
      background: rgba(0,0,0,.7);
      border: 2px solid var(--brand-gold);
      color: var(--brand-gold);
      font-size: 1.5rem;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 5;
      opacity: 0;
      pointer-events: none;
      box-shadow: 0 4px 12px rgba(0,0,0,.25);
      transition: opacity .3s ease, background .25s ease, color .25s ease;
    }

    #benefits-block .scroll-section:hover .scroll-btn {
      opacity: 1;
      pointer-events: auto;
    }

    #benefits-block .scroll-btn:hover {
      background: var(--brand-gold);
      color: #000;
    }

    #benefits-block .scroll-btn.left {
      left: -55px;
    }

    #benefits-block .scroll-btn.right {
      right: -55px;
    }

    @media (max-width: 991.98px) {
      #benefits-block .scroll-btn {
        display: none;
      }
    }

    /* Card */
    #benefits-block .benefit-card {
      flex: 0 0 20%;
      min-width: 240px;
      aspect-ratio: 1/1;
      border: 2px solid var(--brand-gold-border);
      border-radius: 1rem;
      background: var(--card-dark);
      color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      scroll-snap-align: center;
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
      padding: 1rem;
      text-align: center;
    }

    #benefits-block .benefit-card:hover {
      border-color: var(--brand-gold);
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(0,0,0,.28);
    }

    #benefits-block .benefit-card img {
      width: 60%;
      max-height: 45%;
      object-fit: contain;
      margin: 1rem auto 0;
    }

    #benefits-block .benefit-title {
      font-size: 1rem;
      font-weight: 800;
      color:#fff;
      margin: .6rem 0 .4rem;
    }

    #benefits-block .benefit-text {
      font-size: .95rem;
      line-height: 1.5;
      color:#ddd;
      padding: 0 .8rem .9rem;
    }

    /* Mobile adjustments */
    @media (max-width: 991.98px) {

      #benefits-block .scroll-container {
        gap: 1.1rem;
      }

      #benefits-block #benefitsScroll .benefit-card {
        flex: 0 0 66.6667%;
        min-width: 300px;
        padding: 1.2rem 1rem;
        display: grid;
        grid-template-rows: 42% min-content auto;
      }

      #benefits-block #benefitsScroll .benefit-card img {
        width: 80%;
        margin: .5rem auto 0;
      }

      #benefits-block #benefitsScroll .benefit-title {
        font-size: .95rem;
        margin: 1rem 0 .35rem;
        padding: 0 .5rem;
      }

      #benefits-block #benefitsScroll .benefit-text {
        font-size: .92rem;
        line-height: 1.5;
        padding: .9rem 1rem;
      }
    }

    /* Accessible dots */
    #benefits-block .scroll-dots {
      text-align: center;
      margin-top: 1rem;
    }

    #benefits-block .scroll-dots button {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      border: none;
      margin: 0 6px;
      background: transparent;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    #benefits-block .scroll-dots button::before {
      content: "";
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #bbb;
      transition: background .25s ease, transform .2s ease;
    }

    #benefits-block .scroll-dots button.active::before,
    #benefits-block .scroll-dots button[aria-selected="true"]::before {
      background: var(--brand-gold);
      transform: scale(1.25);
    }

    #benefits-block .scroll-dots button:focus-visible {
      outline: 2px solid var(--brand-gold);
      outline-offset: 2px;
      border-radius: 999px;
    }
/* =========================
   LUXURY AIRPORT TRANSFERS PAGE
   ========================= */

/* OPENING AIRPORT INTRO */

.opening-airport .wrap{
  max-width:1150px;
  margin:0 auto;
  padding:0 1rem;
}

.opening-airport .section-heading{
  text-align:center;
  margin-bottom:1.25rem;
}

.opening-airport .section-heading h2{
  font-size:2rem;
  font-weight:800;
  color:#111;
  margin:0;
}

.opening-airport .section-heading p{
  max-width:780px;
  margin:.75rem auto 0;
  font-size:1.05rem;
  line-height:1.8;
  color:#444;
}

.opening-airport .lede-2{
  margin:1.5rem auto 2rem;
  text-align:center;
  color:#111;
  font-size:1.05rem;
  line-height:1.8;
  max-width:900px;
  background:#fff;
  border:1px solid rgba(184,134,11,.35);
  border-radius:1rem;
  padding:1rem 1.1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.opening-airport .row-3,
.opening-airport .row-4{
  display:grid;
  gap:1.5rem;
  justify-content:center;
  margin-top:1.75rem;
}

.opening-airport .row-3{
  grid-template-columns:repeat(3,minmax(280px,1fr));
}

.opening-airport .row-4{
  grid-template-columns:repeat(4,minmax(260px,1fr));
}

@media (max-width:1199.98px){
  .opening-airport .row-4{
    grid-template-columns:repeat(3,minmax(240px,1fr));
  }
}

@media (max-width:991.98px){
  .opening-airport .row-3{
    grid-template-columns:repeat(2,minmax(260px,1fr));
  }

  .opening-airport .row-4{
    grid-template-columns:repeat(2,minmax(240px,1fr));
  }
}

@media (max-width:575.98px){
  .opening-airport .row-3,
  .opening-airport .row-4{
    grid-template-columns:1fr;
  }
}

.opening-airport .card{
  min-height:260px;
  background:#fff;
  border:1px solid rgba(184,134,11,.25);
  border-radius:1rem;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
  transition:all .25s ease;
}

.opening-airport .card:hover{
  transform:translateY(-6px);
  border-color:#0A6ECF;
  box-shadow:0 18px 40px rgba(0,0,0,.16);
}

.opening-airport .card-head{
  padding:1rem;
  text-align:center;
  background:linear-gradient(
    180deg,
    rgba(255,215,0,.12),
    rgba(255,255,255,1)
  );
  border-bottom:1px solid rgba(184,134,11,.20);
}

.opening-airport .card-head h3{
  margin:0;
  color:#111;
  font-weight:800;
  font-size:1.15rem;
  text-transform:none;
  letter-spacing:0;
}

.opening-airport .card-body{
  flex:1;
  padding:1.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.opening-airport .card-body p{
  margin:0;
  color:#333;
  line-height:1.8;
  font-size:1rem;
}

.opening-airport .card strong{
  color:#BFC7CF;
  font-weight:700;
}

.opening-airport hr{
  display:none;
}


/* FEATURED AIRPORT CARDS */

.airport-showcase .title-wrap{
  text-align:center;
  margin-bottom:.75rem;
}

.airport-showcase .eyebrow{
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0A6ECF;
  opacity:.95;
  margin:0;
}

.airport-showcase .headline{
  color:#fff;
  font-weight:800;
  margin:.35rem 0 0;
}

.airport-grid{
  display:grid;
  gap:1.25rem;
  grid-template-columns:repeat(1,1fr);
}

@media(min-width:576px){
  .airport-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(min-width:768px){
  .airport-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(min-width:992px){
  .airport-grid{
    grid-template-columns:repeat(5,1fr);
  }
}

.airport-card{
  position:relative;
  overflow:hidden;
  border-radius:1rem;
  background:#fdfdfd;
  border:1px solid rgba(184,134,11,.35);
  box-shadow:0 12px 28px rgba(0,0,0,.15);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  display:flex;
  flex-direction:column;
}

.airport-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 42px rgba(0,0,0,.25), 0 0 0 2px rgba(255,215,0,.18) inset;
  border-color:rgba(255,215,0,.55);
}

.airport-media{
  width:100%;
  height:160px;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.02) contrast(1.02);
}

@media(min-width:1200px){
  .airport-media{
    height:150px;
  }
}

.airport-body{
  padding:1rem .9rem .25rem;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.airport-title{
  color:#000;
  font-weight:800;
  font-size:1.05rem;
  margin:.35rem auto .25rem;
  text-align:center;
}

.airport-copy{
  margin:0 auto;
  font-size:.95rem;
  line-height:1.5;
  color:#333;
  text-align:center;
}

.airport-footer{
  padding:.9rem;
  margin-top:auto;
  display:flex;
  justify-content:center;
}

.airport-footer .btn-gold{
  min-width:170px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* SECONDARY AIRPORT CHAUFFEUR SECTION */

.secondary-refined{
  background:#111;
  padding:2.75rem 0 3rem;
}

.secondary-refined .wrap{
  max-width:1100px;
  margin:0 auto;
  padding:0 1rem;
}

.silk-panel{
  background:#fff;
  border:1px solid rgba(184,134,11,.45);
  border-radius:1.25rem;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
  overflow:hidden;
}

.silk-cap{
  text-align:center;
  padding:1.2rem .75rem;
  background:linear-gradient(180deg, rgba(255,215,0,.16), rgba(255,215,0,0));
  border-bottom:1px solid rgba(184,134,11,.35);
}

.silk-cap .eyebrow{
  display:inline-block;
  margin:0 0 .4rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#b8860b;
  background:rgba(255,215,0,.18);
  border:1px solid rgba(184,134,11,.45);
  border-radius:.5rem;
  padding:.35rem .6rem;
}

.silk-cap h2{
  margin:.35rem 0 0;
  color:#111;
  font-weight:900;
}

.silk-body{
  padding:1.25rem 1.25rem 1rem;
}

@media(min-width:992px){
  .silk-body{
    padding:1.5rem 2rem 1.25rem;
  }
}

.block{
  margin:1.25rem 0 1rem;
  padding-top:.25rem;
}

.block h3{
  margin:0 0 .6rem;
  color:#111;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.15rem;
  border-left:4px solid #0A6ECF;
  padding-left:.6rem;
}

.feature{
  margin:.65rem 0;
  color:#111;
  line-height:1.75;
  font-size:1.03rem;
  position:relative;
  padding-left:1.15rem;
}

.feature::before{
  content:"";
  position:absolute;
  left:0;
  top:.65rem;
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:linear-gradient(135deg,#0A6ECF,#FFC300);
  box-shadow:0 0 0 2px rgba(184,134,11,.25);
}

.copy{
  margin:.7rem 0;
  color:#111;
  line-height:1.8;
  font-size:1.03rem;
}

.steps{
  margin:.35rem 0 0;
}

.step{
  margin:.5rem 0;
  padding-left:2.1rem;
  position:relative;
  color:#111;
  line-height:1.75;
  font-size:1.03rem;
}

.step::before{
  content:attr(data-step);
  position:absolute;
  left:0;
  top:.15rem;
  width:1.55rem;
  height:1.55rem;
  border-radius:.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:.9rem;
  color:#000;
  background:linear-gradient(135deg,#0A6ECF,#FFC300);
  border:2px solid #BFC7CF;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}

.conclusion{
  margin:1.25rem 0 0;
  padding:1rem 1.15rem;
  background:linear-gradient(180deg, rgba(255,215,0,.12), rgba(255,215,0,0));
  border:1px solid rgba(184,134,11,.35);
  border-radius:.9rem;
}

.conclusion h3{
  margin:0 0 .5rem;
  color:#000;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  display:inline-block;
  background:#0A6ECF;
  padding:.35rem .6rem;
  border-radius:.45rem;
  border:1px solid #BFC7CF;
}

.conclusion p{
  margin:.4rem 0 0;
  color:#111;
  line-height:1.8;
  font-size:1.03rem;
}


/* AIRPORT INFORMATION CARDS */

.airport-info .grid{
  display:grid;
  gap:1.75rem;
  max-width:1200px;
  margin:0 auto;
}

@media(min-width:768px){
  .airport-info .grid{
    grid-template-columns:repeat(2,1fr);
  }

  .airport-info .airport-card:last-child{
    grid-column:1 / -1;
    max-width:600px;
    width:100%;
    margin:0 auto;
  }
}

.airport-info .airport-card{
  background:#111;
  border:1px solid rgba(255,215,0,.15);
  border-radius:1rem;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  transition:all .25s ease;
}

.airport-info .airport-card:hover{
  transform:translateY(-5px);
  border-color:#0A6ECF;
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}

.airport-logo-wrap{
  padding:1.5rem 1rem 1rem;
  text-align:center;
  border-bottom:2px solid #0A6ECF;
}

.airport-logo{
  width:220px;
  max-width:90%;
  height:auto;
  display:block;
  margin:auto;
  background:#fff;
  padding:.5rem;
  border-radius:.75rem;
}

.airport-link{
  text-align:center;
  padding:1rem 1rem .5rem;
}

.airport-link a{
  color:#0A6ECF;
  font-weight:700;
  text-decoration:none;
  font-size:.95rem;
}

.airport-link a:hover{
  color:#fff;
}

.airport-info .airport-body{
  padding:0 1.5rem 1.5rem;
  flex:1;
  display:flex;
  align-items:center;
}

.airport-info .airport-body p{
  margin:0;
  color:#e8e8e8;
  line-height:1.85;
  font-size:1rem;
  text-align:center;
}

.airport-info .airport-body strong{
  color:#0A6ECF;
  font-weight:700;
}

.airport-divider{
  display:none;
}   
#popular-links {
    background:#000;
    border-top:2px solid #BFC7CF;
    padding:3rem 0;
  }

  #popular-links .section-title{
    color:#fff;
    text-align:center;
    font-weight:800;
    margin-bottom:.35rem;
    letter-spacing:.02em;
  }

  #popular-links .section-sub{
    color:#d8d8d8;
    text-align:center;
    max-width:900px;
    margin:0 auto 2rem;
    line-height:1.7;
    font-size:1.02rem;
  }

  #popular-links .links-card{
    background:#fff;
    border-radius:1rem;
    padding:1.5rem;
    height:100%;
    border:1px solid rgba(184,134,11,.35);
    box-shadow:0 12px 30px rgba(0,0,0,.22);
  }

  #popular-links .links-heading{
    color:#000;
    text-align:center;
    font-weight:800;
    margin-bottom:1rem;
    font-size:1.25rem;
  }

  #popular-links .links-heading::after{
    content:"";
    display:block;
    width:80px;
    height:3px;
    margin:.6rem auto 0;
    background:linear-gradient(90deg,#BFC7CF,#0A6ECF);
    border-radius:999px;
  }

  #popular-links .links-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    justify-content:center;
  }

  #popular-links .links-wrap a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.55rem .9rem;
    border-radius:999px;
    background:#f7f7f7;
    border:1px solid rgba(184,134,11,.55);
    color:#000;
    text-decoration:none;
    font-weight:600;
    transition:all .2s ease;
    line-height:1.3;
    text-align:center;
  }

  #popular-links .links-wrap a:hover{
    background:#0A6ECF;
    border-color:#0A6ECF;
    color:#000;
    transform:translateY(-2px);
  }

  @media (max-width:991.98px){
    #popular-links{
      padding:2.25rem 0;
    }

    #popular-links .links-card{
      margin-bottom:1rem;
    }

    #popular-links .links-wrap{
      gap:.55rem;
    }

    #popular-links .links-wrap a{
      width:100%;
      padding:.7rem .9rem;
      font-size:.95rem;
    }
  }
  /* Final booking CTA */
#final-booking-cta{
  background:#000;
  border-top:2px solid #BFC7CF;
  border-bottom:2px solid #BFC7CF;
}

#final-booking-cta .final-cta-card{
  max-width:1050px;
  margin:0 auto;
  text-align:center;
  background:
    linear-gradient(#0b0b0b,#0b0b0b) padding-box,
    linear-gradient(135deg,#BFC7CF,#0A6ECF) border-box;
  border:2px solid transparent;
  border-radius:1rem;
  padding:2.4rem 1.5rem;
  box-shadow:0 18px 42px rgba(0,0,0,.35);
}

#final-booking-cta .final-cta-eyebrow{
  display:inline-block;
  color:#0A6ECF;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:.85rem;
}

#final-booking-cta h2{
  color:#fff;
  font-weight:900;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.15;
  margin:0 0 1rem;
}

#final-booking-cta p{
  max-width:780px;
  margin:0 auto 1.6rem;
  color:#EAEAEA;
  font-size:1.05rem;
  line-height:1.8;
}

#final-booking-cta .final-cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.85rem;
}

#final-booking-cta .final-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  padding:1rem 1.35rem;
  border-radius:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

#final-booking-cta .final-cta-primary{
  background:#0A6ECF;
  color:#000;
  border:2px solid #BFC7CF;
}

#final-booking-cta .final-cta-secondary{
  background:#fff;
  color:#000;
  border:2px solid #fff;
}

#final-booking-cta .final-cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.35);
}

@media (max-width:575.98px){
  #final-booking-cta .final-cta-card{
    padding:1.8rem 1rem;
  }

  #final-booking-cta .final-cta-actions{
    flex-direction:column;
  }

  #final-booking-cta .final-cta-btn{
    width:100%;
  }
}
.footer {
  background: #fff;
  color: #000;
  padding: 1.25rem 0 .85rem;
}

.footer-inner {
  border-top: 2px solid #0A6ECF;
  padding-top: 1rem;
}

.footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: .9rem;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.footer-logo {
  max-width: 300px;
  width: 100%;
  height: auto;
}

.footer-tagline {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: #111;
  max-width: 520px;
}

.footer-actions {
  text-align: right;
  flex-shrink: 0;
}

.footer-contact-line {
  margin: 0 0 .45rem;
  font-size: .95rem;
  font-weight: 700;
}

.footer-contact-line a {
  color: #000;
  text-decoration: none;
}

.footer-contact-line a:hover,
.footer-contact-line a:focus {
  color: #0A6ECF;
}

.footer-links {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: .65rem 0;
}

.footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: .85rem 1.15rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.footer-links a {
  color: #000;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 700;
}

.footer-links a:hover,
.footer-links a:focus {
  color: #0A6ECF;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: .7rem;
  font-size: .82rem;
  color: #111;
}

.footer-bottom p {
  margin: 0;
}

.footer-bottom a {
  color: #000;
  text-decoration: none;
  font-weight: 700;
  margin-left: .85rem;
}

.footer-bottom a:hover,
.footer-bottom a:focus {
  color: #0A6ECF;
}

.footer-social {
  margin-top: .55rem;
}

.social-icon {
  max-width: 22px;
  height: auto;
  margin-left: .35rem;
}

@media (max-width: 991.98px) {
  .footer-main {
    align-items: flex-start;
  }

  .footer-brand {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }

  .footer-logo {
    max-width: 280px;
  }
}

@media (max-width: 575.98px) {
  .footer {
    padding: 1rem 0 .75rem;
  }

  .footer-main {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: .75rem;
  }

  .footer-brand {
    align-items: center;
  }

  .footer-logo {
    max-width: 300px;
  }

  .footer-tagline {
    font-size: .88rem;
  }

  .footer-actions {
    text-align: center;
  }

  .footer-links {
    padding: .55rem 0;
  }

  .footer-links ul {
    gap: .35rem .55rem;
  }

  .footer-links a {
    display: inline-block;
    padding: .35rem .45rem;
    line-height: 1.4;
    font-size: .86rem;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: .35rem;
  }

  .footer-bottom a {
    display: inline-block;
    padding: .35rem .45rem;
    margin: 0 .25rem;
  }

  .footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }

  .social-icon {
    margin: 0 .25rem;
  }
}

/* Contact links */
.footer-contact-line a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .65rem .75rem;
  margin: .15rem .2rem;
  line-height: 1.2;
}

/* Main footer navigation links */
.footer-links ul {
  gap: .5rem .75rem;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .65rem .8rem;
  line-height: 1.2;
}

/* Privacy / terms / bottom links */
.footer-bottom a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .65rem .75rem;
  margin: 0 .25rem;
  line-height: 1.2;
}

/* Social links */
.footer-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
}

.footer-social .social-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
}

.social-tiktok-mark {
  color: #111;
  font-size: .62rem;
  font-weight: 800;
}

.social-icon {
  max-width: 22px;
  height: auto;
  margin: 0;
}


/* MOBILE */
@media (max-width: 575.98px) {

  .footer-links ul {
    gap: .5rem;
  }

  .footer-links a {
    min-height: 48px;
    padding: .65rem .7rem;
    font-size: .86rem;
  }

  .footer-contact-line a {
    min-height: 48px;
    padding: .65rem .7rem;
  }

  .footer-bottom {
    gap: .5rem;
  }

  .footer-bottom a {
    min-height: 48px;
    padding: .65rem .7rem;
    margin: 0 .15rem;
  }

  .footer-social a {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
}
  /* Floating WhatsApp Button */
.float.whatsapp-btn{
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:1050;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.85rem 1.25rem;
  background:#168A48;
  border:2px solid #0E6734;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.float.whatsapp-btn:hover,
.float.whatsapp-btn:focus-visible{
  background:#0E6734;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.35);
}

.float.whatsapp-btn:focus-visible{
  outline:3px solid #111;
  outline-offset:3px;
}

@media (max-width:575.98px){

  .float.whatsapp-btn{
    bottom:14px;
    right:14px;
    min-height:48px;
    padding:.7rem .95rem;
    font-size:.9rem;
  }
}
/* =========================
   FAQ / ACCORDION SECTION
   ========================= */

:root{
  --brand-gold:#0A6ECF;
  --brand-gold-border:#BFC7CF;
}

.accordion-gold{
  max-width:1000px;
  margin:3rem auto;
}

.accordion-gold .accordion-item{
  background:#fff;
  border:1px solid rgba(184,134,11,.45);
  border-top:4px solid var(--brand-gold);
  border-radius:1rem;
  overflow:hidden;
  margin-bottom:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

.accordion-gold .accordion-button{
  background:#fff;
  color:#000;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  justify-content:center;
  text-align:center;
  padding:1.15rem 3.5rem 1.15rem 1.25rem;
  position:relative;
  box-shadow:none !important;
}

.accordion-gold .accordion-button:not(.collapsed){
  background:#fff;
  color:#000;
}

.accordion-gold .accordion-button::after{
  display:none;
}

.accordion-gold .accordion-button::before{
  content:"+";
  position:absolute;
  right:1.25rem;
  top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  font-weight:700;
  color:#000;
}

.accordion-gold .accordion-button:not(.collapsed)::before{
  content:"−";
}

.accordion-gold .accordion-button:focus{
  box-shadow:0 0 0 .2rem rgba(255,215,0,.35) !important;
}

.accordion-gold .accordion-body{
  background:#fff;
  color:#111;
  padding:1.25rem 1.3rem;
  line-height:1.8;
  font-size:1rem;
}

.accordion-gold .accordion-body p{
  margin-bottom:.9rem;
}

.accordion-gold .accordion-body p:last-child{
  margin-bottom:0;
}

.accordion-gold .faq-icon{
  color:var(--brand-gold-border);
  margin-right:.55rem;
}

.accordion-gold strong{
  font-weight:800;
}

@media(max-width:575.98px){

  .accordion-gold{
    margin:2rem auto;
  }

  .accordion-gold .accordion-button{
    font-size:.95rem;
    padding:1rem 3rem 1rem 1rem;
  }

  .accordion-gold .accordion-body{
    padding:1rem;
    font-size:.96rem;
    text-align:justify;
  }
}
/* =========================
   LOCAL AREAS / LINKS
   ========================= */

#local-areas{
  background:#000;
  border-top:2px solid #BFC7CF;
  padding:3rem 0;
}

#local-areas .local-areas-wrap{
  max-width:1150px;
  margin:0 auto;
}

#local-areas .local-title{
  color:#fff;
  text-align:center;
  font-weight:900;
  margin-bottom:.75rem;
  letter-spacing:.02em;
}

#local-areas .local-sub{
  color:#d8d8d8;
  text-align:center;
  max-width:900px;
  margin:0 auto 2rem;
  line-height:1.8;
  font-size:1.02rem;
}

#local-areas .areas-container{
  overflow:hidden;
  transition:max-height .35s ease;
}

/* GRID */

#local-areas .links-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
}

#local-areas .links-column{
  width:100%;
}

#local-areas .links-heading{
  color:#0A6ECF;
  font-weight:800;
  margin-bottom:1rem;
  text-align:center;
}

/* LINKS */

#local-areas .links-wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.7rem;
}

#local-areas .links-wrap a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border-radius:999px;
  background:#111;
  border:1px solid rgba(184,134,11,.55);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  line-height:1.35;
  transition:all .2s ease;
}

#local-areas .links-wrap a:hover{
  background:#0A6ECF;
  border-color:#0A6ECF;
  color:#000;
  transform:translateY(-2px);
}

/* BUTTON */

#local-areas .toggle-btn{
  background:#0A6ECF;
  color:#000;
  border:2px solid #BFC7CF;
  border-radius:.75rem;
  font-weight:800;
  padding:.7rem 1.15rem;
  margin-top:1.5rem;
  transition:all .2s ease;
}

#local-areas .toggle-btn:hover{
  background:#ffdf32;
  color:#000;
}

/* MOBILE */

@media(max-width:767.98px){

  #local-areas{
    padding:2.2rem 0;
  }

  #local-areas .links-grid{
    grid-template-columns:1fr;
    gap:1.5rem;
  }

  #local-areas .links-wrap{
    flex-direction:column;
    flex-wrap:nowrap;
    gap:.55rem;
  }

  #local-areas .links-wrap a{
    width:100%;
    padding:.75rem .9rem;
    font-size:.95rem;
  }

  #local-areas .local-sub{
    font-size:.97rem;
    line-height:1.7;
  }
}
.hero-full {
  position: relative;
  min-height: 78vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
}

.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  transform: translateZ(0);
  background-color: #000;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.68),
    rgba(0,0,0,.48) 40%,
    rgba(0,0,0,.72)
  );
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 2rem 1rem;
  max-width: 1100px;
}

.hero-title {
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.1;
  font-size: clamp(2rem, 5vw, 3rem);
}

.gold-underline {
  width: 120px;
  height: 4px;
  background: var(--brand-gold);
  border-radius: 999px;
  margin: .85rem auto 0;
}

.hero-sub {
  max-width: 860px;
  margin: 1rem auto 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  opacity: .95;
}

.hero-cta {
  margin-top: 1.5rem;
  display: inline-flex;
  gap: .75rem;
  flex-wrap: wrap;
  justify-content: center;
}

.btn-gold,
.hero-review-btn,
.btn-gold:visited,
.hero-review-btn:visited {
  background-color: #0A6ECF;
  color: #000 !important;
  border: 2px solid #000;
  padding: .85rem 1.25rem;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btn-gold:hover,
.btn-gold:focus,
.btn-gold:active,
.hero-review-btn:hover,
.hero-review-btn:focus,
.hero-review-btn:active {
  background-color: #000;
  color: #0A6ECF !important;
  border-color: #000;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  text-decoration: none !important;
}

.reveal {
  opacity: 1;
  animation: none;
}

.reveal-1 { animation-delay: .05s; }
.reveal-2 { animation-delay: .20s; }
.reveal-3 { animation-delay: .35s; }
.reveal-4 { animation-delay: .50s; }

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .btn-gold,
  .hero-review-btn {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 575.98px) {

  .hero-full {
    min-height: 52vh;
  }

  .hero-bg {
    object-fit: cover;
    object-position: center;
  }

  .hero-overlay {
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,.62),
      rgba(0,0,0,.45) 40%,
      rgba(0,0,0,.68)
    );
  }

  .hero-content {
    padding: 1.1rem .75rem;
  }

  .hero-title {
    font-size: clamp(1.6rem, 7.8vw, 2.15rem);
  }

  .gold-underline {
    width: 96px;
    height: 3px;
    margin-top: .6rem;
  }

  .hero-sub {
    font-size: .98rem;
    margin-top: .6rem;
  }

  .hero-cta {
    gap: .5rem;
  }

  .btn-gold,
  .hero-review-btn,
  .btn-gold:visited,
  .hero-review-btn:visited {
    background-color: #0A6ECF;
    color: #000 !important;
    border: 2px solid #000;
    padding: .7rem 1rem;
  }

  .btn-gold:hover,
  .btn-gold:focus,
  .btn-gold:active,
  .hero-review-btn:hover,
  .hero-review-btn:focus,
  .hero-review-btn:active {
    background-color: #000;
    color: #0A6ECF !important;
    border-color: #000;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {

  .hero-full {
    min-height: 58vh;
  }

  .hero-bg {
    object-fit: cover;
    object-position: 50% 70%;
  }

  .hero-title {
    font-size: clamp(2rem, 6.2vw, 2.6rem);
  }
}

.hero-full .hero-cta a.btn-gold,
.hero-full .hero-cta a.btn-gold:visited {
  background-color: #0A6ECF !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

.hero-full .hero-cta a.btn-gold:hover,
.hero-full .hero-cta a.btn-gold:focus,
.hero-full .hero-cta a.btn-gold:active {
  background-color: #000 !important;
  color: #0A6ECF !important;
  border-color: #000 !important;
  text-decoration: none !important;
}
/* =========================
   GUILD SECTION
   ========================= */

#guild-section{
  padding:5rem 0;
  text-align:center;
}

#guild-section .guild-image{
  display:block;
  max-width:350px;
  width:100%;
  margin:0 auto 2rem;
  border-radius:12px;
  border:2px solid #BFC7CF;
}

#guild-section .guild-title{
  color:#0A6ECF;
  font-weight:800;
  margin-bottom:1rem;
}

#guild-section .gold-underline{
  width:90px;
  height:4px;
  background:#0A6ECF;
  margin:0 auto 2rem;
}

#guild-section .guild-text{
  max-width:900px;
  margin:0 auto 1.25rem;
  color:#fff;
  line-height:1.8;
  text-align:center;
}

@media (max-width:767.98px){

  #guild-section{
    padding:3rem 0;
  }

  #guild-section .guild-image{
    max-width:280px;
  }
}
  /* === section visual system (black/white alternating) === */
  .section-light{ background:#fff; color:#000; }
  .section-dark{ background:#000; color:#fff; }
  .section-wrap{ padding: 3rem 0; }
  .section-wrap .section-title{ text-align:center; font-weight:900; letter-spacing:.01em; margin:0 0 1rem; color:inherit; }
  .section-wrap .section-sub{ max-width:980px; margin:.25rem auto 1.5rem; text-align:center; opacity:.95; }
  .gold-hr{ width:120px;height:3px;background:#0A6ECF;border-radius:999px; margin:.6rem auto 1.2rem; }
  .section-media{ border-radius:.85rem; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,.25); }
  .feature-card{ background:rgba(255,255,255,.04); border:1px solid #0A6ECF; border-radius:.9rem; padding:1rem 1.1rem; margin:.6rem 0; box-shadow:0 8px 20px rgba(0,0,0,.18); }
  .section-light .feature-card{ background:#fafafa; border-color:#0A6ECF; }
  .section-copy p{ font-size:1rem; line-height:1.7; margin-bottom:0; }
  .section-copy p + p{ margin-top:1rem; }
  .mt-6{ margin-top:3rem; }
  .mb-6{ margin-bottom:3rem; }
  .title-xl{ font-size:clamp(1.9rem, 3.2vw, 2.6rem); }
  .title-lg{ font-size:clamp(1.4rem, 2.2vw, 1.8rem); }

  .section-dark a{
    color:#0A6ECF;
    text-decoration:none;
    font-weight:700;
  }

  .section-dark a:hover{
    text-decoration:underline;
  }

  .section-light a{
    color:#000;
    text-decoration:none;
    font-weight:700;
  }

  .section-light a:hover{
    text-decoration:underline;
  }
  :root {
  --brand-gold: #0A6ECF;
  --brand-gold-border: #0A6ECF;
  --overlay: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.35) 40%, rgba(0,0,0,.65));
}


.intro-services {
    background:#fff;
    padding:3rem 1rem;
  }

  .intro-services .intro-block{
    max-width:1000px;
    margin:0 auto 2.5rem;
    text-align:center;
  }

  .intro-services h2 {
    font-weight:700;
    margin:0 0 .5rem;
    color:#000;
    position:relative;
    display:inline-block;
    padding-bottom:.5rem;
    overflow:hidden;
  }

  /* Animated gold divider under h2 */
  .intro-services h2::after{
    content:"";
    display:block;
    width:60px;
    height:3px;
    margin:.5rem auto 1.25rem;
    background:#0A6ECF;
    border-radius:2px;
    transition:width .8s ease;
  }
.intro-services p{
    max-width:900px;
    margin:0 auto;
    color:#111;
    font-size:1.125rem;
    line-height:1.8;
  }

  .intro-services a{
    color:#000;
    font-weight:700;
    text-decoration:none;
  }

  .intro-services a:hover{
    text-decoration:underline;
  }

  .intro-services strong,
  .intro-services a strong{
    color:#000 !important;
    font-weight:700;
  }

  /* ====== Mobile & Tablet: horizontal cards + snap + auto pin support ====== */
  @media (max-width: 991.98px){

    .intro-services{
      padding:2rem .5rem 2.25rem;
      display:flex;
      gap:1rem;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
    }

    .intro-services .intro-block{
      flex:0 0 85%;
      max-width:none;
      margin:0;
      background:#fff;
      border:1px solid #e9e9e9;
      border-radius:.9rem;
      padding:1.25rem 1rem 1.1rem;
      box-shadow:0 8px 22px rgba(0,0,0,.06);
      scroll-snap-align:center;
      scroll-snap-stop:always;
      text-align:center;
    }

    .intro-services::-webkit-scrollbar{
      display:none;
    }

    .intro-services p{
      max-width:100%;
      font-size:1.05rem;
      line-height:1.7;
    }

    .intro-services h2{
      margin:0 0 .4rem;
      padding-bottom:.45rem;
    }

    .intro-services h2::after{
      margin:.45rem auto 1rem;
    }
  }


:root{
    --brand-gold:#0A6ECF;
    --brand-gold-border:#0A6ECF;
  }

  .vehicles-wrap{
    background:#000;
    padding-bottom:2.5rem;
  }

  .vehicles-title{
    text-align:center;
    color:#fff;
    font-weight:800;
    margin:0;
    padding:2rem 0 1.25rem;
    letter-spacing:.02em;
  }

  /* Desktop grid */
  .vehicles-grid{
    display:grid;
    gap:1rem;
    grid-template-columns:1fr;
  }

  @media (min-width:576px){
    .vehicles-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (min-width:768px){
    .vehicles-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
      justify-content:center;
    }
  }

  .vehicle-card-link{
    display:block;
    height:100%;
    text-decoration:none;
    color:inherit;
    border-radius:.85rem;
  }

  .vehicle-card-link:focus-visible{
    outline:3px solid var(--brand-gold);
    outline-offset:2px;
    border-radius:.85rem;
  }

  .vehicle-card{
    background:#fff;
    border:1px solid var(--brand-gold-border);
    border-radius:.85rem;
    overflow:hidden;
    height:100%;
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    transition:transform .18s ease,box-shadow .18s ease;
    min-width:0;
  }

  .vehicle-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(0,0,0,.28);
  }

  .vehicle-card:hover .vehicle-title{
    text-decoration:underline;
  }

  .vehicle-media{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#000;
  }

  .vehicle-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .vehicle-badge{
    position:absolute;
    top:.6rem;
    left:.6rem;
    background:var(--brand-gold);
    color:#000;
    font-weight:800;
    border:1px solid var(--brand-gold-border);
    border-radius:.4rem;
    padding:.18rem .45rem;
    font-size:.72rem;
    box-shadow:0 3px 8px rgba(0,0,0,.35);
  }

  .vehicle-body{
    padding:.9rem .95rem 1.1rem;
  }

  .vehicle-title{
    text-align:center;
    color:#000;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(.92rem,1.1vw,1.05rem);
    margin:.35rem 0 .5rem;
  }

  .vehicle-text{
    color:#111;
    font-size:.95rem;
    line-height:1.55;
    margin:0;
    text-align:center;
  }

  /* Keep every vehicle card in the normal mobile page flow. */
  @media (max-width:991.98px){

    .vehicles-grid{
      display:grid;
      grid-template-columns:minmax(0,1fr);
      gap:.85rem;
      overflow:visible;
      padding:.25rem 0 .5rem;
    }

    .vehicles-grid > article{
      min-width:0;
    }
  }



:root{
      --brand-gold:#0A6ECF;
      --brand-gold-border:#0A6ECF;
      --ink:#0B0B0C;
    }

    /* Header */
    .faq-wrap .faq-header{
      max-width:1050px;
      margin:0 auto;
      padding:2rem 1rem 1.75rem;
      text-align:center;
      background:#fff;
      border-radius:1rem;
    }

    .faq-wrap .faq-title{
      margin:0;
      font-weight:800;
      color:var(--ink);
      font-size:clamp(1.9rem, 4vw, 2.75rem);
    }

    .faq-wrap .divider-gold{
      width:160px;
      height:2px;
      border-radius:2px;
      margin:.85rem auto 0;
      background:linear-gradient(90deg, transparent, var(--brand-gold), transparent);
    }

    .faq-wrap .faq-intro{
      margin:.9rem auto 0;
      max-width:900px;
      line-height:1.75;
      font-size:1.05rem;
      color:#000;
      background:#f9f9f9;
      border:1px solid var(--brand-gold-border);
      border-radius:.9rem;
      padding:1rem;
      box-shadow:0 10px 22px rgba(0,0,0,.12);
      text-align:center;
    }

    .faq-wrap .faq-intro a{
      color:#000;
      font-weight:600;
      text-decoration:underline;
    }

    /* Accordion */
    .accordion-gold{
      max-width:1000px;
      margin:1.75rem auto 0;
      padding:0 1rem;
    }

    .accordion-gold .accordion-item{
      background:#111;
      border:2px solid var(--brand-gold-border);
      border-radius:.9rem;
      overflow:hidden;
      margin-bottom:.85rem;
      box-shadow:0 10px 24px rgba(0,0,0,.4);
    }

    .accordion-gold .accordion-button{
      background:#fff;
      color:#000;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.04em;
      justify-content:center;
      text-align:center;
      padding:1rem 3.25rem 1rem 1.25rem;
      border-bottom:1px solid rgba(184,134,11,.45);
      position:relative;
    }

    .accordion-gold .accordion-button::after{
      display:none;
    }

    .accordion-gold .accordion-button::before{
      content:"+";
      position:absolute;
      right:1.25rem;
      top:50%;
      transform:translateY(-50%);
      font-weight:800;
      font-size:1.5rem;
      color:#000;
    }

    .accordion-gold .accordion-button:not(.collapsed)::before{
      content:"−";
    }

    .accordion-gold .accordion-button:focus{
      box-shadow:0 0 0 .2rem rgba(255,215,0,.55);
      border-color:var(--brand-gold-border);
    }

    .accordion-gold .accordion-body{
      background:#111;
      color:#fff;
      line-height:1.75;
      font-size:1rem;
      padding:1rem 1.1rem;
      text-align:center;
    }

    .accordion-gold .accordion-body a{
      color:#fff;
      text-decoration:underline;
    }

#m2l{
    background:#fff;
    position:relative;
  }

  #m2l .m2l-image{
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 14px 32px rgba(0,0,0,.14);
  }

  #m2l .m2l-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.25rem;
    margin-top:2.5rem;
  }

  #m2l .m2l-card{
    background:#fff;
    border:1px solid #e7e7e7;
    border-top:4px solid #0A6ECF;
    border-radius:1rem;
    padding:1.4rem 1.25rem;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    transition:transform .2s ease, box-shadow .2s ease;
    height:100%;
  }

  #m2l .m2l-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(0,0,0,.12);
  }

  #m2l .m2l-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#0A6ECF;
    color:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.5rem;
    font-weight:800;
    margin:0 auto 1rem;
    border:2px solid #0A6ECF;
  }

  #m2l .m2l-card h3{
    text-align:center;
    font-size:1.05rem;
    font-weight:800;
    color:#000;
    margin:0 0 .7rem;
    text-transform:uppercase;
    letter-spacing:.03em;
  }

  #m2l .m2l-card p{
    margin:0;
    text-align:center;
    color:#111;
    line-height:1.7;
    font-size:.97rem;
  }

  #m2l .m2l-card a{
    color:#000;
    font-weight:700;
    text-decoration:none;
  }

  #m2l .m2l-card a:hover{
    text-decoration:underline;
  }

  @media (max-width:991.98px){

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

  @media (max-width:575.98px){

    #m2l .m2l-grid{
      display:flex;
      overflow-x:auto;
      gap:1rem;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      padding-bottom:.35rem;
    }

    #m2l .m2l-grid::-webkit-scrollbar{
      display:none;
    }

    #m2l .m2l-card{
      flex:0 0 85%;
      scroll-snap-align:center;
      min-height:auto;
    }

    #m2l .m2l-card h3{
      font-size:1rem;
    }

    #m2l .m2l-card p{
      font-size:.95rem;
    }
  }

/* Scope everything to this section only */
  #home-chauffeur-cards .lux-card{
    position: relative;
    border: 2px solid transparent;
    border-radius: 16px;
    background:
      linear-gradient(#0b0b0b,#0b0b0b) padding-box,
      linear-gradient(135deg,#0A6ECF,#0A6ECF) border-box;
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
    display:flex;
    flex-direction:column;
    min-height:100%;
  }

  #home-chauffeur-cards .lux-card .lux-inner{
    padding:1.25rem;
    display:flex;
    flex-direction:column;
    gap:.25rem;
  }

  @media (min-width:768px){
    #home-chauffeur-cards .lux-card .lux-inner{
      padding:1.5rem;
    }
  }

  /* Headlines */
  #home-chauffeur-cards .lux-title{
    color:#fff;
    text-align:center;
    font-weight:800;
    letter-spacing:.3px;
    margin-top:.75rem;
    margin-bottom:.25rem;
    text-shadow:0 1px 0 rgba(0,0,0,.4);
    font-size:clamp(1.25rem,2vw,1.5rem);
    line-height:1.3;
  }

  #home-chauffeur-cards .lux-title::after{
    content:"";
    display:block;
    width:90px;
    height:3px;
    margin:.6rem auto 0;
    background:linear-gradient(90deg,#0A6ECF,#0A6ECF);
    border-radius:999px;
    opacity:.95;
  }

  /* Copy */
  #home-chauffeur-cards .lux-copy p{
    color:#EAEAEA;
    font-size:1.02rem;
    text-align:center;
    line-height:1.7;
    margin-bottom:1rem;
  }

  /* Links */
  #home-chauffeur-cards .link-accent,
  #home-chauffeur-cards a{
    color:#0A6ECF !important;
    text-decoration:none;
    font-weight:700;
    border-bottom:1px solid rgba(255,215,0,.35);
    transition:border-color .2s ease,color .2s ease;
  }

  #home-chauffeur-cards .link-accent:hover,
  #home-chauffeur-cards a:hover{
    color:#57A8FF !important;
    border-bottom-color:#57A8FF;
  }

  #home-chauffeur-cards a strong{
    color:#0A6ECF !important;
  }

  /* Images */
  #home-chauffeur-cards .lux-img{
    border-radius:12px;
    width:100%;
    height:auto;
    display:block;
  }

  /* Rail wrapper */
  #home-chauffeur-cards .lux-outer{
    position:relative;
  }

  /* Horizontal rail */
  #home-chauffeur-cards .lux-rail{
    display:flex;
    gap:1rem;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:.25rem .5rem 1rem;
  }

  #home-chauffeur-cards .lux-rail::-webkit-scrollbar{
    display:none;
  }

  /* Items */
  #home-chauffeur-cards .lux-item{
    flex:0 0 85%;
    scroll-snap-align:center;
    scroll-snap-stop:always;
    display:flex;
  }

  #home-chauffeur-cards .lux-item .lux-card{
    width:100%;
  }

  /* Desktop: 2 per row */
  @media (min-width:992px){
    #home-chauffeur-cards .lux-item{
      flex:0 0 calc(50% - .5rem);
    }
  }

  /* Scroll arrows */
  #home-chauffeur-cards .lux-scroll-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(0,0,0,.7);
    border:2px solid #0A6ECF;
    color:#0A6ECF;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,.28);
    transition:background .2s ease,color .2s ease;
    z-index:5;
  }

  #home-chauffeur-cards .lux-scroll-btn:hover{
    background:#0A6ECF;
    color:#000;
  }

  #home-chauffeur-cards .lux-scroll-left{
    left:.25rem;
  }

  #home-chauffeur-cards .lux-scroll-right{
    right:.25rem;
  }

  #home-chauffeur-cards .lux-scroll-btn span{
    font-size:1.6rem;
  }

  @media (max-width:991.98px){
    #home-chauffeur-cards .lux-scroll-btn{
      display:none;
    }
  }

  /* Mobile tweaks */
  @media (max-width:991.98px){

    #home-chauffeur-cards .lux-title{
      font-size:clamp(1.05rem,4vw,1.3rem);
    }

    #home-chauffeur-cards .lux-title::after{
      width:72px;
      height:3px;
      margin:.45rem auto 0;
    }

    #home-chauffeur-cards .lux-card .lux-inner{
      padding:1.05rem .9rem 1rem;
    }

    #home-chauffeur-cards .lux-copy p{
      font-size:.98rem;
      line-height:1.6;
    }
  }

/* Scope to this section only */
  #half-full{
    position:relative;
  }

  /* Desktop / tablet */
  #half-full .hf-rail{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.25rem;
    margin-top:2rem;
  }

  #half-full .hf-card{
    background:#fff;
    border:1px solid #e6e6e6;
    border-top:4px solid #0A6ECF;
    border-radius:1rem;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    padding:1.35rem 1.2rem;
    transition:transform .2s ease, box-shadow .2s ease;
    height:100%;
  }

  #half-full .hf-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(0,0,0,.12);
  }

  #half-full .hf-card h4{
    text-align:center;
    color:#000;
    font-weight:800;
    margin-bottom:.9rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    font-size:1.05rem;
  }

  #half-full .hf-card p{
    color:#111;
    text-align:center;
    line-height:1.7;
    margin-bottom:0;
    font-size:1rem;
  }

  #half-full .hf-card a{
    color:#000;
    font-weight:700;
    text-decoration:none;
  }

  #half-full .hf-card a:hover{
    text-decoration:underline;
  }

  /* Tablet */
  @media (max-width:991.98px){

    #half-full .hf-rail{
      grid-template-columns:repeat(2,1fr);
    }

    #half-full .section-media{
      max-width:75%;
    }
  }

  /* Mobile rail */
  @media (max-width:575.98px){

    #half-full .hf-rail{
      display:flex;
      overflow-x:auto;
      gap:1rem;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      padding-bottom:.4rem;
    }

    #half-full .hf-rail::-webkit-scrollbar{
      display:none;
    }

    #half-full .hf-card{
      flex:0 0 85%;
      scroll-snap-align:center;
      padding:1.15rem 1rem;
    }

    #half-full .hf-card h4{
      font-size:1rem;
    }

    #half-full .hf-card p{
      font-size:.96rem;
      line-height:1.65;
    }

    #half-full .section-media{
      max-width:92%;
    }
  }

/* Base card styling */
  #exec-hire .lux-card{
    position:relative;
    border:2px solid transparent;
    border-radius:16px;
    background:
      linear-gradient(#0b0b0b,#0b0b0b) padding-box,
      linear-gradient(135deg,#0A6ECF,#0A6ECF) border-box;
    box-shadow:0 14px 34px rgba(0,0,0,.35);
    height:100%;
    display:flex;
    flex-direction:column;
  }

  #exec-hire .lux-inner{
    padding:1.25rem;
    display:flex;
    flex-direction:column;
    gap:.25rem;
  }

  @media(min-width:768px){
    #exec-hire .lux-inner{
      padding:1.5rem;
    }
  }

  /* Headings */
  #exec-hire .lux-title{
    color:#fff;
    text-align:center;
    font-weight:800;
    letter-spacing:.3px;
    margin-top:.75rem;
    margin-bottom:.25rem;
    text-shadow:0 1px 0 rgba(0,0,0,.4);
    font-size:clamp(1.25rem,2vw,1.5rem);
    line-height:1.3;
  }

  #exec-hire .lux-title::after{
    content:"";
    display:block;
    width:90px;
    height:3px;
    margin:.6rem auto 0;
    background:linear-gradient(90deg,#0A6ECF,#0A6ECF);
    border-radius:999px;
    opacity:.95;
  }

  /* Copy */
  #exec-hire .lux-copy p{
    color:#EAEAEA;
    font-size:1.02rem;
    line-height:1.7;
    margin-bottom:1rem;
    text-align:center;
  }

  /* Links */
  #exec-hire .link-accent,
  #exec-hire a{
    color:#0A6ECF !important;
    text-decoration:none;
    font-weight:700;
    border-bottom:1px solid rgba(255,215,0,.35);
    transition:border-color .2s ease,color .2s ease;
  }

  #exec-hire .link-accent:hover,
  #exec-hire a:hover{
    color:#57A8FF !important;
    border-bottom-color:#57A8FF;
    text-decoration:none;
  }

  #exec-hire a strong{
    color:#0A6ECF !important;
    font-weight:700;
  }

  /* Images */
  #exec-hire .lux-img{
    border-radius:12px;
    display:block;
    width:100%;
    height:auto;
  }

  /* Rail */
  #exec-hire .exec-outer{
    position:relative;
  }

  #exec-hire .exec-rail{
    display:flex;
    gap:1rem;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:.25rem .5rem 1rem;
  }

  #exec-hire .exec-rail::-webkit-scrollbar{
    display:none;
  }

  /* Items */
  #exec-hire .exec-item{
    flex:0 0 85%;
    scroll-snap-align:center;
    scroll-snap-stop:always;
    display:flex;
  }

  @media(min-width:992px){
    #exec-hire .exec-item{
      flex:0 0 calc(50% - .5rem);
    }
  }

  /* Scroll arrows */
  #exec-hire .exec-scroll-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(0,0,0,.7);
    border:2px solid #0A6ECF;
    color:#0A6ECF;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:5;
    box-shadow:0 4px 12px rgba(0,0,0,.28);
    transition:background .2s ease,color .2s ease;
  }

  #exec-hire .exec-scroll-btn:hover{
    background:#0A6ECF;
    color:#000;
  }

  #exec-hire .exec-scroll-left{
    left:.25rem;
  }

  #exec-hire .exec-scroll-right{
    right:.25rem;
  }

  #exec-hire .exec-scroll-btn span{
    font-size:1.6rem;
    line-height:1;
  }

  @media(max-width:991.98px){
    #exec-hire .exec-scroll-btn{
      display:none;
    }
  }

  /* Mobile tweaks */
  @media(max-width:991.98px){

    #exec-hire .lux-inner{
      padding:1.05rem .9rem 1rem;
    }

    #exec-hire .lux-title{
      font-size:clamp(1.1rem,4.2vw,1.35rem);
      margin-top:.6rem;
      margin-bottom:.15rem;
    }

    #exec-hire .lux-title::after{
      width:72px;
      height:3px;
      margin:.45rem auto 0;
    }

    #exec-hire .lux-copy p{
      font-size:.98rem;
      line-height:1.6;
      margin-bottom:.9rem;
    }
  }
/* =========================================================
   GENERIC SERVICE TEASER
========================================================= */

.service-teaser{
  position:relative;
  overflow:hidden;
  background:#fff;
}

.service-teaser .service-teaser-wrap{
  max-width:1200px;
  margin:0 auto;
}

.service-teaser .service-teaser-card{
  background:
    linear-gradient(#0b0b0b,#0b0b0b) padding-box,
    linear-gradient(135deg,#0A6ECF,#0A6ECF) border-box;
  border:2px solid transparent;
  border-radius:1rem;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(0,0,0,.25);
}

.service-teaser .service-teaser-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
}

.service-teaser .service-teaser-image-wrap{
  height:100%;
  min-height:420px;
  overflow:hidden;
  position:relative;
  background:#000;
}

.service-teaser .service-teaser-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.service-teaser .service-teaser-content{
  padding:2.5rem;
  color:#fff;
}

.service-teaser .service-teaser-eyebrow{
  display:inline-block;
  color:#0A6ECF;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:1rem;
}

.service-teaser .service-teaser-title{
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.15;
  font-weight:900;
  margin-bottom:1rem;
  color:#fff;
}

.service-teaser .gold-underline{
  width:110px;
  height:4px;
  background:#0A6ECF;
  border-radius:999px;
  margin:0 0 1.5rem;
}

.service-teaser .service-teaser-copy{
  font-size:1.05rem;
  line-height:1.85;
  color:#EAEAEA;
  margin-bottom:2rem;
  max-width:620px;
}

.service-teaser .service-teaser-copy strong{
  color:#fff;
}

.service-teaser .service-teaser-copy a{
  color:#0A6ECF;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(255,215,0,.4);
  transition:all .2s ease;
}

.service-teaser .service-teaser-copy a:hover{
  color:#fff;
  border-bottom-color:#fff;
}

.service-teaser .service-teaser-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:1rem 1.5rem;
  background:#0A6ECF;
  color:#000;
  border:2px solid #0A6ECF;
  border-radius:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.service-teaser .service-teaser-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.3);
  background:#ffdf32;
  color:#000;
}

/* Mobile */
@media (max-width:991.98px){

  .service-teaser .service-teaser-grid{
    grid-template-columns:1fr;
  }

  .service-teaser .service-teaser-image-wrap{
    min-height:260px;
  }

  .service-teaser .service-teaser-content{
    padding:1.5rem 1.25rem 1.75rem;
    text-align:center;
  }

  .service-teaser .gold-underline{
    margin:0 auto 1.25rem;
  }

  .service-teaser .service-teaser-copy{
    font-size:.98rem;
    line-height:1.7;
    margin-bottom:1.5rem;
  }

  .service-teaser .service-teaser-btn{
    width:100%;
  }

}

/* Brand colours */
:root{
  --brand-gold:#0A6ECF;
  --brand-gold-hover:#57A8FF;
  --brand-gold-border:#0A6ECF;
}
/* =========================================================
   FULL DAY CHAUFFEUR FAQ
========================================================= */

.full-day-faq-section{
  background:#fff;
  color:#111;
  padding:4rem 0;
}

.full-day-faq-wrap{
  max-width:1000px;
  margin:0 auto;
  padding:0 1rem;
}


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

.full-day-faq-heading{
  max-width:900px;
  margin:0 auto 2.25rem;
  text-align:center;
}

.full-day-faq-kicker{
  display:block;

  color:#BFC7CF;

  font-size:.82rem;
  font-weight:900;

  letter-spacing:.17em;
  text-transform:uppercase;

  margin-bottom:.75rem;
}

.full-day-faq-heading h2{
  color:#000;

  font-size:clamp(2rem,4vw,3rem);
  font-weight:900;

  line-height:1.2;

  margin:0;
}

.full-day-faq-divider{
  width:80px;
  height:4px;

  background:#0A6ECF;

  border-radius:999px;

  margin:1rem auto 1.25rem;
}

.full-day-faq-intro{
  max-width:820px;
  margin:0 auto;

  color:#333;

  font-size:1.03rem;
  line-height:1.75;

  text-align:center;
}


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

.full-day-faq{
  max-width:950px;
  margin:0 auto;
}

.full-day-faq .accordion-item{
  background:#000;

  border:2px solid #BFC7CF;
  border-radius:1rem;

  overflow:hidden;

  margin-bottom:1rem;

  box-shadow:
    0 8px 20px
    rgba(0,0,0,.12);
}

.full-day-faq .accordion-item:last-child{
  margin-bottom:0;
}


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

.full-day-faq .accordion-button{
  position:relative;

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

  background:#000;
  color:#fff;

  font-size:1.02rem;
  font-weight:800;

  line-height:1.4;
  text-align:center;

  padding:
    1.2rem
    3.5rem
    1.2rem
    1.5rem;

  box-shadow:none;
}

.full-day-faq .accordion-button:not(.collapsed){
  background:#111;
  color:#0A6ECF;
  box-shadow:none;
}

.full-day-faq .accordion-button:focus{
  border-color:#0A6ECF;

  box-shadow:
    0 0 0 .2rem
    rgba(255,215,0,.18);
}


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

.full-day-faq .accordion-button::after{
  position:absolute;

  right:1.25rem;

  margin:0;

  filter:invert(1);
}

.full-day-faq .accordion-button:not(.collapsed)::after{
  filter:
    invert(86%)
    sepia(89%)
    saturate(1715%)
    hue-rotate(359deg)
    brightness(104%)
    contrast(105%);
}


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

.full-day-faq .accordion-body{
  background:#000;
  color:#e8e8e8;

  border-top:
    1px solid
    rgba(255,215,0,.22);

  padding:1.4rem 1.5rem;

  font-size:1rem;
  line-height:1.8;

  text-align:center;
}

.full-day-faq .accordion-body p{
  max-width:800px;
  margin:0 auto;
}

.full-day-faq .accordion-body strong{
  color:#0A6ECF;
}

.full-day-faq .accordion-body a{
  color:#0A6ECF;
  font-weight:700;
  text-decoration:none;
}

.full-day-faq .accordion-body a:hover,
.full-day-faq .accordion-body a:focus{
  color:#fff;
  text-decoration:underline;
}


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

@media(max-width:575.98px){

  .full-day-faq-section{
    padding:3rem 0;
  }

  .full-day-faq-heading h2{
    font-size:1.8rem;
  }

  .full-day-faq-intro{
    font-size:1rem;
  }

  .full-day-faq .accordion-button{
    font-size:.95rem;

    padding:
      1.05rem
      3rem
      1.05rem
      1rem;
  }

  .full-day-faq .accordion-button::after{
    right:1rem;
  }

  .full-day-faq .accordion-body{
    padding:1.25rem 1rem;
    font-size:.95rem;
  }

}
/* whatever your existing final section is */
.existing-class{
  ...
}
/* =========================================================
   HOMEPAGE - MANCHESTER COVERAGE CARDS
   ========================================================= */

#manchester-coverage .coverage-grid{
  margin-top:2rem;
}

#manchester-coverage .coverage-grid > div{
  display:flex;
}

#manchester-coverage .coverage-card{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;

  background:linear-gradient(180deg,#111 0%,#050505 100%);

  border:2px solid #BFC7CF;
  border-radius:1rem;
  overflow:hidden;

  box-shadow:0 14px 30px rgba(0,0,0,.3);
}


/* IMAGE */

#manchester-coverage .coverage-card img{
  width:100%;
  height:240px;

  display:block;
  object-fit:cover;
  object-position:center;

  border-bottom:1px solid rgba(255,215,0,.25);
}


/* CARD CONTENT */

#manchester-coverage .coverage-body{
  padding:1.5rem;

  display:flex;
  flex-direction:column;
  flex-grow:1;
}


/* TITLE */

#manchester-coverage .coverage-title{
  color:#0A6ECF;

  font-size:1.3rem;
  font-weight:800;
  line-height:1.3;

  text-align:center;

  margin:0 0 1rem;
}


/* COPY */

#manchester-coverage .coverage-text{
  color:#fff;

  font-size:1rem;
  line-height:1.6;

  text-align:center;

  margin:0 0 1.4rem;

  flex-grow:1;
}


/* BUTTON AREA */

#manchester-coverage .coverage-links{
  width:100%;

  display:flex;
  flex-wrap:wrap;

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

  gap:.65rem;

  margin-top:auto;
}


/* SMALL PREMIUM CAPSULE */

#manchester-coverage .coverage-pill{
  display:inline-flex;

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

  width:auto;
  max-width:100%;

  min-height:40px;

  padding:.55rem 1rem;

  background:#111;
  color:#fff;

  border:2px solid #0A6ECF;
  border-radius:999px;

  font-size:.86rem;
  font-weight:700;
  line-height:1.2;

  text-align:center;
  text-decoration:none;

  white-space:normal;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

#manchester-coverage .coverage-pill:hover,
#manchester-coverage .coverage-pill:focus{
  background:#0A6ECF;
  color:#000;

  border-color:#0A6ECF;

  text-decoration:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:991.98px){

  #manchester-coverage .coverage-card img{
    height:225px;
  }

  #manchester-coverage .coverage-body{
    padding:1.35rem;
  }

}


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

@media (max-width:767.98px){

  #manchester-coverage{
    overflow:hidden;
  }

  #manchester-coverage .coverage-grid{
    margin-top:1.5rem;
  }

  #manchester-coverage .coverage-grid > div{
    width:100%;
    max-width:100%;
  }

  #manchester-coverage .coverage-card{
    width:100%;
    max-width:520px;

    margin-left:auto;
    margin-right:auto;

    border-radius:.9rem;
  }


  /* MOBILE IMAGE */

  #manchester-coverage .coverage-card img{
    width:100%;
    height:210px;

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


  /* MOBILE CONTENT */

  #manchester-coverage .coverage-body{
    padding:1.2rem 1rem 1.3rem;
  }


  /* MOBILE TITLE */

  #manchester-coverage .coverage-title{
    font-size:1.18rem;
    line-height:1.3;

    margin-bottom:.75rem;
  }


  /* MOBILE TEXT */

  #manchester-coverage .coverage-text{
    font-size:.94rem;
    line-height:1.55;

    margin-bottom:1rem;
  }


  /* MOBILE BUTTONS */

  #manchester-coverage .coverage-links{
    width:100%;

    display:flex;
    flex-wrap:wrap;

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

    gap:.5rem;
  }

  #manchester-coverage .coverage-pill{
    width:auto;

    min-height:36px;
    max-width:260px;

    padding:.5rem .85rem;

    font-size:.8rem;
    line-height:1.15;

    text-align:center;

    margin:0;
  }

}


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

@media (max-width:420px){

  #manchester-coverage .coverage-card img{
    height:190px;
  }

  #manchester-coverage .coverage-body{
    padding:1.1rem .9rem 1.2rem;
  }

  #manchester-coverage .coverage-pill{
    max-width:230px;

    padding:.48rem .8rem;

    font-size:.78rem;
  }

}
/* =========================================================
   MUSIC ARTIST TRANSPORT - SCHEDULE SECTION
   Scoped to this page section only
========================================================= */

#music-artist-schedule{
  background:#000;
  color:#fff;
  padding:5rem 0;
}


/* MAIN SECTION COPY */

#music-artist-schedule .schedule-copy{
  font-size:1.05rem;
  line-height:1.8;
  color:#fff;
  text-align:justify;
  text-justify:inter-word;
}

#music-artist-schedule .schedule-copy p{
  margin-bottom:1.25rem;
}

#music-artist-schedule .schedule-copy strong{
  color:#fff;
  font-weight:800;
}


/* SCHEDULE CARDS */

#music-artist-schedule .schedule-card{
  position:relative;
  height:100%;
  background:#fff;
  color:#000;

  border:1px solid rgba(184,134,11,.55);
  border-top:4px solid #0A6ECF;
  border-radius:1rem;

  padding:1.65rem 1.5rem 1.75rem;

  box-shadow:
    0 14px 32px rgba(0,0,0,.35);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

#music-artist-schedule .schedule-card:hover{
  transform:translateY(-4px);
  border-color:#0A6ECF;

  box-shadow:
    0 20px 42px rgba(0,0,0,.45);
}


/* CARD TITLES */

#music-artist-schedule .schedule-card h3{
  color:#000;
  text-align:center;
  font-weight:800;
  font-size:1.15rem;
  line-height:1.35;

  margin:0 0 .8rem;
}


/* SMALL PREMIUM NUMBER MARKER */

#music-artist-schedule .schedule-marker{
  width:40px;
  height:40px;

  margin:0 auto 1.15rem;

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

  border:1px solid #BFC7CF;
  border-radius:50%;

  background:#fff;
  color:#000;

  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;

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


/* CARD COPY */

#music-artist-schedule .schedule-card p{
  color:#000;
  font-size:1rem;
  line-height:1.75;

  margin:0;

  text-align:justify;
  text-justify:inter-word;
}


/* FINAL ITINERARY PANEL */

#music-artist-schedule .schedule-plan{
  margin-top:3rem;

  background:#fff;
  color:#000;

  border:1px solid rgba(184,134,11,.55);
  border-left:5px solid #0A6ECF;
  border-radius:1rem;

  padding:1.75rem 1.75rem;

  box-shadow:
    0 16px 36px rgba(0,0,0,.35);
}

#music-artist-schedule .schedule-plan h3{
  color:#000;
  text-align:center;
  font-weight:800;
  line-height:1.35;

  margin:0 0 1rem;
}

#music-artist-schedule .schedule-plan p{
  color:#000;

  font-size:1.05rem;
  line-height:1.8;

  text-align:justify;
  text-justify:inter-word;

  margin:0;
}

#music-artist-schedule .schedule-plan strong{
  color:#000;
  font-weight:800;
}


/* MOBILE */

@media(max-width:767.98px){

  #music-artist-schedule{
    padding:3.5rem 0;
  }

  #music-artist-schedule .schedule-card{
    padding:1.4rem 1.25rem 1.5rem;
  }

  #music-artist-schedule .schedule-copy{
    font-size:1rem;
    line-height:1.75;
  }

  #music-artist-schedule .schedule-card p{
    font-size:1rem;
    line-height:1.7;
  }

  #music-artist-schedule .schedule-plan{
    padding:1.5rem 1.25rem;
  }

  #music-artist-schedule .schedule-plan p{
    font-size:1rem;
    line-height:1.75;
  }

}
/* =========================================================
   MUSIC ARTIST TRANSPORT - MANCHESTER VENUES SECTION
   Scoped to this page section only
========================================================= */

#music-artist-venues{
  background:#fff;
  color:#000;
  padding:5rem 0;
}


/* INTRO COPY */

#music-artist-venues .venue-intro{
  font-size:1.05rem;
  line-height:1.8;
  color:#111;
  text-align:justify;
  text-justify:inter-word;
}

#music-artist-venues .venue-intro p{
  margin-bottom:1.25rem;
}

#music-artist-venues .venue-intro strong{
  color:#000;
  font-weight:800;
}


/* VENUE CARD */

#music-artist-venues .venue-card{
  height:100%;
  overflow:hidden;

  display:flex;
  flex-direction:column;

  background:#000;
  color:#fff;

  border:1px solid rgba(184,134,11,.65);
  border-radius:1rem;

  box-shadow:
    0 12px 28px rgba(0,0,0,.18);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

#music-artist-venues .venue-card:hover{
  transform:translateY(-5px);
  border-color:#0A6ECF;

  box-shadow:
    0 20px 42px rgba(0,0,0,.28);
}


/* VENUE IMAGE */

#music-artist-venues .venue-card-media{
  position:relative;
  overflow:hidden;

  background:#111;

  border-bottom:3px solid #0A6ECF;
}

#music-artist-venues .venue-card-media img{
  display:block;

  width:100%;
  height:220px;

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

  margin:0;

  transition:transform .35s ease;
}

#music-artist-venues .venue-card:hover .venue-card-media img{
  transform:scale(1.025);
}


/* VENUE CARD BODY */

#music-artist-venues .venue-card-body{
  flex:1;

  display:flex;
  flex-direction:column;

  padding:1.5rem 1.4rem 1.65rem;
}


/* VENUE TITLE */

#music-artist-venues .venue-card h3{
  color:#fff;

  text-align:center;

  font-size:clamp(1.15rem,1.5vw,1.4rem);
  font-weight:800;
  line-height:1.35;

  margin:0;
}


/* GOLD DETAIL BELOW TITLE */

#music-artist-venues .venue-title-divider{
  width:70px;
  height:3px;

  margin:.85rem auto 1.15rem;

  background:linear-gradient(
    90deg,
    #BFC7CF,
    #0A6ECF,
    #BFC7CF
  );

  border-radius:999px;
}


/* VENUE COPY */

#music-artist-venues .venue-card p{
  margin:0;

  color:#f2f2f2;

  font-size:1rem;
  line-height:1.75;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-venues .venue-card strong{
  color:#fff;
  font-weight:800;
}


/* CLOSING VENUE PANEL */

#music-artist-venues .venue-summary{
  margin-top:3rem;

  background:#000;
  color:#fff;

  border:1px solid rgba(184,134,11,.65);
  border-left:5px solid #0A6ECF;
  border-radius:1rem;

  padding:1.75rem;

  box-shadow:
    0 14px 32px rgba(0,0,0,.18);
}

#music-artist-venues .venue-summary h3{
  color:#fff;

  text-align:center;
  font-weight:800;
  line-height:1.35;

  margin:0 0 1.25rem;
}

#music-artist-venues .venue-summary-copy{
  color:#fff;

  font-size:1.05rem;
  line-height:1.8;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-venues .venue-summary-copy p{
  margin-bottom:1.25rem;
}

#music-artist-venues .venue-summary-copy p:last-child{
  margin-bottom:0;
}

#music-artist-venues .venue-summary-copy strong{
  color:#fff;
  font-weight:800;
}


/* LARGE DESKTOP */

@media(min-width:1200px){

  #music-artist-venues .venue-card-media img{
    height:240px;
  }

}


/* TABLET */

@media(max-width:991.98px){

  #music-artist-venues{
    padding:4rem 0;
  }

  #music-artist-venues .venue-card-media img{
    height:220px;
  }

}


/* MOBILE */

@media(max-width:575.98px){

  #music-artist-venues{
    padding:3.25rem 0;
  }

  #music-artist-venues .venue-intro{
    font-size:1rem;
    line-height:1.75;
  }

  #music-artist-venues .venue-card-media img{
    width:100%;
    height:auto;
    aspect-ratio:16 / 10;
    object-fit:cover;
  }

  #music-artist-venues .venue-card-body{
    padding:1.35rem 1.2rem 1.5rem;
  }

  #music-artist-venues .venue-card h3{
    font-size:1.2rem;
  }

  #music-artist-venues .venue-card p{
    font-size:1rem;
    line-height:1.7;
  }

  #music-artist-venues .venue-summary{
    margin-top:2.5rem;
    padding:1.5rem 1.25rem;
  }

  #music-artist-venues .venue-summary-copy{
    font-size:1rem;
    line-height:1.75;
  }

}
/* =========================================================
   MUSIC ARTIST TRANSPORT - AIRPORT / AVIATION / STANDBY
   Scoped to this page section only
========================================================= */

#music-artist-airport-standby{
  background:#000;
  color:#fff;
  padding:5rem 0;
}


/* INTRO COPY */

#music-artist-airport-standby .airport-standby-intro{
  font-size:1.05rem;
  line-height:1.8;
  color:#fff;
  text-align:justify;
  text-justify:inter-word;
}

#music-artist-airport-standby .airport-standby-intro p{
  margin-bottom:1.25rem;
}

#music-artist-airport-standby .airport-standby-intro strong{
  color:#fff;
  font-weight:800;
}


/* SERVICE CARDS */

#music-artist-airport-standby .airport-standby-card{
  position:relative;
  height:100%;

  background:#fff;
  color:#000;

  border:1px solid rgba(184,134,11,.55);
  border-top:4px solid #0A6ECF;
  border-radius:1rem;

  padding:1.65rem 1.5rem 1.75rem;

  box-shadow:
    0 14px 32px rgba(0,0,0,.35);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

#music-artist-airport-standby .airport-standby-card:hover{
  transform:translateY(-4px);
  border-color:#0A6ECF;

  box-shadow:
    0 20px 42px rgba(0,0,0,.45);
}


/* CARD TITLES */

#music-artist-airport-standby .airport-standby-card h3{
  color:#000;

  text-align:center;

  font-size:1.2rem;
  font-weight:800;
  line-height:1.35;

  margin:0 0 .8rem;
}


/* NUMBER MARKER */

#music-artist-airport-standby .airport-standby-marker{
  width:40px;
  height:40px;

  margin:0 auto 1.15rem;

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

  background:#fff;
  color:#000;

  border:1px solid #BFC7CF;
  border-radius:50%;

  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;

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


/* CARD COPY */

#music-artist-airport-standby .airport-standby-card p{
  margin:0;

  color:#000;

  font-size:1rem;
  line-height:1.75;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-airport-standby .airport-standby-card strong{
  color:#000;
  font-weight:800;
}


/* FINAL TRANSPORT PLAN PANEL */

#music-artist-airport-standby .airport-standby-summary{
  margin-top:3rem;

  background:#fff;
  color:#000;

  border:1px solid rgba(184,134,11,.55);
  border-left:5px solid #0A6ECF;
  border-radius:1rem;

  padding:1.75rem;

  box-shadow:
    0 16px 36px rgba(0,0,0,.35);
}

#music-artist-airport-standby .airport-standby-summary h3{
  color:#000;

  text-align:center;

  font-weight:800;
  line-height:1.35;

  margin:0 0 1rem;
}

#music-artist-airport-standby .airport-standby-summary p{
  margin:0;

  color:#000;

  font-size:1.05rem;
  line-height:1.8;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-airport-standby .airport-standby-summary strong{
  color:#000;
  font-weight:800;
}


/* TABLET */

@media(max-width:991.98px){

  #music-artist-airport-standby{
    padding:4rem 0;
  }

}


/* MOBILE */

@media(max-width:767.98px){

  #music-artist-airport-standby{
    padding:3.5rem 0;
  }

  #music-artist-airport-standby .airport-standby-intro{
    font-size:1rem;
    line-height:1.75;
  }

  #music-artist-airport-standby .airport-standby-card{
    padding:1.4rem 1.25rem 1.5rem;
  }

  #music-artist-airport-standby .airport-standby-card h3{
    font-size:1.15rem;
  }

  #music-artist-airport-standby .airport-standby-card p{
    font-size:1rem;
    line-height:1.7;
  }

  #music-artist-airport-standby .airport-standby-summary{
    margin-top:2.5rem;
    padding:1.5rem 1.25rem;
  }

  #music-artist-airport-standby .airport-standby-summary p{
    font-size:1rem;
    line-height:1.75;
  }

}
/* =========================================================
   MUSIC ARTIST TRANSPORT - DISCRETION & TOUR COORDINATION
   Scoped to this page section only
========================================================= */

#music-artist-coordination{
  background:#fff;
  color:#000;
  padding:5rem 0;
}


/* INTRO COPY */

#music-artist-coordination .coordination-intro{
  font-size:1.05rem;
  line-height:1.8;
  color:#111;
  text-align:justify;
  text-justify:inter-word;
}

#music-artist-coordination .coordination-intro p{
  margin-bottom:1.25rem;
}

#music-artist-coordination .coordination-intro strong{
  color:#000;
  font-weight:800;
}


/* FEATURE CARDS */

#music-artist-coordination .coordination-card{
  height:100%;

  background:#000;
  color:#fff;

  border:1px solid rgba(184,134,11,.65);
  border-top:4px solid #0A6ECF;
  border-radius:1rem;

  padding:1.7rem 1.5rem 1.8rem;

  box-shadow:
    0 12px 30px rgba(0,0,0,.18);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

#music-artist-coordination .coordination-card:hover{
  transform:translateY(-4px);
  border-color:#0A6ECF;

  box-shadow:
    0 18px 40px rgba(0,0,0,.28);
}


/* CARD TITLE */

#music-artist-coordination .coordination-card h3{
  color:#fff;

  text-align:center;

  font-size:1.2rem;
  font-weight:800;
  line-height:1.35;

  margin:0;
}


/* GOLD TITLE DIVIDER */

#music-artist-coordination .coordination-divider{
  width:65px;
  height:3px;

  margin:.9rem auto 1.2rem;

  background:linear-gradient(
    90deg,
    #BFC7CF,
    #0A6ECF,
    #BFC7CF
  );

  border-radius:999px;
}


/* CARD COPY */

#music-artist-coordination .coordination-card p{
  margin:0;

  color:#f2f2f2;

  font-size:1rem;
  line-height:1.75;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-coordination .coordination-card strong{
  color:#fff;
  font-weight:800;
}


/* PRIVACY EMPHASIS PANEL */

#music-artist-coordination .coordination-privacy{
  margin-top:3rem;

  background:#000;
  color:#fff;

  border:1px solid rgba(184,134,11,.65);
  border-left:5px solid #0A6ECF;
  border-radius:1rem;

  padding:1.75rem;

  box-shadow:
    0 14px 32px rgba(0,0,0,.18);
}

#music-artist-coordination .coordination-privacy h3{
  color:#fff;

  text-align:center;

  font-weight:800;
  line-height:1.35;

  margin:0 0 1rem;
}

#music-artist-coordination .coordination-privacy p{
  margin:0;

  color:#fff;

  font-size:1.05rem;
  line-height:1.8;

  text-align:justify;
  text-justify:inter-word;
}

#music-artist-coordination .coordination-privacy strong{
  color:#fff;
  font-weight:800;
}


/* TABLET */

@media(max-width:991.98px){

  #music-artist-coordination{
    padding:4rem 0;
  }

}


/* MOBILE */

@media(max-width:767.98px){

  #music-artist-coordination{
    padding:3.5rem 0;
  }

  #music-artist-coordination .coordination-intro{
    font-size:1rem;
    line-height:1.75;
  }

  #music-artist-coordination .coordination-card{
    padding:1.4rem 1.25rem 1.5rem;
  }

  #music-artist-coordination .coordination-card h3{
    font-size:1.15rem;
  }

  #music-artist-coordination .coordination-card p{
    font-size:1rem;
    line-height:1.7;
  }

  #music-artist-coordination .coordination-privacy{
    margin-top:2.5rem;
    padding:1.5rem 1.25rem;
  }

  #music-artist-coordination .coordination-privacy p{
    font-size:1rem;
    line-height:1.75;
  }

}
