/* ==========================================================================
   BRAD LIMO — main.css
   Luxury dark design system: layout, header, hero, sections, forms, footer.
   (Animations live in animations.css — Breakpoints live in responsive.css)
   ========================================================================== */

/* ==========================================================================
   0. DESIGN TOKENS
   ========================================================================== */

:root {
	/* palette — deep black, graphite, champagne gold */
	--bl-black:      #06080b;
	--bl-coal:       #0b0e12;
	--bl-panel:      #10141a;
	--bl-panel-2:    #151a21;
	--bl-line:       rgba(233, 216, 176, .12);
	--bl-line-soft:  rgba(233, 216, 176, .07);

	--bl-gold:       #c9a963;
	--bl-gold-soft:  #e9d8b0;
	--bl-gold-deep:  #9c7c3f;

	--bl-text:       #eceae4;
	--bl-muted:      #9aa0a8;
	--bl-faint:      #6b7178;

	/* type */
	--font-display: 'Playfair Display', Georgia, serif;
	--font-body:    'Manrope', -apple-system, 'Segoe UI', Arial, sans-serif;

	/* rhythm */
	--container: 1280px;
	--section-pad: clamp(72px, 9vw, 130px);
	--radius: 14px;
	--radius-lg: 20px;

	--shadow-lg: 0 30px 80px -20px rgba(0, 0, 0, .65);
	--transition: .45s cubic-bezier(.22, .8, .32, 1);
}

/* ==========================================================================
   1. LOCAL FONTS  (files in /assets/fonts/)
   ========================================================================== */

@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/playfair-display-normal-500.woff2') format('woff2');
	font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/playfair-display-normal-600.woff2') format('woff2');
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/playfair-display-normal-700.woff2') format('woff2');
	font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('../fonts/playfair-display-italic-500.woff2') format('woff2');
	font-weight: 500; font-style: italic; font-display: swap;
}
@font-face {
	font-family: 'Manrope';
	src: url('../fonts/manrope-normal-400.woff2') format('woff2');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Manrope';
	src: url('../fonts/manrope-normal-500.woff2') format('woff2');
	font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Manrope';
	src: url('../fonts/manrope-normal-600.woff2') format('woff2');
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Manrope';
	src: url('../fonts/manrope-normal-700.woff2') format('woff2');
	font-weight: 700; font-style: normal; font-display: swap;
}

/* ==========================================================================
   2. BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--bl-black);
	color: var(--bl-text);
	font-family: var(--font-body);
	font-size: 16.5px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;              /* hard guard against horizontal scroll */
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--bl-gold-soft); text-decoration: none; transition: color .25s ease; }
a:hover { color: var(--bl-gold); }

h1, h2, h3, h4, h5 {
	font-family: var(--font-display);
	font-weight: 500;
	line-height: 1.12;
	margin: 0 0 .5em;
	color: #f4f1e9;
	letter-spacing: .01em;
}

h1 em, h2 em, h3 em {
	font-style: italic;
	color: var(--bl-gold);
	font-weight: 500;
}

p { margin: 0 0 1.2em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
blockquote { margin: 0; }
button { font-family: inherit; cursor: pointer; }

/* visible keyboard focus — accessibility */
:focus-visible {
	outline: 2px solid var(--bl-gold);
	outline-offset: 3px;
	border-radius: 2px;
}

::selection { background: var(--bl-gold); color: #141007; }

.bl-main { display: block; min-height: 60vh; }

/* skip link */
.bl-skip-link {
	position: absolute; left: 16px; top: -60px;
	background: var(--bl-gold); color: #131008;
	padding: 10px 18px; z-index: 2000; border-radius: 4px;
	font-weight: 600; transition: top .2s;
}
.bl-skip-link:focus { top: 12px; color: #131008; }

/* containers */
.bl-container {
	max-width: var(--container);
	margin: 0 auto;
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
}
.bl-container--narrow { max-width: 980px; }

/* generic section spacing */
.bl-section { padding: var(--section-pad) 0; position: relative; }

/* section heads */
.bl-section__head { max-width: 720px; margin-bottom: clamp(40px, 5vw, 64px); }
.bl-section__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.bl-section__title { font-size: clamp(34px, 4.6vw, 58px); margin-bottom: .45em; }
.bl-section__lead { color: var(--bl-muted); font-size: clamp(16px, 1.4vw, 18.5px); max-width: 620px; }
.bl-section__head--light .bl-section__lead { color: #c3c6cb; }

/* eyebrow label */
.bl-eyebrow {
	display: inline-flex; align-items: center; gap: 14px;
	font-size: 12.5px; font-weight: 600;
	letter-spacing: .32em; text-transform: uppercase;
	color: var(--bl-gold);
	margin: 0 0 18px;
}
.bl-eyebrow__line { width: 42px; height: 1px; background: linear-gradient(90deg, transparent, var(--bl-gold)); display: inline-block; }
.bl-eyebrow__line:last-child { background: linear-gradient(90deg, var(--bl-gold), transparent); }
.bl-eyebrow--center { justify-content: center; }

/* gold stars */
.bl-stars { display: inline-flex; gap: 3px; color: var(--bl-gold); }

/* underline link */
.bl-link-underline {
	font-weight: 600; font-size: 15px; letter-spacing: .04em;
	border-bottom: 1px solid rgba(233, 216, 176, .35);
	padding-bottom: 3px;
}
.bl-link-underline:hover { border-color: var(--bl-gold); }

/* honeypot + hidden utility */
.bl-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 1px; width: 1px; overflow: hidden; }
.is-hidden { display: none !important; }

/* ==========================================================================
   3. BUTTONS
   ========================================================================== */

.bl-btn {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 15px 32px;
	border: 1px solid transparent; border-radius: 100px;
	font-size: 13px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase;
	overflow: hidden; isolation: isolate;
	transition: transform var(--transition), box-shadow var(--transition), background .3s, border-color .3s, color .3s;
	white-space: nowrap;
}
.bl-btn svg { transition: transform .35s ease; flex: none; }
.bl-btn:hover svg { transform: translateX(4px); }
.bl-btn:active { transform: scale(.97); }

/* gold primary */
.bl-btn--gold {
	background: linear-gradient(140deg, #e6cf96 0%, #c9a963 45%, #a8874a 100%);
	color: #16110a;
	box-shadow: 0 14px 34px -12px rgba(201, 169, 99, .45), inset 0 1px 0 rgba(255,255,255,.35);
}
.bl-btn--gold::after {             /* travelling shine */
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .8s ease;
}
.bl-btn--gold:hover { color: #16110a; transform: translateY(-2px); box-shadow: 0 20px 44px -12px rgba(201, 169, 99, .55), inset 0 1px 0 rgba(255,255,255,.35); }
.bl-btn--gold:hover::after { transform: translateX(120%); }

/* ghost (translucent) */
.bl-btn--ghost {
	border-color: rgba(236, 234, 228, .28);
	color: var(--bl-text);
	background: rgba(255,255,255,.02);
	backdrop-filter: blur(4px);
}
.bl-btn--ghost:hover { border-color: var(--bl-gold); color: var(--bl-gold-soft); background: rgba(201,169,99,.06); transform: translateY(-2px); }

/* outline (on images) */
.bl-btn--outline { border-color: rgba(201,169,99,.55); color: var(--bl-gold-soft); }
.bl-btn--outline:hover { background: rgba(201,169,99,.12); border-color: var(--bl-gold); color: var(--bl-gold-soft); transform: translateY(-2px); }

/* sizes */
.bl-btn--sm { padding: 11px 22px; font-size: 11.5px; }
.bl-btn--lg { padding: 18px 40px; font-size: 13.5px; }
.bl-btn--block { width: 100%; }

/* ==========================================================================
   4. HEADER  (topbar + sticky bar + nav)
   ========================================================================== */

.bl-header {
	position: fixed; inset: 0 0 auto 0; z-index: 900;
	transition: background .4s ease, box-shadow .4s ease, backdrop-filter .4s;
}

/* slim concierge bar */
.bl-topbar {
	font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
	color: var(--bl-muted);
	border-bottom: 1px solid rgba(233,216,176,.08);
	background: rgba(6,8,11,.72);
	backdrop-filter: blur(10px);
}
.bl-topbar__inner { display: flex; align-items: center; gap: 14px; height: 36px; }
.bl-topbar__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--bl-gold); opacity: .8; }
.bl-topbar__spacer { flex: 1; }
.bl-topbar__link { color: var(--bl-muted); font-weight: 600; }
.bl-topbar__link:hover { color: var(--bl-gold-soft); }
.bl-topbar__link--phone { color: var(--bl-gold-soft); }

/* main bar */
.bl-header__bar { transition: background .4s ease, border-color .4s; border-bottom: 1px solid transparent; }
.bl-header__inner { display: flex; align-items: center; gap: 34px; height: 82px; }

.bl-header__logo img { height: 40px; width: auto; }

/* scrolled state — solid bar, tighter */
.bl-header.is-scrolled .bl-header__bar {
	background: rgba(7,9,12,.88);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(233,216,176,.1);
	box-shadow: 0 18px 40px -18px rgba(0,0,0,.7);
}
.bl-header.is-scrolled .bl-topbar { display: none; }
.bl-header.is-scrolled .bl-header__inner { height: 68px; }

/* --- nav --- */
.bl-nav { flex: 1; display: flex; justify-content: center; }
.bl-nav__list { display: flex; align-items: center; gap: 6px; }

.bl-nav__link {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 12px 15px;
	font-size: 12.5px; font-weight: 600;
	letter-spacing: .22em; text-transform: uppercase;
	color: #d6d3cb;
	position: relative;
}
.bl-nav__link::after {           /* gold underline on hover */
	content: ""; position: absolute; left: 15px; right: 15px; bottom: 6px;
	height: 1px; background: var(--bl-gold);
	transform: scaleX(0); transform-origin: left;
	transition: transform .35s ease;
}
.bl-nav__link:hover, .bl-nav__item.is-active .bl-nav__link { color: var(--bl-gold-soft); }
.bl-nav__link:hover::after, .bl-nav__item.is-active .bl-nav__link::after { transform: scaleX(1); }
.bl-nav__caret { opacity: .7; }

/* services dropdown */
.bl-nav__item--has-menu { position: relative; }
.bl-nav__menu {
	position: absolute; top: calc(100% + 10px); left: 50%;
	min-width: 250px;
	transform: translate(-50%, 12px);
	background: rgba(13,16,21,.97);
	border: 1px solid rgba(233,216,176,.14);
	border-radius: 12px;
	padding: 10px;
	opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity .28s ease, transform .28s ease, visibility .28s;
	box-shadow: var(--shadow-lg);
	backdrop-filter: blur(12px);
}
.bl-nav__item--has-menu:hover .bl-nav__menu,
.bl-nav__item--has-menu:focus-within .bl-nav__menu {
	opacity: 1; visibility: visible; pointer-events: auto;
	transform: translate(-50%, 0);
}
.bl-nav__menu a {
	display: block; padding: 11px 16px;
	font-size: 13px; font-weight: 500; letter-spacing: .05em;
	color: #c9c5bc; border-radius: 8px;
	transition: background .2s, color .2s, padding-left .25s;
}
.bl-nav__menu a:hover { background: rgba(201,169,99,.1); color: var(--bl-gold-soft); padding-left: 22px; }

/* header CTAs */
.bl-header__cta { display: flex; align-items: center; gap: 20px; }
.bl-header__phone {
	display: inline-flex; align-items: center; gap: 9px;
	font-size: 14.5px; font-weight: 700; letter-spacing: .04em;
	color: var(--bl-gold-soft);
}
.bl-header__phone svg { color: var(--bl-gold); }
.bl-header__phone:hover { color: var(--bl-gold); }

/* burger (hidden on desktop) */
.bl-header__burger {
	display: none;
	width: 44px; height: 44px;
	background: none; border: 1px solid rgba(233,216,176,.25); border-radius: 10px;
	padding: 10px;
	flex-direction: column; justify-content: center; gap: 5px;
	align-items: center;
	z-index: 1000;
}
.bl-header__burger span {
	display: block; width: 20px; height: 1.6px; background: var(--bl-gold-soft);
	transition: transform .35s ease, opacity .3s;
}
.bl-header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.bl-header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bl-header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

/* mobile-only nav actions (hidden on desktop) */
.bl-nav__mobile-actions { display: none; }

/* ==========================================================================
   5. HERO  (homepage — the cinematic centerpiece)
   ========================================================================== */

.bl-hero {
	position: relative;
	min-height: 100svh;
	display: flex; flex-direction: column; justify-content: center;
	padding-top: 150px; padding-bottom: 90px;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 85% -10%, rgba(38,44,56,.9) 0%, transparent 55%),
		linear-gradient(180deg, #07090d 0%, #06080b 60%, #05070a 100%);
}

/* -- ambient layers -- */
.bl-hero__bg { position: absolute; inset: 0; pointer-events: none; }

.bl-hero__glow { position: absolute; border-radius: 50%; filter: blur(90px); }
.bl-hero__glow--gold {
	width: 52vw; height: 52vw; right: -14vw; top: 4vh;
	background: radial-gradient(circle, rgba(201,169,99,.17) 0%, rgba(201,169,99,.05) 42%, transparent 70%);
}
.bl-hero__glow--cool {
	width: 44vw; height: 44vw; left: -16vw; bottom: -12vh;
	background: radial-gradient(circle, rgba(52,72,104,.28) 0%, transparent 65%);
}

/* diagonal light beam across the stage */
.bl-hero__beam {
	position: absolute; top: -12%; right: 4%;
	width: 42%; height: 130%;
	background: linear-gradient(100deg, transparent 35%, rgba(233,216,176,.05) 48%, rgba(233,216,176,.09) 52%, transparent 66%);
	transform: skewX(-14deg);
}

/* fine film grain (pure CSS, no asset) */
.bl-hero__grain {
	position: absolute; inset: 0;
	opacity: .5;
	background-image: radial-gradient(rgba(255,255,255,.028) 1px, transparent 1px);
	background-size: 3px 3px;
	mix-blend-mode: overlay;
}

/* -- animated road light-lines -- */
.bl-hero__road { position: absolute; inset: auto 0 0 0; height: 34%; pointer-events: none; opacity: .8; }
.bl-hero__roadline {
	position: absolute; left: -30%; width: 56%; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201,169,99,.6), transparent);
	animation: bl-roadline 6.5s linear infinite;
}
.bl-hero__roadline--1 { bottom: 24%; animation-delay: 0s; }
.bl-hero__roadline--2 { bottom: 14%; animation-delay: 2.1s; opacity: .55; }
.bl-hero__roadline--3 { bottom: 6%;  animation-delay: 4.4s; opacity: .35; }

/* -- layout -- */
.bl-hero__inner {
	position: relative; z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.18fr);
	align-items: center;
	gap: clamp(32px, 4vw, 64px);
}

/* -- copy -- */
.bl-hero__title {
	font-size: clamp(44px, 5.6vw, 84px);
	font-weight: 500;
	letter-spacing: 0;
	margin: 0 0 26px;
}
.bl-hero__lead {
	color: var(--bl-muted);
	font-size: clamp(16px, 1.35vw, 18.5px);
	max-width: 520px;
	margin-bottom: 38px;
}
.bl-hero__lead strong { color: #d8d5cd; font-weight: 600; }

.bl-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 40px; }

/* trust chips */
.bl-hero__chips { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.bl-hero__chips li {
	display: inline-flex; align-items: center; gap: 9px;
	font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
	color: #b9b6ae;
}
.bl-hero__chips svg { color: var(--bl-gold); }

/* -- stage / car -- */
.bl-hero__stage { position: relative; min-height: 380px; }

.bl-hero__halo {
	position: absolute; inset: 12% -6% 0 -6%;
	background: radial-gradient(58% 58% at 50% 52%, rgba(201,169,99,.16) 0%, rgba(201,169,99,.04) 55%, transparent 75%);
	filter: blur(6px);
}

/* 3D perspective wrapper — JS tilts .bl-hero__car inside */
.bl-hero__perspective { position: relative; perspective: 1300px; perspective-origin: 50% 42%; }

.bl-hero__car {
	position: relative;
	transform-style: preserve-3d;
	will-change: transform;
	animation: bl-car-float 7s ease-in-out infinite;
	filter: drop-shadow(0 42px 44px rgba(0,0,0,.6));
}
.bl-hero__car-img { width: min(100%, 780px); margin-inline: auto; }

/* light sweep clipped to the car's silhouette (mask = same image) */
.bl-hero__sweep {
	position: absolute; inset: 0;
	background: linear-gradient(105deg, transparent 42%, rgba(255,244,220,.34) 50%, transparent 58%);
	background-repeat: no-repeat;
	background-size: 260% 100%;
	-webkit-mask-image: var(--hero-car-mask);
	mask-image: var(--hero-car-mask);
	-webkit-mask-size: contain; mask-size: contain;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	animation: bl-light-sweep 7.5s ease-in-out infinite;
	pointer-events: none;
}

/* soft elliptical ground shadow */
.bl-hero__shadow {
	position: relative;
	width: 66%; height: 34px;
	margin: -16px auto 0;
	background: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.75) 0%, transparent 70%);
	filter: blur(10px);
	animation: bl-shadow-pulse 7s ease-in-out infinite;
}

/* floating spec tags */
.bl-hero__tag {
	position: absolute; z-index: 3;
	display: flex; flex-direction: column; gap: 2px;
	padding: 12px 18px;
	background: rgba(10,13,17,.68);
	border: 1px solid rgba(233,216,176,.16);
	border-radius: 12px;
	backdrop-filter: blur(8px);
	box-shadow: 0 18px 40px -18px rgba(0,0,0,.6);
}
.bl-hero__tag-k { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--bl-faint); }
.bl-hero__tag-v { font-family: var(--font-display); font-size: 17px; color: var(--bl-gold-soft); letter-spacing: .04em; }
.bl-hero__tag--left  { left: -6px; top: 26%; }
.bl-hero__tag--right { right: -2px; bottom: 18%; }

/* scroll cue */
.bl-hero__scroll {
	position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%);
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	font-size: 10.5px; letter-spacing: .34em; text-transform: uppercase;
	color: var(--bl-faint); z-index: 3;
}
.bl-hero__scroll:hover { color: var(--bl-gold-soft); }
.bl-hero__scroll-line { width: 1px; height: 44px; background: linear-gradient(180deg, var(--bl-gold), transparent); animation: bl-scroll-cue 2.4s ease-in-out infinite; }

/* ==========================================================================
   6. QUICK FACTS STRIP
   ========================================================================== */

.bl-quickfacts {
	border-top: 1px solid var(--bl-line-soft);
	border-bottom: 1px solid var(--bl-line-soft);
	background: linear-gradient(180deg, rgba(16,20,26,.5), rgba(11,14,18,.2));
	padding: 54px 0;
}
.bl-quickfacts__list {
	display: grid; gap: 30px 34px;
	grid-template-columns: repeat(6, 1fr);
}
.bl-quickfacts__item { display: flex; flex-direction: column; gap: 10px; }
.bl-quickfacts__icon { color: var(--bl-gold); opacity: .9; }
.bl-quickfacts__title {
	font-family: var(--font-display); font-size: 17.5px; letter-spacing: .03em; color: #eceade;
}
.bl-quickfacts__text { font-size: 13px; color: var(--bl-muted); line-height: 1.6; }

/* ==========================================================================
   7. SERVICES CARDS
   ========================================================================== */

.bl-services { background: var(--bl-black); }

.bl-services__grid {
	display: grid; gap: 26px;
	grid-template-columns: repeat(4, 1fr);
}

.bl-card {
	position: relative;
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0d1117 100%);
	border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform var(--transition), border-color .4s, box-shadow var(--transition);
}
.bl-card:hover {
	transform: translateY(-8px);
	border-color: rgba(201,169,99,.35);
	box-shadow: var(--shadow-lg);
}

.bl-card__media { display: block; aspect-ratio: 4 / 3.05; overflow: hidden; }
.bl-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.25,1), filter .9s; filter: saturate(.92); }
.bl-card:hover .bl-card__media img { transform: scale(1.07); filter: saturate(1.05); }

.bl-card__body { padding: 26px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.bl-card__kicker {
	font-size: 10.5px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase;
	color: var(--bl-gold); margin: 0 0 10px;
}
.bl-card__title { font-size: 22px; margin-bottom: 8px; }
.bl-card__text { font-size: 14.5px; color: var(--bl-muted); line-height: 1.7; flex: 1; }

.bl-card__link {
	margin-top: 16px;
	font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
	color: var(--bl-gold-soft);
	display: inline-flex; gap: 8px; align-items: center;
	transition: gap .3s ease, color .3s;
}
.bl-card__link:hover { gap: 14px; color: var(--bl-gold); }

/* ==========================================================================
   8. AIRPORT SECTION
   ========================================================================== */

.bl-airport { position: relative; overflow: hidden; isolation: isolate; }
.bl-airport__bg { position: absolute; inset: 0; z-index: -1; }
.bl-airport__bg img { width: 100%; height: 100%; object-fit: cover; }
.bl-airport__bg-tint {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(5,7,10,.94) 0%, rgba(5,7,10,.8) 45%, rgba(5,7,10,.94) 100%);
}

/* airport code chips */
.bl-airport__codes { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: clamp(44px, 5vw, 70px); }
.bl-airport__codes li {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 22px;
	background: rgba(12,15,20,.66);
	border: 1px solid rgba(233,216,176,.14);
	border-radius: 100px;
	backdrop-filter: blur(8px);
	transition: border-color .3s, transform .3s, background .3s;
}
.bl-airport__codes li:hover { border-color: rgba(201,169,99,.5); transform: translateY(-3px); background: rgba(18,22,28,.85); }
.bl-airport__codes span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 52px; height: 40px; padding: 0 12px;
	border-radius: 100px;
	background: linear-gradient(140deg, rgba(233,216,176,.14), rgba(201,169,99,.06));
	border: 1px solid rgba(201,169,99,.35);
	font-family: var(--font-display); font-size: 16px; letter-spacing: .1em;
	color: var(--bl-gold-soft);
}
.bl-airport__codes em { font-style: normal; font-size: 13px; color: #bfc3c8; letter-spacing: .02em; }
.bl-airport__codes .is-cruise span svg { color: var(--bl-gold-soft); }

/* journey steps */
.bl-journey {
	display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: stretch; gap: 20px;
	margin-bottom: clamp(44px, 5vw, 64px);
}
.bl-journey__step {
	position: relative;
	padding: 30px 28px;
	background: rgba(11,14,19,.72);
	border: 1px solid rgba(233,216,176,.12);
	border-radius: var(--radius-lg);
	backdrop-filter: blur(10px);
	transition: transform var(--transition), border-color .4s;
}
.bl-journey__step:hover { transform: translateY(-6px); border-color: rgba(201,169,99,.35); }
.bl-journey__step svg { color: var(--bl-gold); margin-bottom: 14px; }
.bl-journey__step h3 { font-size: 20px; margin-bottom: 6px; }
.bl-journey__step p { font-size: 14px; color: var(--bl-muted); margin: 0; }
.bl-journey__num {
	position: absolute; top: 18px; right: 22px;
	font-family: var(--font-display); font-size: 15px;
	color: rgba(201,169,99,.55); letter-spacing: .1em;
}
.bl-journey__line {
	align-self: center; width: 42px; height: 1px;
	background: linear-gradient(90deg, rgba(201,169,99,.15), rgba(201,169,99,.65), rgba(201,169,99,.15));
	position: relative; overflow: visible;
}
.bl-journey__line::after {
	content: ""; position: absolute; top: -3px; left: 0;
	width: 7px; height: 7px; border-radius: 50%;
	background: var(--bl-gold);
	box-shadow: 0 0 12px rgba(201,169,99,.9);
	animation: bl-route-dot 3.2s ease-in-out infinite;
}

.bl-airport__cta { display: flex; flex-wrap: wrap; gap: 16px; }

/* ==========================================================================
   9. FLEET SHOWCASE
   ========================================================================== */

.bl-fleet {
	background:
		radial-gradient(70% 50% at 78% 30%, rgba(201,169,99,.05) 0%, transparent 60%),
		var(--bl-coal);
	border-top: 1px solid var(--bl-line-soft);
	border-bottom: 1px solid var(--bl-line-soft);
}

.bl-fleet__layout {
	display: grid; grid-template-columns: 380px 1fr;
	gap: clamp(28px, 4vw, 60px);
	align-items: start;
}

/* selector tabs */
.bl-fleet__menu { display: flex; flex-direction: column; gap: 12px; }
.bl-fleet__tab {
	display: flex; align-items: center; gap: 18px;
	padding: 20px 22px;
	background: var(--bl-panel);
	border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius);
	text-align: left; color: inherit;
	transition: background .3s, border-color .3s, transform .3s;
}
.bl-fleet__tab:hover { border-color: rgba(201,169,99,.35); transform: translateX(6px); }
.bl-fleet__tab.is-active {
	background: linear-gradient(120deg, rgba(201,169,99,.12), rgba(201,169,99,.03));
	border-color: rgba(201,169,99,.55);
}
.bl-fleet__tab-num {
	font-family: var(--font-display); font-size: 14px;
	color: rgba(201,169,99,.6); letter-spacing: .08em;
}
.bl-fleet__tab-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bl-fleet__tab-text strong { font-family: var(--font-display); font-weight: 500; font-size: 19px; letter-spacing: .03em; color: #eceade; }
.bl-fleet__tab-text em { font-style: normal; font-size: 12.5px; color: var(--bl-muted); }
.bl-fleet__tab-arrow { color: var(--bl-faint); transition: color .3s, transform .3s; }
.bl-fleet__tab.is-active .bl-fleet__tab-arrow { color: var(--bl-gold); transform: translateX(4px); }

/* stage */
.bl-fleet__stage {
	position: relative;
	border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
	background:
		radial-gradient(80% 70% at 50% 20%, rgba(34,39,48,.8) 0%, rgba(13,16,21,.95) 70%);
	min-height: 380px;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	perspective: 1100px;
}
.bl-fleet__stage-halo {
	position: absolute; inset: 0;
	background: radial-gradient(52% 46% at 50% 55%, rgba(201,169,99,.13) 0%, transparent 70%);
}
.bl-fleet__stage-inner {
	position: relative; width: 100%;
	padding: clamp(28px, 5vw, 64px) clamp(20px, 4vw, 56px) clamp(46px, 6vw, 70px);
	display: grid;
	transition: transform .5s ease;
	transform-style: preserve-3d;
}
.bl-fleet__car {
	grid-area: 1 / 1;
	width: 100%; max-width: 640px; margin: 0 auto;
	opacity: 0;
	transform: translateX(60px) scale(.96) rotateY(-8deg);
	transition: opacity .55s ease, transform .65s cubic-bezier(.22,.8,.32,1);
	filter: drop-shadow(0 34px 30px rgba(0,0,0,.55));
	pointer-events: none;
}
.bl-fleet__car.is-active { opacity: 1; transform: none; pointer-events: auto; }
.bl-fleet__stage.is-leaving .bl-fleet__car.is-active { transform: translateX(-60px) scale(.96) rotateY(8deg); }

/* reflective floor line */
.bl-fleet__stage-floor {
	position: absolute; left: 8%; right: 8%; bottom: 34px; height: 26px;
	background: radial-gradient(50% 100% at 50% 0%, rgba(201,169,99,.22) 0%, transparent 75%);
	filter: blur(6px);
}

/* captions */
.bl-fleet__caption { position: relative; min-height: 86px; margin-top: 22px; }
.bl-fleet__caption-item {
	position: absolute; inset: 0;
	opacity: 0; transform: translateY(10px);
	transition: opacity .4s ease, transform .5s ease;
}
.bl-fleet__caption-item.is-active { opacity: 1; transform: none; position: relative; }
.bl-fleet__caption-item h3 { font-size: 24px; margin-bottom: 4px; }
.bl-fleet__caption-item p { color: var(--bl-muted); font-size: 14.5px; margin: 0; max-width: 460px; }

.bl-fleet__book { margin-top: 22px; }

/* ==========================================================================
   10. WHY BRAD LIMO
   ========================================================================== */

.bl-why__grid {
	display: grid; grid-template-columns: 1fr 1.15fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
.bl-why__intro .bl-btn { margin-top: 10px; }

.bl-why__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.bl-why__card {
	position: relative;
	padding: 30px 26px 28px;
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0d1117 100%);
	border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
	transition: transform var(--transition), border-color .4s;
}
.bl-why__card:hover { transform: translateY(-6px); border-color: rgba(201,169,99,.4); }
.bl-why__num {
	font-family: var(--font-display); font-size: 15px;
	color: rgba(201,169,99,.6); letter-spacing: .1em;
	display: inline-block; margin-bottom: 14px;
}
.bl-why__card h3 { font-size: 21px; margin-bottom: 8px; }
.bl-why__card p { font-size: 14px; color: var(--bl-muted); margin: 0; }

/* card accent line */
.bl-why__card::before {
	content: ""; position: absolute; left: 26px; right: 26px; top: 0; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201,169,99,.5), transparent);
	opacity: 0; transition: opacity .4s;
}
.bl-why__card:hover::before { opacity: 1; }

/* ==========================================================================
   11. REVIEWS SLIDER
   ========================================================================== */

.bl-reviews {
	background: var(--bl-coal);
	border-top: 1px solid var(--bl-line-soft);
	border-bottom: 1px solid var(--bl-line-soft);
	overflow: hidden;
}
.bl-reviews__summary {
	display: flex; align-items: center; gap: 12px;
	color: var(--bl-muted); font-size: 15px;
}
.bl-reviews__summary strong { color: var(--bl-gold-soft); }

.bl-slider__viewport { overflow: hidden; margin: 0 -8px; }
.bl-slider__track {
	display: flex;
	transition: transform .65s cubic-bezier(.22,.8,.32,1);
}

.bl-review {
	flex: 0 0 calc(50% - 16px);
	padding: 34px 32px;
	margin: 0 8px;
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0d1117 100%);
	border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
	display: flex; flex-direction: column; gap: 18px;
}
.bl-review blockquote {
	font-family: var(--font-display); font-size: 19px; font-style: italic;
	line-height: 1.55; color: #dedad0; flex: 1;
}
.bl-review figcaption { display: flex; align-items: center; gap: 14px; }
.bl-review__avatar {
	width: 46px; height: 46px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(140deg, rgba(233,216,176,.16), rgba(201,169,99,.08));
	border: 1px solid rgba(201,169,99,.4);
	color: var(--bl-gold-soft);
	font-family: var(--font-display); font-size: 16px; letter-spacing: .05em;
}
.bl-review__who { display: flex; flex-direction: column; line-height: 1.4; }
.bl-review__who strong { font-size: 15px; color: #eceade; font-weight: 600; }
.bl-review__who em { font-style: normal; font-size: 12.5px; color: var(--bl-faint); }

/* slider controls */
.bl-slider__nav { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 34px; }
.bl-slider__btn {
	width: 52px; height: 52px; border-radius: 50%;
	background: transparent; color: var(--bl-gold-soft);
	border: 1px solid rgba(233,216,176,.28);
	display: inline-flex; align-items: center; justify-content: center;
	transition: border-color .3s, background .3s, color .3s, transform .3s;
}
.bl-slider__btn:hover { border-color: var(--bl-gold); background: rgba(201,169,99,.1); transform: translateY(-2px); }
.bl-slider__dots { display: flex; gap: 8px; }
.bl-slider__dot {
	width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0;
	background: rgba(233,216,176,.22); transition: background .3s, transform .3s; cursor: pointer;
}
.bl-slider__dot.is-active { background: var(--bl-gold); transform: scale(1.35); }

/* ==========================================================================
   12. CORPORATE SECTION
   ========================================================================== */

.bl-corporate__grid {
	display: grid; grid-template-columns: 1.05fr 1fr;
	gap: clamp(40px, 5vw, 84px);
	align-items: center;
}
.bl-corporate__media { position: relative; }
.bl-corporate__media img {
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	aspect-ratio: 4/3; object-fit: cover; width: 100%;
}
.bl-corporate__media-frame {
	position: absolute; inset: -16px 16px 16px -16px;
	border: 1px solid rgba(201,169,99,.3);
	border-radius: var(--radius-lg);
	z-index: -0; pointer-events: none;
	transform: translate(0, 0);
}
.bl-corporate__media img { position: relative; z-index: 1; }

.bl-corporate__points { display: flex; flex-direction: column; gap: 14px; margin: 26px 0 26px; }
.bl-corporate__points li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: #d2cfc7; }
.bl-corporate__points svg { color: var(--bl-gold); flex: none; margin-top: 5px; }
.bl-corporate__points strong { color: #f0ede4; }

.bl-corporate__note { color: var(--bl-muted); font-size: 14.5px; }
.bl-corporate__actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }

/* ==========================================================================
   13. PERSONAL CHAUFFEUR
   ========================================================================== */

.bl-chauffeur { position: relative; overflow: hidden; isolation: isolate; }
.bl-chauffeur__bg { position: absolute; inset: 0; z-index: -1; }
.bl-chauffeur__bg img { width: 100%; height: 100%; object-fit: cover; }
.bl-chauffeur__bg-tint {
	position: absolute; inset: 0;
	background: linear-gradient(100deg, rgba(5,7,10,.97) 18%, rgba(5,7,10,.82) 48%, rgba(5,7,10,.45) 100%);
}

.bl-chauffeur__inner {
	display: grid; grid-template-columns: 1.25fr .85fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}

.bl-chauffeur__points { display: flex; flex-direction: column; gap: 13px; margin-top: 24px; }
.bl-chauffeur__points li {
	position: relative; padding-left: 26px;
	color: #cfccc3; font-size: 15px;
}
.bl-chauffeur__points li::before {
	content: ""; position: absolute; left: 0; top: 11px;
	width: 14px; height: 1.5px; background: var(--bl-gold);
}
.bl-chauffeur__points strong { color: var(--bl-gold-soft); }

/* price card */
.bl-chauffeur__card {
	padding: 40px 38px;
	background: rgba(13,16,21,.82);
	border: 1px solid rgba(201,169,99,.3);
	border-radius: var(--radius-lg);
	backdrop-filter: blur(12px);
	box-shadow: var(--shadow-lg);
	text-align: center;
}
.bl-chauffeur__card-k {
	font-size: 11px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase;
	color: var(--bl-gold); margin: 0 0 10px;
}
.bl-chauffeur__price {
	font-family: var(--font-display); font-size: 84px; line-height: 1;
	color: var(--bl-gold-soft); margin: 0 0 22px;
}
.bl-chauffeur__price span { font-size: .45em; vertical-align: super; color: var(--bl-gold); }
.bl-chauffeur__card-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.bl-chauffeur__card-list li { font-size: 14px; color: #c6c3ba; border-bottom: 1px dashed rgba(233,216,176,.14); padding-bottom: 10px; }
.bl-chauffeur__card-note { margin: 16px 0 0; font-size: 13px; color: var(--bl-muted); }

/* ==========================================================================
   14. FINAL CTA
   ========================================================================== */

.bl-cta {
	position: relative; overflow: hidden;
	padding: calc(var(--section-pad) * 1.05) 0;
	background:
		radial-gradient(90% 100% at 50% 120%, rgba(201,169,99,.13) 0%, transparent 60%),
		#080a0e;
	text-align: center;
	border-top: 1px solid var(--bl-line-soft);
}
.bl-cta__glow {
	position: absolute; left: 50%; bottom: -40%;
	width: 70vw; height: 70vw; transform: translateX(-50%);
	background: radial-gradient(circle, rgba(201,169,99,.14) 0%, transparent 65%);
	filter: blur(60px);
}
.bl-cta__line { position: absolute; height: 1px; width: 42%; background: linear-gradient(90deg, transparent, rgba(201,169,99,.5), transparent); }
.bl-cta__line--1 { top: 30%; left: -45%; animation: bl-roadline 8s linear infinite; }
.bl-cta__line--2 { top: 62%; right: -45%; animation: bl-roadline-rev 9s linear infinite; }

.bl-cta__inner { position: relative; }
.bl-cta__title { font-size: clamp(38px, 5vw, 66px); margin-bottom: 18px; }
.bl-cta__lead { color: var(--bl-muted); max-width: 560px; margin: 0 auto 38px; }
.bl-cta__actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* ==========================================================================
   15. PAGE HERO (inner pages)
   ========================================================================== */

.bl-pagehero {
	position: relative;
	display: flex; align-items: flex-end;
	min-height: 52vh;
	padding: 190px 0 90px;
	overflow: hidden;
}
.bl-pagehero__bg { position: absolute; inset: 0; }
.bl-pagehero__bg img { width: 100%; height: 100%; object-fit: cover; }
.bl-pagehero__bg-gradient {
	position: absolute; inset: 0;
	background:
		radial-gradient(70% 90% at 80% 0%, rgba(38,44,56,.85) 0%, transparent 55%),
		linear-gradient(180deg, #0a0d12 0%, #070a0e 100%);
}
.bl-pagehero__tint {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(4,6,9,.82) 0%, rgba(4,6,9,.55) 50%, rgba(6,8,11,.96) 100%);
}
.bl-pagehero--simple { background: linear-gradient(180deg, #0a0d12, #070a0e); }
.bl-pagehero--simple .bl-pagehero__tint { display: none; }
.bl-pagehero__inner { position: relative; }
.bl-pagehero__title { font-size: clamp(40px, 5.4vw, 72px); margin-bottom: 12px; }
.bl-pagehero__lead { color: var(--bl-muted); font-size: clamp(16px, 1.4vw, 18.5px); max-width: 600px; margin: 0; }

/* ==========================================================================
   16. ABOUT PAGE
   ========================================================================== */

.bl-about-story__grid {
	display: grid; grid-template-columns: .95fr 1.05fr;
	gap: clamp(40px, 5vw, 84px);
	align-items: center;
}
.bl-about-story__media { position: relative; }
.bl-about-story__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); position: relative; z-index: 1; }
.bl-about-story__media-frame {
	position: absolute; inset: -16px -16px 16px 16px;
	border: 1px solid rgba(201,169,99,.3); border-radius: var(--radius-lg);
}
.bl-about-story__badge {
	position: absolute; right: -14px; bottom: 34px; z-index: 2;
	display: flex; align-items: center; gap: 12px;
	padding: 16px 22px;
	background: rgba(10,13,17,.9); border: 1px solid rgba(201,169,99,.4);
	border-radius: 14px; backdrop-filter: blur(10px);
	box-shadow: var(--shadow-lg);
}
.bl-about-story__badge-num {
	font-family: var(--font-display); font-size: 46px; line-height: 1; color: var(--bl-gold);
}
.bl-about-story__badge-label {
	font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--bl-muted); line-height: 1.6;
}

/* pillars */
.bl-about-pillars { background: var(--bl-coal); border-top: 1px solid var(--bl-line-soft); border-bottom: 1px solid var(--bl-line-soft); }
.bl-about-pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bl-about-pillar {
	padding: 34px 30px;
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0d1117 100%);
	border: 1px solid var(--bl-line-soft); border-radius: var(--radius-lg);
	transition: transform var(--transition), border-color .4s;
}
.bl-about-pillar:hover { transform: translateY(-6px); border-color: rgba(201,169,99,.4); }
.bl-about-pillar__num {
	font-family: var(--font-display); color: rgba(201,169,99,.6);
	font-size: 15px; letter-spacing: .1em; display: inline-block; margin-bottom: 14px;
}
.bl-about-pillar h3 { font-size: 22px; }
.bl-about-pillar p { color: var(--bl-muted); font-size: 14.5px; margin: 0; }

/* 30-years band */
.bl-about-band {
	padding: clamp(60px, 7vw, 100px) 0;
	background:
		radial-gradient(60% 120% at 12% 50%, rgba(201,169,99,.09) 0%, transparent 60%),
		#080a0e;
	border-bottom: 1px solid var(--bl-line-soft);
}
.bl-about-band__inner { display: flex; align-items: center; gap: clamp(28px, 4vw, 56px); }
.bl-about-band__num {
	font-family: var(--font-display); font-size: clamp(110px, 15vw, 220px); line-height: .9;
	background: linear-gradient(160deg, #e9d8b0 20%, #9c7c3f 90%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.bl-about-band__text h2 { font-size: clamp(26px, 3vw, 40px); }
.bl-about-band__text p { color: var(--bl-muted); max-width: 520px; margin: 0; }

/* where-we-go */
.bl-about-where { position: relative; overflow: hidden; isolation: isolate; }
.bl-about-where__bg { position: absolute; inset: 0; z-index: -1; }
.bl-about-where__bg img { width: 100%; height: 100%; object-fit: cover; }
.bl-about-where__tint { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,7,10,.95), rgba(5,7,10,.82) 55%, rgba(5,7,10,.96)); }
.bl-about-where__inner { position: relative; }
.bl-airport__codes--about { margin-bottom: 0; }

/* ==========================================================================
   17. CONTACT PAGE
   ========================================================================== */

.bl-contact-cards { padding-bottom: 0; }
.bl-contact-cards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.bl-contact-card {
	padding: 36px 30px;
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0d1117 100%);
	border: 1px solid var(--bl-line-soft); border-radius: var(--radius-lg);
	text-align: center;
	transition: transform var(--transition), border-color .4s;
}
.bl-contact-card:hover { transform: translateY(-6px); border-color: rgba(201,169,99,.4); }
.bl-contact-card h2 { font-size: 22px; margin: 18px 0 8px; }
.bl-contact-card__icon {
	width: 58px; height: 58px; margin: 0 auto;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: var(--bl-gold);
	background: linear-gradient(140deg, rgba(233,216,176,.12), rgba(201,169,99,.05));
	border: 1px solid rgba(201,169,99,.35);
}
.bl-contact-card__main a { font-size: 20px; font-weight: 600; color: var(--bl-gold-soft); }
.bl-contact-card__main a:hover { color: var(--bl-gold); }
.bl-contact-card__sub { color: var(--bl-faint); font-size: 13px; margin: 6px 0 0; }

/* form + side grid */
.bl-contact-main__grid {
	display: grid; grid-template-columns: 1.15fr .85fr;
	gap: clamp(36px, 4vw, 64px);
	align-items: start;
}

/* map */
.bl-map {
	border-radius: var(--radius-lg); overflow: hidden;
	border: 1px solid var(--bl-line-soft);
	box-shadow: var(--shadow-lg);
	background: var(--bl-panel);
}
.bl-map iframe { width: 100%; height: 320px; border: 0; display: block; filter: grayscale(1) invert(.92) contrast(.88); }

/* side quick facts */
.bl-contact-side {
	margin-top: 26px; padding: 30px;
	background: var(--bl-panel); border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
}
.bl-contact-side h3 { font-size: 20px; margin-bottom: 14px; }
.bl-contact-side__list { display: flex; flex-direction: column; margin-bottom: 24px; }
.bl-contact-side__list li {
	display: flex; justify-content: space-between; gap: 16px;
	padding: 11px 0; border-bottom: 1px dashed rgba(233,216,176,.12);
	font-size: 14px;
}
.bl-contact-side__list span { color: var(--bl-muted); }
.bl-contact-side__list strong { color: #e8e6df; font-weight: 600; text-align: right; }
.bl-contact-side__list a { color: var(--bl-gold-soft); }

/* ==========================================================================
   18. FORMS (shared fields) + NOTICES
   ========================================================================== */

.bl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.bl-field { margin-bottom: 18px; }
.bl-field label {
	display: block;
	font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	color: #b9b6ad; margin-bottom: 9px;
}
.bl-field label small { text-transform: none; letter-spacing: .04em; color: var(--bl-faint); font-weight: 500; }
.bl-req { color: var(--bl-gold); }

.bl-field input,
.bl-field textarea,
.bl-field select {
	width: 100%;
	padding: 15px 18px;
	background: rgba(255,255,255,.028);
	border: 1px solid rgba(233,216,176,.16);
	border-radius: 10px;
	color: var(--bl-text);
	font-family: var(--font-body); font-size: 15px;
	transition: border-color .3s, background .3s, box-shadow .3s;
	-webkit-appearance: none; appearance: none;
}
.bl-field textarea { resize: vertical; min-height: 110px; }
.bl-field input::placeholder, .bl-field textarea::placeholder { color: #5d636c; }
.bl-field input:focus, .bl-field textarea:focus, .bl-field select:focus {
	outline: none;
	border-color: var(--bl-gold);
	background: rgba(201,169,99,.05);
	box-shadow: 0 0 0 3px rgba(201,169,99,.14);
}
/* browser default date/time icons on dark bg */
.bl-field input[type="date"], .bl-field input[type="time"] { color-scheme: dark; }

.bl-field.has-error input, .bl-field.has-error textarea { border-color: #c56a5a; box-shadow: 0 0 0 3px rgba(197,106,90,.14); }
.bl-field__hint { display: block; margin-top: 8px; font-size: 12.5px; color: var(--bl-faint); }

.bl-form__consent { font-size: 12.5px; color: var(--bl-faint); margin: 8px 0 22px; max-width: 520px; }

/* stepper (+/− number inputs) */
.bl-stepper { display: flex; align-items: stretch; border: 1px solid rgba(233,216,176,.16); border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.028); }
.bl-stepper input { border: 0 !important; border-radius: 0 !important; text-align: center; background: transparent !important; box-shadow: none !important; margin: 0; width: 100%; }
.bl-stepper input::-webkit-outer-spin-button, .bl-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.bl-stepper__btn {
	width: 52px; flex: none;
	background: transparent; border: 0;
	color: var(--bl-gold-soft); font-size: 22px; font-weight: 400;
	transition: background .25s;
}
.bl-stepper__btn:hover { background: rgba(201,169,99,.12); }

/* notices */
.bl-notice {
	display: flex; gap: 16px; align-items: flex-start;
	padding: 20px 24px; margin-bottom: 28px;
	border-radius: 12px; font-size: 14.5px;
}
.bl-notice p { margin: 4px 0 0; color: #c6c3ba; }
.bl-notice strong { color: #f0ede4; font-family: var(--font-display); font-size: 18px; letter-spacing: .02em; }
.bl-notice--success { background: rgba(72,122,84,.14); border: 1px solid rgba(120,190,140,.35); color: #cfe8d4; }
.bl-notice--success svg { color: #79bd8b; flex: none; margin-top: 2px; }
.bl-notice--error { display: block; background: rgba(146,66,52,.14); border: 1px solid rgba(197,106,90,.4); color: #e9cdc5; }

/* ==========================================================================
   19. BOOKING WIZARD (Book a Ride page)
   ========================================================================== */

.bl-booking { padding-top: clamp(48px, 6vw, 80px); }

/* progress rail */
.bl-wizard__rail {
	display: flex; justify-content: space-between; gap: 6px;
	margin-bottom: 10px;
}
.bl-wizard__rail li {
	flex: 1; text-align: center;
	font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
	color: var(--bl-faint);
	cursor: default;
	padding-bottom: 14px;
	display: flex; flex-direction: column; gap: 4px; align-items: center;
	transition: color .3s;
}
.bl-wizard__rail li span { font-family: var(--font-display); font-size: 15px; color: #4d545e; transition: color .3s; }
.bl-wizard__rail li.is-active { color: var(--bl-gold-soft); }
.bl-wizard__rail li.is-active span { color: var(--bl-gold); }
.bl-wizard__rail li.is-done { color: #8b9098; }

/* progress bar */
.bl-wizard__bar { height: 2px; background: rgba(233,216,176,.12); border-radius: 2px; margin-bottom: 40px; }
.bl-wizard__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--bl-gold-deep), var(--bl-gold-soft)); border-radius: 2px; transition: width .55s cubic-bezier(.22,.8,.32,1); }

/* steps */
.bl-wizard__step {
	display: none;
	border: 1px solid var(--bl-line-soft);
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0c0f14 100%);
	border-radius: var(--radius-lg);
	padding: clamp(26px, 3.4vw, 44px);
	margin: 0;
}
.bl-wizard__step.is-active { display: block; animation: bl-step-in .5s cubic-bezier(.22,.8,.32,1); }
.bl-wizard__step legend {
	float: left; width: 100%;
	font-family: var(--font-display); font-size: clamp(24px, 2.6vw, 32px); color: #f0ede4;
	margin-bottom: 26px; letter-spacing: .02em;
}
.bl-wizard__step legend span {
	display: block; font-family: var(--font-body); font-size: 11px; font-weight: 700;
	letter-spacing: .3em; text-transform: uppercase; color: var(--bl-gold);
	margin-bottom: 8px;
}
.bl-legend-optional { font-size: .55em; color: var(--bl-faint); font-style: italic; }
.bl-wizard__note { color: var(--bl-muted); font-size: 14.5px; margin: -8px 0 24px; }

/* nav buttons */
.bl-wizard__nav { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.bl-wizard__nav .bl-btn--gold { margin-left: auto; }
.bl-wizard__nav button:disabled { opacity: .35; cursor: not-allowed; transform: none !important; }
.bl-wizard__steplabel { text-align: right; margin: 12px 4px 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bl-faint); }

/* vehicle selection cards */
.bl-vehicles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bl-vehicle { position: relative; display: block; cursor: pointer; }
.bl-vehicle input { position: absolute; opacity: 0; pointer-events: none; }

.bl-vehicle__card {
	position: relative;
	display: flex; flex-direction: column; gap: 12px;
	padding: 16px;
	background: rgba(255,255,255,.025);
	border: 1px solid rgba(233,216,176,.14);
	border-radius: 14px;
	transition: border-color .3s, background .3s, transform .35s, box-shadow .35s;
	height: 100%;
}
.bl-vehicle:hover .bl-vehicle__card { border-color: rgba(201,169,99,.4); transform: translateY(-3px); }

.bl-vehicle__img {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 16/9.5;
	border-radius: 10px;
	background: radial-gradient(70% 80% at 50% 30%, rgba(34,39,48,.75), rgba(15,18,23,.9));
	overflow: hidden;
}
.bl-vehicle__img img {
	max-height: 100%; width: auto; max-width: 88%; object-fit: contain;
	filter: drop-shadow(0 14px 14px rgba(0,0,0,.55));
	transition: transform .45s ease;
}
.bl-vehicle:hover .bl-vehicle__img img { transform: scale(1.05); }

.bl-vehicle__meta { display: flex; flex-direction: column; gap: 2px; padding-right: 30px; }
.bl-vehicle__meta strong { font-family: var(--font-display); font-weight: 500; font-size: 17.5px; color: #eceade; }
.bl-vehicle__meta em { font-style: normal; font-size: 12px; color: var(--bl-muted); }

/* selection tick */
.bl-vehicle__tick {
	position: absolute; top: 22px; right: 22px;
	width: 24px; height: 24px; border-radius: 50%;
	border: 1.5px solid rgba(233,216,176,.3);
	display: flex; align-items: center; justify-content: center;
	color: #16110a; opacity: 0; transform: scale(.6);
	transition: opacity .3s, transform .35s cubic-bezier(.34,1.56,.64,1), background .3s, border-color .3s;
}
.bl-vehicle input:checked + .bl-vehicle__card {
	border-color: var(--bl-gold);
	background: linear-gradient(160deg, rgba(201,169,99,.12), rgba(201,169,99,.04));
	box-shadow: 0 16px 40px -18px rgba(201,169,99,.35);
}
.bl-vehicle input:checked + .bl-vehicle__card .bl-vehicle__tick {
	opacity: 1; transform: scale(1);
	background: var(--bl-gold); border-color: var(--bl-gold);
}
.bl-vehicle input:focus-visible + .bl-vehicle__card { outline: 2px solid var(--bl-gold); outline-offset: 3px; }

.bl-vehicle--any { grid-column: 1 / -1; }
.bl-vehicle--any .bl-vehicle__card { flex-direction: row; align-items: center; }
.bl-vehicle--any .bl-vehicle__meta { flex: 1; }
.bl-vehicle--any .bl-vehicle__tick { position: static; flex: none; opacity: 1; transform: none; color: transparent; }
.bl-vehicle--any input:checked + .bl-vehicle__card .bl-vehicle__tick { color: #16110a; }

/* zelle panel */
.bl-zelle {
	display: flex; gap: 18px; align-items: flex-start;
	margin: 26px 0 6px;
	padding: 24px 26px;
	background: linear-gradient(140deg, rgba(201,169,99,.1), rgba(201,169,99,.03));
	border: 1px solid rgba(201,169,99,.32);
	border-radius: 14px;
}
.bl-zelle__icon {
	flex: none; width: 52px; height: 52px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	color: var(--bl-gold);
	border: 1px solid rgba(201,169,99,.4);
	background: rgba(6,8,11,.5);
}
.bl-zelle__copy h3 { font-size: 19px; margin: 0 0 6px; }
.bl-zelle__copy p { font-size: 14px; color: #c9c6bd; margin: 0 0 4px; }
.bl-zelle__id { font-weight: 700; color: var(--bl-gold-soft); border-bottom: 1px dashed rgba(201,169,99,.5); }
.bl-zelle__note { font-size: 12.5px !important; color: var(--bl-faint) !important; }

/* ==========================================================================
   20. BOOKING SUCCESS PANEL
   ========================================================================== */

.bl-success {
	text-align: center;
	padding: clamp(44px, 6vw, 72px) clamp(24px, 4vw, 60px);
	background: linear-gradient(180deg, var(--bl-panel) 0%, #0c0f14 100%);
	border: 1px solid rgba(201,169,99,.3);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
}
.bl-success__ring {
	width: 96px; height: 96px; margin: 0 auto 30px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: #16110a;
	background: linear-gradient(140deg, #e6cf96, #c9a963);
	box-shadow: 0 0 0 10px rgba(201,169,99,.12), 0 0 0 22px rgba(201,169,99,.05), 0 24px 50px -18px rgba(201,169,99,.5);
	animation: bl-success-pop .6s cubic-bezier(.34,1.56,.64,1) both;
}
.bl-success { text-align: center; }
.bl-success .bl-eyebrow { justify-content: center; margin-bottom: 14px; }
.bl-success__title { font-size: clamp(30px, 4vw, 46px); margin-bottom: 14px; }
.bl-success__lead { color: var(--bl-muted); max-width: 560px; margin: 0 auto 34px; }
.bl-success__lead strong { color: #d8d5cd; }

.bl-success__summary {
	max-width: 460px; margin: 0 auto 36px;
	border: 1px solid var(--bl-line-soft); border-radius: 14px; overflow: hidden;
}
.bl-success__row {
	display: flex; justify-content: space-between; gap: 18px;
	padding: 14px 22px; font-size: 14.5px;
	background: rgba(255,255,255,.02);
	border-bottom: 1px solid var(--bl-line-soft);
}
.bl-success__row:last-child { border-bottom: 0; }
.bl-success__row span { color: var(--bl-muted); }
.bl-success__row strong { color: #ece9e1; font-weight: 600; text-align: right; }
.bl-success__ref { color: var(--bl-gold-soft) !important; letter-spacing: .08em; }

.bl-success__actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* ==========================================================================
   21. FOOTER
   ========================================================================== */

.bl-footer {
	position: relative;
	background: #05070a;
	padding-top: clamp(56px, 6vw, 84px);
}
.bl-footer__hairline {
	position: absolute; top: 0; left: 0; right: 0; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201,169,99,.6), transparent);
}

.bl-footer__grid {
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.25fr;
	gap: clamp(32px, 4vw, 60px);
	padding-bottom: clamp(44px, 5vw, 64px);
}

.bl-footer__logo img { height: 38px; width: auto; margin-bottom: 18px; }
.bl-footer__tag { color: var(--bl-muted); font-size: 14px; max-width: 300px; }
.bl-footer__rating { display: flex; align-items: center; gap: 10px; color: var(--bl-faint); font-size: 13px; }

.bl-footer__heading {
	font-family: var(--font-body); font-size: 12px; font-weight: 700;
	letter-spacing: .28em; text-transform: uppercase;
	color: var(--bl-gold); margin: 6px 0 20px;
}
.bl-footer__links li { margin-bottom: 11px; }
.bl-footer__links a { color: #b9b6ae; font-size: 14.5px; transition: color .25s, padding-left .25s; }
.bl-footer__links a:hover { color: var(--bl-gold-soft); padding-left: 6px; }

.bl-footer__contact li { display: flex; gap: 14px; margin-bottom: 13px; font-size: 14.5px; }
.bl-footer__contact a, .bl-footer__contact span:last-child { color: #c9c6bd; }
.bl-footer__contact a:hover { color: var(--bl-gold-soft); }
.bl-footer__label {
	flex: none; width: 74px;
	font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase;
	color: var(--bl-faint); padding-top: 3px;
}
.bl-footer__cta { margin-top: 10px; }

.bl-footer__bottom {
	border-top: 1px solid rgba(233,216,176,.08);
	padding: 22px 0;
	font-size: 12.5px; color: var(--bl-faint);
}
.bl-footer__bottom-inner { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bl-footer__bottom p { margin: 0; }

/* floating call button (mobile only — CSS shows it) */
.bl-fab-call {
	position: fixed; right: 18px; bottom: 18px; z-index: 800;
	width: 58px; height: 58px; border-radius: 50%;
	display: none;
	align-items: center; justify-content: center;
	background: linear-gradient(140deg, #e6cf96, #c9a963);
	color: #16110a;
	box-shadow: 0 16px 36px -10px rgba(201,169,99,.55);
}
.bl-fab-call:hover { color: #16110a; transform: scale(1.06); }

/* ==========================================================================
   22. ARCHIVE / BLOG / CONTENT / 404
   ========================================================================== */

.bl-archive__list { display: flex; flex-direction: column; gap: 26px; }
.bl-archive__item {
	padding: 34px 36px;
	background: var(--bl-panel); border: 1px solid var(--bl-line-soft);
	border-radius: var(--radius-lg);
}
.bl-archive__title a { color: #f0ede4; font-family: var(--font-display); font-size: 26px; }
.bl-archive__title a:hover { color: var(--bl-gold-soft); }
.bl-archive__meta { color: var(--bl-faint); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; margin: 6px 0 14px; }
.bl-archive__excerpt { color: var(--bl-muted); font-size: 15px; margin-bottom: 16px; }

.bl-archive__pagination { margin-top: 40px; }
.bl-archive__pagination .nav-links { display: flex; gap: 10px; justify-content: center; }
.bl-archive__pagination .page-numbers {
	padding: 10px 18px; border: 1px solid var(--bl-line-soft); border-radius: 8px;
	color: #c9c6bd; font-size: 14px;
}
.bl-archive__pagination .page-numbers.current { border-color: var(--bl-gold); color: var(--bl-gold-soft); }
.bl-archive__pagination .page-numbers:hover { border-color: var(--bl-gold); color: var(--bl-gold-soft); }

/* generic page content */
.bl-entry { color: #cfccc3; font-size: 16.5px; }
.bl-entry h2 { font-size: 30px; margin-top: 1.6em; }
.bl-entry h3 { font-size: 23px; margin-top: 1.4em; }
.bl-entry a { color: var(--bl-gold-soft); border-bottom: 1px solid rgba(201,169,99,.35); }
.bl-entry img { border-radius: var(--radius); }
.bl-entry__thumb { margin-bottom: 30px; }
.bl-entry__thumb img { border-radius: var(--radius-lg); }

/* 404 */
.bl-404__inner { text-align: center; padding: clamp(60px, 9vw, 110px) 0; }
.bl-404__code {
	font-family: var(--font-display); font-size: clamp(110px, 18vw, 200px); line-height: 1;
	background: linear-gradient(160deg, #e9d8b0 20%, #9c7c3f 90%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	margin: 0 0 12px;
}
.bl-404__title { font-size: clamp(28px, 4vw, 42px); margin-bottom: 14px; }
.bl-404 .bl-section__lead { margin-left: auto; margin-right: auto; }
.bl-404 .bl-cta__actions { margin-top: 30px; }

/* fixed-header offset for in-page anchors (no-JS fallback too) */
section[id], main[id], footer[id] { scroll-margin-top: 90px; }

/* ==========================================================================
   21. SERVICE PAGE & DOC-CONTENT COMPONENTS (additive — new sections only)
   ========================================================================== */

/* ---- Quick-facts strip heading ----------------------------------------- */
.bl-quickfacts__head { margin-bottom: 34px; }
.bl-quickfacts__heading { font-size: clamp(26px, 3vw, 38px); margin: 0; }

/* ---- Featured strip heading override (offset text under accent dot) ---- */
.bl-quickfacts__heading em { font-style: italic; }

/* ---- Five service cards ------------------------------------------------- */
.bl-services__grid--five { grid-template-columns: repeat(5, 1fr); }

/* ---- Six trust cards ---------------------------------------------------- */
.bl-why__cards--six { grid-template-columns: repeat(3, 1fr); }
.bl-why__cards--second { margin-top: 22px; }
.bl-why__card h3 { margin: 0 0 10px; }
.bl-why__card p { margin: 0; }

/* ---- Final CTA additions (supporting line + "Ready to Ride?") ----------- */
.bl-cta__lead strong { color: #ded9c8; font-weight: 600; }
.bl-cta__support {
	font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
	color: var(--bl-gold-soft); margin: 0 0 26px;
}
.bl-cta__ready {
	font-family: var(--font-display); font-size: clamp(20px, 2vw, 26px);
	color: #eceade; margin: 0 0 18px;
}

/* ---- Private chauffeur CTA card (replaces old price card) --------------- */
.bl-chauffeur__card-title {
	font-family: var(--font-display); font-size: clamp(24px, 2.2vw, 30px);
	line-height: 1.25; color: #eceade; margin: 0 0 24px;
}
.bl-chauffeur__card--cta { align-self: center; max-width: 380px; }

/* ---- Section copy above airport codes ------------------------------------ */
.bl-airport__copy { max-width: 720px; margin-bottom: 40px; }

/* ---- Service page hero additions ----------------------------------------- */
.bl-pagehero__support {
	margin: 22px 0 0; font-size: 12px; font-weight: 700;
	letter-spacing: .2em; text-transform: uppercase; color: rgba(233,216,176,.75);
}
.bl-pagehero--service .bl-pagehero__inner { padding-top: 30px; padding-bottom: 30px; }

/* ---- Trust strip ---------------------------------------------------------- */
.bl-truststrip {
	background: linear-gradient(180deg, rgba(16,20,26,.85), rgba(11,14,18,.6));
	border-top: 1px solid var(--bl-line-soft);
	border-bottom: 1px solid var(--bl-line-soft);
	padding: 16px 0;
}
.bl-truststrip__line {
	margin: 0; text-align: center; font-size: 12.5px; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase; color: #c9c5b8;
}
.bl-truststrip__line span { color: var(--bl-gold); margin: 0 10px; }

/* ---- Service page prose sections ------------------------------------------- */
.bl-svc--alt { background: var(--bl-coal); border-top: 1px solid var(--bl-line-soft); border-bottom: 1px solid var(--bl-line-soft); }
.bl-svc__prose p { color: var(--bl-muted); font-size: clamp(15.5px, 1.3vw, 17px); line-height: 1.8; margin: 0 0 1.1em; }
.bl-svc__prose--gap { margin-top: 28px; }
.bl-svc__prose strong { color: #ded9c8; }

/* bullet lists (includes / routes) */
.bl-svc__list {
	columns: 2; column-gap: 44px;
	margin: 0 0 8px; padding: 0; list-style: none;
}
.bl-svc__list li {
	break-inside: avoid; position: relative;
	padding: 9px 0 9px 26px; font-size: 15px; line-height: 1.55; color: #c9c5b8;
	border-bottom: 1px dashed rgba(233,216,176,.1);
}
.bl-svc__list li::before {
	content: ""; position: absolute; left: 4px; top: 17px;
	width: 8px; height: 8px; transform: rotate(45deg);
	background: var(--bl-gold); opacity: .85;
}
.bl-svc__note { margin-top: 26px; color: var(--bl-muted); font-style: italic; font-size: 14.5px; }
.bl-svc__note--center { text-align: center; }

/* airport "cards" variant (richer layout on service pages) */
.bl-airport__codes--cards {
	display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
	list-style: none; padding: 0; margin: 0;
}
.bl-airport__codes--cards li {
	align-items: flex-start; border-radius: var(--radius-lg); padding: 22px 24px;
	background: linear-gradient(180deg, var(--bl-panel), #0d1117);
}
.bl-airport__codes--cards li > div { display: flex; flex-direction: column; gap: 6px; margin-left: 4px; }
.bl-airport__codes--cards strong { font-family: var(--font-display); font-size: 16.5px; color: #eceade; letter-spacing: .02em; }
.bl-airport__codes--cards em { font-size: 14px; line-height: 1.6; }
.bl-airport__codes--cards span { min-width: 58px; height: 46px; padding: 0 10px; font-size: 15px; }
.bl-airport__codes--cruise { grid-template-columns: repeat(3, 1fr); }

/* vehicle photo strip on service pages */
.bl-svc__vehicles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; }
.bl-svc__vehicle {
	margin: 0; overflow: hidden; border-radius: var(--radius-lg);
	border: 1px solid var(--bl-line-soft); background: var(--bl-panel);
}
.bl-svc__vehicle img { display: block; width: 100%; height: 220px; object-fit: cover; }

/* numbered steps */
.bl-steps {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
	margin: 0; padding: 0; list-style: none;
}
.bl-steps__step {
	position: relative; padding: 30px 24px 26px;
	background: linear-gradient(180deg, var(--bl-panel), #0d1117);
	border: 1px solid var(--bl-line-soft); border-radius: var(--radius-lg);
}
.bl-steps__step h3 { margin: 16px 0 10px; font-size: 18px; }
.bl-steps__step p { margin: 0; font-size: 14px; color: var(--bl-muted); line-height: 1.65; }
.bl-steps__num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	font-family: var(--font-display); font-size: 19px; color: var(--bl-gold-soft);
	background: linear-gradient(140deg, rgba(233,216,176,.14), rgba(201,169,99,.06));
	border: 1px solid rgba(201,169,99,.35);
}

/* comparison table (private service vs rideshare) */
.bl-cmp { overflow-x: auto; border: 1px solid var(--bl-line-soft); border-radius: var(--radius-lg); }
.bl-cmp table { width: 100%; border-collapse: collapse; min-width: 520px; }
.bl-cmp th, .bl-cmp td { padding: 16px 22px; text-align: left; font-size: 15px; }
.bl-cmp th {
	font-family: var(--font-display); letter-spacing: .04em; font-size: 17px;
	color: var(--bl-gold-soft); background: rgba(201,169,99,.08);
	border-bottom: 1px solid rgba(201,169,99,.25);
}
.bl-cmp td { color: #c9c5b8; border-bottom: 1px dashed rgba(233,216,176,.1); }
.bl-cmp tr:last-child td { border-bottom: none; }
.bl-cmp td:nth-child(odd) { color: #ded9c8; }

/* FAQ accordion (native details/summary — works without JS) */
.bl-faq__list { display: flex; flex-direction: column; gap: 14px; }
.bl-faq__item {
	background: linear-gradient(180deg, var(--bl-panel), #0d1117);
	border: 1px solid var(--bl-line-soft); border-radius: var(--radius-lg);
}
.bl-faq__item[open] { border-color: rgba(201,169,99,.35); }
.bl-faq__item summary {
	position: relative; display: block; cursor: pointer; list-style: none;
	padding: 20px 60px 20px 26px;
	font-family: var(--font-display); font-size: clamp(16px, 1.5vw, 18.5px);
	letter-spacing: .02em; color: #eceade;
}
.bl-faq__item summary::-webkit-details-marker { display: none; }
.bl-faq__icon { position: absolute; right: 24px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); }
.bl-faq__icon::before, .bl-faq__icon::after {
	content: ""; position: absolute; background: var(--bl-gold); border-radius: 2px;
	transition: transform .3s;
}
.bl-faq__icon::before { left: 0; top: 7px; width: 16px; height: 2px; }
.bl-faq__icon::after { left: 7px; top: 0; width: 2px; height: 16px; }
.bl-faq__item[open] .bl-faq__icon::after { transform: scaleY(0); }
.bl-faq__answer { padding: 0 26px 22px; }
.bl-faq__answer p { margin: 0; color: var(--bl-muted); font-size: 15px; line-height: 1.75; }

/* Explore-more links + local footer text (airport page, per doc) */
.bl-svc--explore { background: var(--bl-black); }
.bl-svc__explore { border-top: 1px dashed rgba(233,216,176,.18); padding-top: 34px; margin-bottom: 40px; }
.bl-svc__explore-title { font-family: var(--font-display); font-size: clamp(20px, 2vw, 26px); color: #eceade; margin: 0 0 14px; }
.bl-svc__explore p { margin: 0; font-size: 14.5px; color: var(--bl-muted); }
.bl-svc__explore a { color: var(--bl-gold-soft); text-decoration: none; }
.bl-svc__explore a:hover { color: #fff; text-decoration: underline; }
.bl-svc__local { border-top: 1px dashed rgba(233,216,176,.18); padding-top: 30px; }
.bl-svc__local-line { color: #ded9c8; }
