/* ============================================================
   BLACKBADGE — visual page system (v3)
   Loaded after site.css on every inner page. Adds photo heroes,
   image cards, fleet showcase, booking steps, CTA bands and a
   richer header/footer. Brand tokens are inherited from site.css.
   ============================================================ */
:root{
  --steel:#3E5C82; --steel-2:#8FB4DB; --steel-ink:#2C4563;
  --sand:#F1EEE6; --card:#FFFFFF; --muted:#5a5a63;
  --radius:14px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(11,11,13,.06), 0 12px 32px -12px rgba(11,11,13,.22);
  --shadow-lg:0 30px 60px -24px rgba(11,11,13,.45);
}
.container{max-width:1200px;}
body{background:var(--paper);}
.skip-link{position:absolute; left:-9999px; top:8px; z-index:999; background:#fff; color:var(--noir); padding:10px 14px; border-radius:6px; font-weight:700;}
.skip-link:focus{left:12px;}

/* ---------- NAV with dropdowns ---------- */
.nav{padding:12px 0;}
.nav .container{flex-wrap:nowrap;}
.nav-links{gap:4px; flex-wrap:nowrap;}
.nav-links > li{position:relative;}
.nav-links > li > a, .nav-links > li > button{display:inline-flex; align-items:center; gap:6px; padding:10px 12px; border-radius:8px; color:rgba(247,243,234,.82); font:600 13.5px/1 var(--font-body); background:none; border:0; cursor:pointer;}
.nav-links > li > a:hover, .nav-links > li > button:hover, .nav-links > li:focus-within > button{color:#fff; background:rgba(247,243,234,.07);}
.nav-links .chev{width:10px; height:10px; transition:transform .2s;}
.has-menu:hover .chev, .has-menu:focus-within .chev{transform:rotate(180deg);}
.menu{position:absolute; top:calc(100% + 8px); left:-12px; min-width:300px; background:#121216; border:1px solid rgba(247,243,234,.1); border-radius:14px; padding:10px; box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; list-style:none; margin:0;}
.menu::before{content:""; position:absolute; top:-10px; left:0; right:0; height:10px;}
.has-menu:hover .menu, .has-menu:focus-within .menu{opacity:1; visibility:visible; transform:none;}
.menu a{display:block; padding:10px 12px; border-radius:9px; color:#fff; font-weight:700; font-size:14px;}
.menu a small{display:block; font-weight:500; font-size:12.5px; color:rgba(247,243,234,.55); margin-top:2px;}
.menu a:hover{background:rgba(143,180,219,.12);}
.menu .menu-sep{height:1px; background:rgba(247,243,234,.08); margin:6px 4px;}
.menu-wide{min-width:560px; display:grid; grid-template-columns:1fr 1fr; gap:2px;}
.nav-cta{border-radius:999px; padding:11px 20px;}
@media (max-width:1080px){ .nav-links{display:none;} .nav-phone span{display:none;} }
.mobile-panel{overflow-y:auto;}
.mobile-panel .mp-group{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--steel-2); margin:18px 0 4px; font-weight:800;}

/* ---------- BREADCRUMBS over hero ---------- */
.breadcrumbs{background:var(--noir); color:rgba(247,243,234,.55); padding:12px 0; border-bottom:1px solid rgba(247,243,234,.06);}
.breadcrumbs a{color:var(--steel-2);}
.breadcrumbs [aria-current]{color:rgba(247,243,234,.75);}

/* ---------- HERO ---------- */
.hero{position:relative; color:#fff; background:var(--noir); overflow:hidden; isolation:isolate;}
.hero-media{position:absolute; inset:0; z-index:-2;}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:var(--pos,center 55%);}
.hero::after{content:""; position:absolute; inset:0; z-index:-1; background:
  linear-gradient(90deg, rgba(11,11,13,.92) 0%, rgba(11,11,13,.78) 38%, rgba(11,11,13,.25) 72%, rgba(11,11,13,.15) 100%),
  linear-gradient(0deg, rgba(11,11,13,.85) 0%, rgba(11,11,13,0) 40%);}
.hero .container{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:48px; align-items:end; padding-top:96px; padding-bottom:72px; min-height:min(78vh,680px);}
.hero-copy{align-self:center;}
.hero .eyebrow{color:var(--steel-2);}
.hero .eyebrow::before{background:var(--steel-2);}
.hero h1{font-size:clamp(2.2rem,5vw,3.9rem); line-height:1.04; letter-spacing:-.02em; color:#fff; margin:6px 0 18px; max-width:15ch; text-wrap:balance;}
.hero .lead{font-size:clamp(1.02rem,1.4vw,1.16rem); line-height:1.7; color:rgba(247,243,234,.86); max-width:56ch;}
.hero .cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}
.hero-chips{display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:28px; padding:0; list-style:none;}
.hero-chips li{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:rgba(247,243,234,.85);}
.hero-chips svg{color:var(--steel-2); flex:none;}
.hero-card{background:rgba(18,18,22,.62); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(247,243,234,.14); border-radius:18px; padding:26px; box-shadow:var(--shadow-lg);}
.hero-card h2{font-size:1.25rem; color:#fff; margin-bottom:6px;}
.hero-card p{color:rgba(247,243,234,.7); font-size:.93rem;}
.hero-card ul{list-style:none; padding:0; margin:18px 0 20px; display:grid; gap:12px;}
.hero-card li{display:flex; gap:12px; font-size:.93rem; color:rgba(247,243,234,.9);}
.hero-card li b{display:block; color:#fff;}
.hero-card .ic{flex:none; width:34px; height:34px; border-radius:10px; background:rgba(143,180,219,.14); color:var(--steel-2); display:grid; place-items:center;}
.hero-card .btn{width:100%; justify-content:center;}
.hero-card .hc-phone{display:block; text-align:center; margin-top:12px; font-weight:700; color:#fff; font-size:.95rem;}
.hero-card .hc-phone:hover{color:var(--steel-2);}
@media (max-width:900px){
  .hero .container{grid-template-columns:1fr; min-height:0; padding-top:72px; padding-bottom:48px; gap:32px;}
  .hero::after{background:linear-gradient(0deg, rgba(11,11,13,.96) 10%, rgba(11,11,13,.7) 60%, rgba(11,11,13,.45) 100%);}
  .hero-card{display:none;}
}
.btn{border-radius:999px; padding:15px 26px; transition:background-color .2s, transform .2s, box-shadow .2s;}
.btn-primary{background:var(--steel); box-shadow:0 10px 24px -10px rgba(62,92,130,.8);}
.btn-primary:hover{background:#4A6C96; transform:translateY(-1px);}
.btn-ghost{backdrop-filter:blur(6px);}
.btn-dark{background:var(--noir); color:#fff;}
.btn-dark:hover{background:#26262c;}
.btn-outline{border-color:var(--noir); color:var(--noir); background:transparent;}
.btn-outline:hover{background:var(--noir); color:#fff;}
.btn svg{flex:none;}

/* ---------- TRUST BAR ---------- */
.trust-bar{background:#111115; border-top:1px solid rgba(247,243,234,.06);}
.trust-bar .container{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.trust-item{padding:22px 18px; border-left:1px solid rgba(247,243,234,.07); display:flex; align-items:center; gap:12px;}
.trust-item:first-child{border-left:0;}
@media (max-width:760px){ .trust-bar .container{grid-template-columns:1fr 1fr;} .trust-item:nth-child(3){border-left:0;} .trust-item{border-top:1px solid rgba(247,243,234,.07);} }

/* ---------- SECTION HEADS ---------- */
.section{padding:88px 0;}
.section-sand{background:var(--sand);}
.section-dark{background:var(--noir); color:#fff;}
.section-dark .section-head p, .section-dark p{color:rgba(247,243,234,.72);}
.section-dark h2, .section-dark h3{color:#fff;}
.section-head{max-width:720px; margin-bottom:44px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head h2{font-size:clamp(1.75rem,3.2vw,2.6rem); letter-spacing:-.015em; text-wrap:balance;}
.section-head p{font-size:1.05rem; line-height:1.7;}
.section-dark .eyebrow{color:var(--steel-2);} .section-dark .eyebrow::before{background:var(--steel-2);}
@media (max-width:700px){ .section{padding:64px 0;} }

/* ---------- SPLIT (image + text) ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.split.rev .split-media{order:2;}
.split-media{position:relative;}
.split-media img{width:100%; aspect-ratio:4/3.2; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow);}
.split-media.tall img{aspect-ratio:4/4.6;}
.split-media .badge{position:absolute; left:-18px; bottom:28px; background:var(--noir); color:#fff; border-radius:12px; padding:14px 18px; box-shadow:var(--shadow-lg); display:flex; gap:12px; align-items:center; max-width:260px;}
.split-media .badge strong{font-family:var(--font-display); font-size:1.6rem; color:var(--steel-2); line-height:1;}
.split-media .badge span{font-size:.82rem; line-height:1.35; color:rgba(247,243,234,.8);}
.split-content h2{font-size:clamp(1.7rem,3vw,2.4rem); margin-bottom:18px; text-wrap:balance;}
.split-content p{color:#3d3d45; line-height:1.8; font-size:1.02rem;}
.split-content p + p{margin-top:14px;}
.split-content a{color:var(--steel); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;}
.checks{list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px;}
.checks li{display:flex; gap:10px; align-items:flex-start; font-weight:600; font-size:.98rem;}
.checks li::before{content:""; flex:none; margin-top:3px; width:18px; height:18px; border-radius:50%; background:var(--steel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat;}
.split-content .cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px;}
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:32px;} .split.rev .split-media{order:0;} .split-media .badge{left:12px;} }

/* ---------- IMAGE CARDS ---------- */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.cards.c2{grid-template-columns:repeat(2,1fr);}
.cards.c4{grid-template-columns:repeat(4,1fr);}
.card{position:relative; background:var(--card); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s var(--ease);}
.card:hover{transform:translateY(-4px); box-shadow:0 2px 4px rgba(11,11,13,.06), 0 24px 44px -16px rgba(11,11,13,.3);}
.card-img{aspect-ratio:16/10; overflow:hidden; background:#ddd;}
.card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.card:hover .card-img img{transform:scale(1.05);}
.card-body{padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1;}
.card-tag{font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:800; color:var(--steel);}
.card h3{font-size:1.22rem;}
.card p{color:var(--muted); font-size:.95rem; line-height:1.65;}
.card .more{margin-top:auto; padding-top:10px; display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:.9rem; color:var(--steel);}
.card .more svg{transition:transform .2s;}
.card:hover .more svg{transform:translateX(4px);}
.card a.stretch::after{content:""; position:absolute; inset:0;}
.card p a{color:var(--steel); font-weight:700; position:relative; z-index:1;}
@media (max-width:980px){ .cards, .cards.c4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .cards, .cards.c2, .cards.c4{grid-template-columns:1fr;} }

/* ---------- FEATURE (icon) CARDS ---------- */
.features{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.features.f2{grid-template-columns:repeat(2,1fr);} .features.f4{grid-template-columns:repeat(4,1fr);}
.feature{background:var(--card); border:1px solid rgba(11,11,13,.07); border-radius:var(--radius); padding:26px; transition:border-color .2s, box-shadow .2s;}
.feature:hover{border-color:rgba(62,92,130,.35); box-shadow:var(--shadow);}
.feature .ic{width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:rgba(62,92,130,.1); color:var(--steel); margin-bottom:16px;}
.feature h3{font-size:1.12rem; margin-bottom:8px;}
.feature h3 a:hover{color:var(--steel);}
.feature p{color:var(--muted); font-size:.95rem; line-height:1.65;}
.feature p a{color:var(--steel); font-weight:700;}
.section-dark .feature{background:#141418; border-color:rgba(247,243,234,.08);}
.section-dark .feature p{color:rgba(247,243,234,.66);}
.section-dark .feature .ic{background:rgba(143,180,219,.12); color:var(--steel-2);}
@media (max-width:980px){ .features, .features.f4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .features, .features.f2, .features.f4{grid-template-columns:1fr;} }

/* ---------- FLEET ---------- */
.fleet{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.vehicle{background:#141418; border:1px solid rgba(247,243,234,.08); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column;}
.vehicle .card-img{aspect-ratio:4/3; background:#000;}
.vehicle .card-img img{width:100%; height:100%; object-fit:cover;}
.vehicle-body{padding:18px 20px 22px;}
.vehicle .card-tag{color:var(--steel-2);}
.vehicle h3{color:#fff; font-size:1.15rem; margin:6px 0 10px;}
.vehicle .specs{display:flex; gap:16px; font-size:.85rem; color:rgba(247,243,234,.7); font-weight:600;}
.vehicle .specs span{display:flex; align-items:center; gap:6px;}
.vehicle p{font-size:.88rem; margin-top:10px; color:rgba(247,243,234,.6); line-height:1.6;}
@media (max-width:980px){ .fleet{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .fleet{grid-template-columns:1fr;} }

/* ---------- STEPS ---------- */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:step; list-style:none; padding:0; margin:0;}
.step{position:relative; padding:28px 26px; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow);}
.step::before{counter-increment:step; content:counter(step,decimal-leading-zero); font-family:var(--font-display); font-size:2.6rem; font-weight:500; color:var(--steel); opacity:.9; line-height:1; display:block; margin-bottom:14px;}
.step h3{font-size:1.15rem; margin-bottom:8px;}
.step p{color:var(--muted); font-size:.95rem; line-height:1.65;}
@media (max-width:860px){ .steps{grid-template-columns:1fr;} }

/* ---------- ROUTES / AREA CHIPS ---------- */
.chips{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0;}
.chips li, .chips a{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:#fff; border:1px solid rgba(11,11,13,.1); font-weight:600; font-size:.92rem;}
.chips a:hover{border-color:var(--steel); color:var(--steel);}
.chips svg{color:var(--steel);}

/* ---------- CTA BAND ---------- */
.cta-band{position:relative; isolation:isolate; overflow:hidden; color:#fff; padding:96px 0; background:var(--noir);}
.cta-band .bg{position:absolute; inset:0; z-index:-2;}
.cta-band .bg img{width:100%; height:100%; object-fit:cover; object-position:center 60%;}
.cta-band::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(11,11,13,.93) 0%, rgba(11,11,13,.75) 50%, rgba(11,11,13,.45) 100%);}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,2.9rem); max-width:18ch; color:#fff; text-wrap:balance;}
.cta-band p{margin-top:14px; max-width:52ch; color:rgba(247,243,234,.82); font-size:1.06rem; line-height:1.7;}
.cta-band .cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}
.cta-band .fine{margin-top:18px; font-size:.85rem; color:rgba(247,243,234,.55);}

/* ---------- RELATED LINK CARDS ---------- */
.related{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.rel{display:flex; align-items:center; gap:14px; padding:12px; background:#fff; border-radius:12px; border:1px solid rgba(11,11,13,.08); transition:border-color .2s, transform .2s;}
.rel:hover{border-color:var(--steel); transform:translateY(-2px);}
.rel img{width:64px; height:52px; object-fit:cover; border-radius:8px; flex:none;}
.rel .ic{width:52px; height:52px; border-radius:10px; flex:none; display:grid; place-items:center; background:rgba(62,92,130,.1); color:var(--steel); font:800 .82rem/1 var(--font-body); letter-spacing:.04em;}
.rel b{display:block; font-size:.95rem; line-height:1.3;}
.rel small{display:block; color:var(--muted); font-size:.8rem; margin-top:2px;}
@media (max-width:980px){ .related{grid-template-columns:repeat(2,1fr);} }
@media (max-width:540px){ .related{grid-template-columns:1fr;} }

/* ---------- TESTIMONIALS ---------- */
.testi-strip{background:#fff; padding:88px 0;}
.testi-strip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.testi-card{background:var(--paper); border:1px solid rgba(11,11,13,.07); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow);}
.testi-stars{color:#C9A227; font-size:1rem;}
@media (max-width:860px){ .testi-strip-grid{grid-template-columns:1fr;} }

/* ---------- FAQ ---------- */
.faq-wrap{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start;}
.faq-aside{position:sticky; top:100px;}
.faq-aside img{border-radius:var(--radius); aspect-ratio:4/3.4; object-fit:cover; width:100%; box-shadow:var(--shadow);}
.faq-aside .help{margin-top:18px; background:var(--noir); color:#fff; border-radius:var(--radius); padding:22px;}
.faq-aside .help h3{color:#fff; font-size:1.15rem;}
.faq-aside .help p{color:rgba(247,243,234,.7); font-size:.92rem; margin:6px 0 14px;}
.faq-aside .help a{display:flex; align-items:center; gap:10px; font-weight:700; padding:6px 0;}
.faq-aside .help a:hover{color:var(--steel-2);}
.faq-item{background:#fff; border:1px solid rgba(11,11,13,.08); border-radius:12px; padding:0 22px; margin-bottom:10px;}
.faq-item summary{padding:18px 0;}
.faq-item p{padding-bottom:18px;}
.faq-item[open]{border-color:rgba(62,92,130,.35);}
@media (max-width:900px){ .faq-wrap{grid-template-columns:1fr; gap:28px;} .faq-aside{position:static;} .faq-aside img{display:none;} }

/* ---------- PROSE (guides, long-form) ---------- */
.prose{max-width:760px;}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem); margin:44px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.2rem; margin:28px 0 8px;}
.prose p, .prose li{color:#33333b; line-height:1.85; font-size:1.04rem;}
.prose p + p{margin-top:14px;}
.prose ul, .prose ol{padding-left:22px; margin:12px 0;}
.prose li + li{margin-top:6px;}
.prose a{color:var(--steel); font-weight:700; text-decoration:underline; text-underline-offset:3px;}
.prose figure{margin:32px 0;}
.prose figure img{border-radius:var(--radius); width:100%; aspect-ratio:16/9; object-fit:cover;}
.prose figcaption{font-size:.85rem; color:var(--muted); margin-top:8px;}
.compare{width:100%; border-collapse:separate; border-spacing:0; margin:24px 0; background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--shadow); font-size:.95rem;}
.compare th, .compare td{padding:14px 16px; text-align:left; border-bottom:1px solid rgba(11,11,13,.07); vertical-align:top;}
.compare thead th{background:var(--noir); color:#fff; font-family:var(--font-body); font-weight:800;}
.compare tbody th{font-weight:800; width:28%;}
.compare tr:last-child td, .compare tr:last-child th{border-bottom:0;}
.table-scroll{overflow-x:auto;}
.toc{background:#fff; border:1px solid rgba(11,11,13,.08); border-radius:var(--radius); padding:22px 24px; position:sticky; top:100px;}
.toc h2{font-size:1rem; font-family:var(--font-body); font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); margin-bottom:10px;}
.toc ol{margin:0; padding-left:18px;}
.toc li{font-size:.94rem; line-height:1.5; margin:8px 0;}
.toc a:hover{color:var(--steel);}
.guide-grid{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start;}
@media (max-width:980px){ .guide-grid{grid-template-columns:1fr;} .toc{position:static; order:-1;} }

/* ---------- CITY DIRECTORY (airport hub) ---------- */
.dir{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.dir-item{background:#fff; border:1px solid rgba(11,11,13,.08); border-radius:12px; padding:18px 20px;}
.dir-item h3{font-size:1.08rem; margin-bottom:8px;}
.dir-item h3 a:hover{color:var(--steel);}
.dir-item ul{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px;}
.dir-item li a{display:inline-block; padding:6px 10px; border-radius:8px; background:rgba(62,92,130,.08); color:var(--steel-ink); font-weight:700; font-size:.84rem;}
.dir-item li a:hover{background:var(--steel); color:#fff;}
@media (max-width:980px){ .dir{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .dir{grid-template-columns:1fr;} }

/* ---------- FOOTER ---------- */
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:36px;}
.footer-nap{margin-top:18px; font-size:.9rem; line-height:1.9; color:rgba(247,243,234,.7); font-style:normal;}
.footer-nap a:hover{color:var(--steel-2);}
@media (max-width:980px){ .footer-grid{grid-template-columns:1fr 1fr;} }

/* ---------- STICKY MOBILE CTA ---------- */
.m-cta{display:none;}
@media (max-width:760px){
  .m-cta{display:grid; grid-template-columns:1fr 1fr; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:180; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(11,11,13,.96); backdrop-filter:blur(10px); border-top:1px solid rgba(247,243,234,.1);}
  .m-cta a{display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border-radius:999px; font-weight:800; font-size:14px;}
  .m-cta .call{background:rgba(247,243,234,.1); color:#fff;}
  .m-cta .book{background:var(--steel); color:#fff;}
  body{padding-bottom:72px;}
  .to-top{bottom:84px;}
}

/* Reveal: content stays visible if JS never runs */
.js .rv{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.js .rv.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .js .rv{opacity:1; transform:none; transition:none;} }
.reveal-el{opacity:1 !important; transform:none !important;}

/* fixes */
.split-content a.btn, .prose a.btn{text-decoration:none;}
.split-content a.btn-primary{color:#fff;}
.split-content a.btn-outline{color:var(--noir);}
.split-content a.btn-outline:hover{color:#fff;}
.faq-aside img, .split-media img, .prose figure img{height:auto;}
.testi-strip .container{max-width:1200px;}
.dir-item ul{flex-direction:column; gap:6px;}
.dir-item li a{display:flex; gap:10px; align-items:center; background:none; padding:4px 0; font-weight:600; color:var(--ink);}
.dir-item li a b{flex:none; min-width:44px; text-align:center; padding:4px 8px; border-radius:7px; background:rgba(62,92,130,.1); color:var(--steel-ink); font-size:.78rem;}
.dir-item li a:hover{background:none; color:var(--steel);}
.dir-item li a:hover b{background:var(--steel); color:#fff;}
@media (max-width:900px){ .faq-wrap{grid-template-columns:minmax(0,1fr);} }
.faq-aside .help a, .footer-nap a{overflow-wrap:anywhere;}
@media (max-width:980px){ .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .footer-grid > div:first-child{grid-column:1/-1;} }
@media (max-width:520px){ .nav .brand-logo-plate{padding:6px 10px;} .nav .brand-logo{height:26px;} .nav-cta{padding:10px 14px; font-size:13px;} .nav-right{gap:8px;} }
html,body{overflow-x:clip;}
.nav{z-index:400;}
.mobile-panel{padding-top:96px;}
.mobile-panel a{font-size:18px; padding:11px 0;}
@media (max-width:900px){
  .hero::after{background:linear-gradient(0deg, rgba(11,11,13,.95) 0%, rgba(11,11,13,.78) 45%, rgba(11,11,13,.35) 100%);}
  .hero .container{padding-top:150px;}
}
/* keep the chauffeur in frame on the luggage/Escalade photo */
img[src*="chauffeur-loading-luggage-escalade-airport"], img[srcset*="chauffeur-loading-luggage-escalade-airport"]{object-position:22% 30% !important;}

/* Hero booking box: clear frosted glass so the photo stays visible */
.hero-card{background:linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)); backdrop-filter:blur(3px) saturate(115%); -webkit-backdrop-filter:blur(3px) saturate(115%); border:1px solid rgba(255,255,255,.28); box-shadow:0 20px 50px -24px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.25);}
.hero-card h2, .hero-card p, .hero-card li, .hero-card .hc-phone{text-shadow:0 1px 3px rgba(0,0,0,.75), 0 0 14px rgba(0,0,0,.45);}
.hero-card p{color:rgba(255,255,255,.88);}
.hero-card li{color:#fff;}
.hero-card .ic{background:rgba(11,11,13,.38); color:#fff; border:1px solid rgba(255,255,255,.22);}
/* lighter tint over the photo: dark only behind the headline */
@media (min-width:901px){
  .hero::after{background:
    linear-gradient(90deg, rgba(11,11,13,.86) 0%, rgba(11,11,13,.62) 34%, rgba(11,11,13,.12) 62%, rgba(11,11,13,0) 100%),
    linear-gradient(0deg, rgba(11,11,13,.55) 0%, rgba(11,11,13,0) 30%);}
}

/* links inside FAQ answers must look like links */
.faq-item p a{color:var(--steel); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;}
.faq-item p a:hover{color:var(--steel-ink);}

/* grids: centre an incomplete last row instead of leaving blank slots */
.related, .cards, .features{display:flex; flex-wrap:wrap; justify-content:center;}
.related > *{flex:0 0 calc((100% - 3*14px)/4);}
.cards > *{flex:0 0 calc((100% - 2*22px)/3);}
.cards.c2 > *{flex-basis:calc((100% - 22px)/2);}
.cards.c4 > *{flex-basis:calc((100% - 3*22px)/4);}
.features > *{flex:0 0 calc((100% - 2*18px)/3);}
.features.f2 > *{flex-basis:calc((100% - 18px)/2);}
.features.f4 > *{flex-basis:calc((100% - 3*18px)/4);}
@media (max-width:980px){
  .related > *, .cards > *, .cards.c4 > *, .features > *, .features.f4 > *{flex-basis:calc((100% - 22px)/2);}
  .related > *{flex-basis:calc((100% - 14px)/2);}
  .features > *, .features.f4 > *{flex-basis:calc((100% - 18px)/2);}
}
@media (max-width:620px){
  .cards > *, .cards.c2 > *, .cards.c4 > *, .features > *, .features.f2 > *, .features.f4 > *{flex-basis:100%;}
}
@media (max-width:540px){ .related > *{flex-basis:100%;} }
.rel img{flex:none;}
.split-media img[src*="airport-sign"], .split-media.tall img[src*="airport-sign"]{aspect-ratio:3/2;}
.section > .container > p a{color:var(--steel); font-weight:700; text-decoration:underline; text-underline-offset:3px;}
