/**
 * Al Haram Rent A Car (RAC) — Premium Gold + Black brand UI.
 *
 * Brand palette (v4 — refined luxury, logo-derived):
 *   Gold #C7A447 · Dark Gold #A07E2E · Soft Gold #E4C868
 *   Deep Black #0B0B0B · Charcoal #161616 · Warm White #FAFAF8 · Soft Gray #F6F6F4
 *   Gold is an ACCENT only (buttons, borders, icons, hovers) — never large flat fills.
 */
:root {
  /* Primary Colors — refined, less-saturated luxury gold */
  --ah-gold: #C7A447;
  --ah-gold-dark: #A07E2E;
  --ah-gold-light: #E4C868;
  --ah-gold-rgb: 199,164,71;
  --ah-black: #0B0B0B;
  --ah-charcoal: #161616;
  --ah-white: #ffffff;

  /* Legacy aliases (existing code paints via these — remapped to new gold) */
  --ah-blue: #C7A447;
  --ah-blue-dark: #A07E2E;
  --ah-blue-light: #E4C868;
  --ah-orange: #C7A447;
  --ah-orange-dark: #A07E2E;
  --ah-orange-light: #E4C868;
  --ah-navy: #0B0B0B;

  /* Neutral Colors — warm, premium */
  --ah-cream: #FAFAF8;
  --ah-light: #F6F6F4;
  --ah-surface: #F6F6F4;
  --ah-muted: #777777;
  --ah-dark: #1C1C1C;
  --ah-wa: #25D366;

  /* Typography */
  --ah-font-display: 'Poppins', sans-serif;
  --ah-font-body: 'Open Sans', sans-serif;

  /* ── Type scale ──────────────────────────────────────────────
     ONE ramp for the whole theme. Every heading picks a step from
     here — never invent a new clamp() in a component rule, or the
     page ends up with a dozen near-but-not-quite-equal sizes (which
     is exactly what this replaced: section titles ranged from
     2.15rem to 4.5rem for the same visual role).
       display → full-bleed hero titles
       h1      → inner-page hero titles
       h2      → every section heading, light or dark
       h2-sm   → secondary//boxed headings (footer CTA, office card)
       h3      → card and modal titles
       h4      → small card titles inside dense grids
       stat    → big numeric counters
     ─────────────────────────────────────────────────────────── */
  --ah-fs-display: clamp(2.2rem, 4.8vw, 3.6rem);
  --ah-fs-h1: clamp(2.15rem, 4.4vw, 3.2rem);
  --ah-fs-h2: clamp(1.95rem, 3.7vw, 2.9rem);
  --ah-fs-h2-sm: clamp(1.6rem, 2.8vw, 2.15rem);
  --ah-fs-h3: clamp(1.3rem, 2.1vw, 1.65rem);
  --ah-fs-h4: clamp(1.02rem, 1.5vw, 1.15rem);
  --ah-fs-stat: clamp(1.9rem, 3.6vw, 2.7rem);
  /* Editorial serif for the team cards. Intentionally a system stack, not a
     webfont: the theme already loads two Google families and a third request
     would cost more than the section gains. Swap the first entry for
     'Playfair Display' (and add it to the fonts enqueue in functions.php) if a
     sharper display serif is wanted. */
  --ah-font-serif: Georgia, 'Iowan Old Style', 'Times New Roman', Times, serif;

  /* Effects & Layout */
  --ah-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ah-radius: 16px;
  --ah-radius-lg: 24px;
  --ah-container: 1200px;
  --ah-site-header-h: 7.5rem;
}

body.ah-theme { font-family: var(--ah-font-body); color: var(--ah-dark); background: var(--ah-white); opacity: 0; transition: opacity 0.45s var(--ah-ease); }
body.ah-theme.ah-loaded { opacity: 1; }
.ah-container { width: min(100% - 2rem, var(--ah-container)); margin-inline: auto; }
.ah-skip { position: absolute; left: -9999px; }
.ah-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 9999; background: var(--ah-orange); color: #fff; padding: 0.5rem 1rem; border-radius: 8px; }

/* Site header — fixed on all pages */
.ah-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	transition: box-shadow 0.35s var(--ah-ease);
}
.ah-site-header.is-stuck {
	box-shadow: 0 10px 32px rgba(0,0,0,0.45);
}
/* Slim the header when stuck: the announcement bar slides away so only the
   nav stays, for a sleeker scrolled state. */
.ah-topbar {
	max-height: 46px;
	overflow: hidden;
	transition: max-height 0.45s var(--ah-ease), min-height 0.45s var(--ah-ease), opacity 0.3s var(--ah-ease);
}
.ah-site-header.is-stuck .ah-topbar {
	max-height: 0;
	min-height: 0; /* must beat the base min-height:38px, or it never collapses */
	opacity: 0;
	border-bottom-color: transparent;
}

/* Top marquee bar — sleek dark strip with gold accents (no gold background) */
.ah-topbar {
	display: flex;
	align-items: stretch;
	background: linear-gradient(90deg, #0a0a0a, #181818);
	color: rgba(255,255,255,0.72);
	font-size: 0.76rem;
	font-weight: 500;
	min-height: 38px;
	border-bottom: 1px solid rgba(var(--ah-gold-rgb), 0.18);
}
.ah-topbar__marquee {
	flex: 1;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.ah-topbar__track {
	display: flex;
	width: max-content;
	align-items: center;
	animation: ah-marquee-scroll 38s linear infinite;
	will-change: transform;
}
.ah-topbar__marquee:hover .ah-topbar__track {
	animation-play-state: paused;
}
.ah-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 1.75rem;
	white-space: nowrap;
	letter-spacing: 0.01em;
}
.ah-topbar__item::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ah-gold);
	flex-shrink: 0;
}
@keyframes ah-marquee-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.ah-topbar__track { animation: none; flex-wrap: wrap; width: 100%; justify-content: center; }
}
.ah-topbar__aside {
	display: none;
	align-items: center;
	gap: 1.35rem;
	padding: 0 1.4rem;
	background: rgba(255,255,255,0.03);
	border-left: 1px solid rgba(var(--ah-gold-rgb), 0.18);
	flex-shrink: 0;
	font-size: 0.74rem;
}
.ah-topbar__aside a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
	transition: color 0.25s var(--ah-ease);
}
.ah-topbar__aside a i { color: var(--ah-gold-light); }
.ah-topbar__aside a:hover { color: var(--ah-gold-light); }

/* Main header */
.ah-header {
	position: relative;
	top: 0;
	background: rgba(15,15,15,0.98);
	backdrop-filter: blur(14px);
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(90deg, transparent, var(--ah-gold) 20%, var(--ah-gold-light) 50%, var(--ah-gold) 80%, transparent) 1;
}
.ah-header__main {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 0.7rem 0;
}
@media (min-width: 1024px) {
	.ah-header__main {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 1.5rem;
		padding: 0.75rem 0;
	}
}
.ah-logo { flex-shrink: 0; }
.ah-logo img {
	height: 58px;
	width: auto;
	max-width: min(220px, 42vw);
	display: block;
	filter: drop-shadow(0 2px 8px rgba(0,0,0,0.35));
}
@media (min-width: 1024px) {
	.ah-logo img { height: 72px; max-width: 240px; }
}
.ah-nav { display: none; }
@media (min-width: 1024px) {
	.ah-header .ah-nav {
		display: flex;
		justify-content: center;
		justify-self: center;
		min-width: 0;
	}
	/* Matches both the fallback markup and the `ah-nav__list` menu_class that
	   wp_nav_menu puts on `ul#menu-primary-menu` when a menu is assigned. */
	.ah-header .ah-nav .ah-nav__list,
	.ah-header .ah-nav > ul {
		display: flex;
		align-items: center;
		gap: 1.9rem;
		list-style: none;
		margin: 0;
		padding: 0;
		flex-wrap: nowrap;
	}
	.ah-header .ah-nav li { margin: 0; padding: 0; display: block; }
	/* Plain text links — no pill, no chrome. The only decoration is a gold
	   underline that grows from the centre, shared by hover and the current
	   page (the current page just keeps it on). */
	.ah-header .ah-nav a {
		position: relative;
		display: block;
		padding: 0.35rem 0;
		color: rgba(255,255,255,0.9);
		font-family: var(--ah-font-display);
		font-weight: 600;
		font-size: 0.95rem;
		text-decoration: none;
		white-space: nowrap;
		background: none;
		border-radius: 0;
		box-shadow: none;
		transition: color 0.25s var(--ah-ease);
	}
	.ah-header .ah-nav a::after {
		content: '';
		position: absolute;
		left: 50%;
		right: auto;
		bottom: 0;
		width: 0;
		height: 2px;
		border-radius: 2px;
		background: var(--ah-gold);
		transform: translateX(-50%);
		transition: width 0.3s var(--ah-ease);
	}
	.ah-header .ah-nav a:hover,
	.ah-header .ah-nav .current-menu-item > a,
	.ah-header .ah-nav .current_page_item > a,
	.ah-header .ah-nav a[aria-current="page"] { color: var(--ah-gold-light); }

	.ah-header .ah-nav a:hover::after,
	.ah-header .ah-nav .current-menu-item > a::after,
	.ah-header .ah-nav .current_page_item > a::after,
	.ah-header .ah-nav a[aria-current="page"]::after { width: 100%; }
}
.ah-header__actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
	justify-self: end;
}
.ah-phone-chip {
	align-items: center;
	gap: 0.4rem;
	color: rgba(255,255,255,0.92);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}
.ah-phone-chip i { color: var(--ah-orange); }
.ah-phone-chip:hover { color: #fff; }

@media (min-width: 768px) {
	.ah-topbar__aside { display: flex; }
}

/* Buttons */
.ah-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 3rem;
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.88rem;
	padding: 0 1.6rem;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.3s var(--ah-ease), box-shadow 0.3s var(--ah-ease), background 0.3s var(--ah-ease), border-color 0.3s var(--ah-ease), color 0.3s var(--ah-ease);
}
.ah-btn i, .ah-btn svg { flex-shrink: 0; }
.ah-btn:hover { transform: translateY(-2px); }
.ah-btn:active { transform: translateY(0); }
.ah-btn--orange { background: var(--ah-orange); color: #fff; box-shadow: 0 10px 24px rgba(245,130,32,0.35); }
.ah-btn--orange:hover { background: var(--ah-orange-dark); box-shadow: 0 14px 32px rgba(245,130,32,0.45); }
.ah-btn--blue { background: var(--ah-blue); color: #fff; box-shadow: 0 10px 24px rgba(27,79,156,0.3); }
.ah-btn--blue:hover { background: var(--ah-blue-dark); box-shadow: 0 14px 32px rgba(27,79,156,0.4); }
.ah-btn--wa { background: var(--ah-wa); color: #fff; box-shadow: 0 10px 24px rgba(37,211,102,0.3); }
.ah-btn--wa:hover { background: #1ea952; box-shadow: 0 14px 32px rgba(37,211,102,0.45); }
.ah-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.ah-btn--outline-light:hover { background: #fff; border-color: #fff; color: var(--ah-black); }
.ah-btn--outline-gold { background: transparent; color: var(--ah-gold-dark); border-color: var(--ah-gold); }
.ah-btn--outline-gold:hover { background: var(--ah-gold); color: #fff; box-shadow: 0 10px 24px rgba(212,175,55,0.35); }
.ah-btn--sm { min-height: 2.5rem; padding: 0 1.15rem; font-size: 0.8rem; }

/* Hero */
/* ── Editorial hero gallery ─────────────────────────────── */
.ah-editorial-hero {
	position: relative;
	height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: calc(var(--ah-site-header-h) + 0.85rem) 0 0.85rem;
	color: #fff;
	background: var(--ah-blue-dark);
	isolation: isolate;
}

/* Full-width parallax background */
.ah-editorial-hero__parallax {
	position: absolute;
	inset: 0;
	width: 100vw;
	max-width: 100vw;
	left: 50%;
	margin-left: -50vw;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.ah-editorial-hero__parallax-track {
	position: absolute;
	inset: -22% 0;
	will-change: transform;
}
.ah-editorial-hero__parallax-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.9s ease;
}
.ah-editorial-hero__parallax-slide.is-active { opacity: 1; }
.ah-editorial-hero__parallax-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 55%;
	transform: scale(1.12);
}
.ah-editorial-hero__parallax-shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(105deg, rgba(10,10,10,0.94) 0%, rgba(26,26,26,0.82) 40%, rgba(45,42,35,0.5) 72%, rgba(10,10,10,0.32) 100%),
		linear-gradient(to top, rgba(10,10,10,0.9) 0%, transparent 38%);
}

.ah-editorial-hero__brand,
.ah-editorial-hero__tag { display: none !important; }

.ah-editorial-hero__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	flex-shrink: 0;
}
.ah-editorial-hero__arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.08);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
	backdrop-filter: blur(8px);
}
.ah-editorial-hero__arrow:hover {
	background: rgba(255,255,255,0.14);
	border-color: rgba(255,255,255,0.35);
}
.ah-editorial-hero__arrow:active {
	background: var(--ah-orange);
	border-color: var(--ah-orange);
}
.ah-editorial-hero__arrow svg { width: 17px; height: 17px; }
.ah-editorial-hero__counter {
	display: flex;
	align-items: baseline;
	gap: 0.15rem;
	font-family: var(--ah-font-display);
	font-weight: 700;
	min-width: 4rem;
	justify-content: center;
	padding: 0 0.35rem;
}
.ah-editorial-hero__counter-current { font-size: 1.5rem; color: var(--ah-orange); }
.ah-editorial-hero__counter-sep { opacity: 0.4; font-size: 0.9rem; }
.ah-editorial-hero__counter-total { font-size: 0.9rem; opacity: 0.55; }

.ah-editorial-hero__stage {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	min-height: 0;
	display: grid;
	gap: 1rem 1.5rem;
	align-items: center;
	padding-bottom: 0.5rem;
	overflow: hidden;
}
@media (min-width: 1024px) {
	.ah-editorial-hero__stage {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
		gap: 1rem 2rem;
	}
}

.ah-editorial-hero__panels {
	position: relative;
	min-height: 0;
	height: 100%;
	display: flex;
	align-items: center;
}
.ah-editorial-hero__panel {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
}
.ah-editorial-hero__panel.is-active { opacity: 1; pointer-events: auto; position: relative; width: 100%; }
.ah-editorial-hero__eyebrow {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ah-orange);
	margin-bottom: 0.5rem;
}
.ah-editorial-hero__title {
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: var(--ah-fs-display);
	line-height: 1.05;
	margin: 0 0 0.65rem;
	letter-spacing: -0.02em;
}
.ah-editorial-hero__desc {
	color: rgba(255,255,255,0.78);
	line-height: 1.65;
	max-width: 32rem;
	margin: 0 0 0.85rem;
	font-size: clamp(0.88rem, 1.6vw, 0.98rem);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ah-editorial-hero__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0 0 0.85rem;
	padding: 0.65rem 0;
	border-top: 1px solid rgba(255,255,255,0.12);
	border-bottom: 1px solid rgba(255,255,255,0.12);
}
.ah-editorial-hero__meta dt {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.45);
	margin-bottom: 0.25rem;
}
.ah-editorial-hero__meta dd {
	margin: 0;
	font-family: var(--ah-font-display);
	font-weight: 600;
	font-size: 0.88rem;
}
.ah-editorial-hero__meta dd small { font-weight: 500; opacity: 0.65; font-size: 0.75rem; }
.ah-editorial-hero__actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-bottom: 0.75rem; }
.ah-editorial-hero__cta { position: relative; display: inline-flex; align-items: center; gap: 0.5rem; box-shadow: 0 10px 30px rgba(var(--ah-gold-rgb),0.35); }
.ah-editorial-hero__cta:hover { box-shadow: 0 14px 42px rgba(var(--ah-gold-rgb),0.5); }
.ah-editorial-hero__cta svg { width: 18px; height: 18px; transition: transform 0.3s var(--ah-ease); }
.ah-editorial-hero__cta:hover svg { transform: translateX(4px); }
/* Stats rendered as a frosted-glass strip */
.ah-editorial-hero__stats {
	display: inline-flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	padding: 0.85rem 1.4rem;
	border-radius: 14px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	-webkit-backdrop-filter: blur(10px);
	        backdrop-filter: blur(10px);
}
.ah-editorial-hero__stats > div { position: relative; }
.ah-editorial-hero__stats > div + div::before {
	content: '';
	position: absolute;
	left: -0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 62%;
	background: rgba(255,255,255,0.15);
}
.ah-editorial-hero__stats strong {
	display: block;
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--ah-gold-light);
	line-height: 1;
}
.ah-editorial-hero__stats span { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.55); }

.ah-editorial-hero__media {
	position: relative;
	min-height: 0;
	height: 100%;
	max-height: 100%;
}
@media (min-width: 1024px) {
	.ah-editorial-hero__media { margin-right: max(-3vw, -2rem); }
}
.ah-editorial-hero__visual {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}
.ah-editorial-hero__visual.is-active { opacity: 1; pointer-events: auto; }
.ah-editorial-hero__visual-inner {
	width: 100%;
	height: 100%;
	will-change: transform;
}
.ah-editorial-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 40px 80px rgba(0,0,0,0.5));
}
@media (min-width: 1024px) {
	.ah-editorial-hero__visual img {
		width: 115%;
		max-width: none;
		margin-left: auto;
		display: block;
	}
}
.ah-editorial-hero__glow {
	position: absolute;
	bottom: 8%;
	left: 50%;
	transform: translateX(-50%);
	width: 70%;
	height: 40%;
	background: radial-gradient(ellipse, rgba(var(--ah-gold-rgb),0.25) 0%, transparent 70%);
	pointer-events: none;
}

/* Ambient floating gold particles — CSS-only, GPU transform, reduced-motion safe */
.ah-editorial-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		radial-gradient(2px 2px at 18% 32%, rgba(228,200,104,0.55), transparent),
		radial-gradient(1.5px 1.5px at 68% 58%, rgba(228,200,104,0.4), transparent),
		radial-gradient(1.5px 1.5px at 42% 78%, rgba(255,255,255,0.28), transparent),
		radial-gradient(2px 2px at 84% 24%, rgba(228,200,104,0.4), transparent),
		radial-gradient(1px 1px at 55% 42%, rgba(255,255,255,0.22), transparent),
		radial-gradient(1.5px 1.5px at 30% 62%, rgba(228,200,104,0.3), transparent),
		radial-gradient(1px 1px at 76% 72%, rgba(255,255,255,0.2), transparent);
	background-repeat: no-repeat;
	animation: ah-hero-particles 16s ease-in-out infinite alternate;
	opacity: 0.75;
}
@keyframes ah-hero-particles {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(0, -20px, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.ah-editorial-hero::before { animation: none; }
}

.ah-editorial-hero__footer {
	position: relative;
	z-index: 4;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.35rem;
}
.ah-editorial-hero__thumbs {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	flex: 1 1 auto;
	min-width: 0;
	justify-content: flex-start;
	scrollbar-width: thin;
	padding-bottom: 0.15rem;
}
.ah-editorial-hero__thumb {
	flex: 0 0 auto;
	width: 76px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 10px;
	background: rgba(255,255,255,0.04);
	padding: 0;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.55;
	transition: border-color 0.2s ease, opacity 0.2s ease;
}
.ah-editorial-hero__thumb img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.ah-editorial-hero__thumb span {
	display: block;
	font-size: 0.58rem;
	padding: 0.28rem 0.3rem;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: rgba(255,255,255,0.65);
}
.ah-editorial-hero__thumb:hover {
	opacity: 0.85;
	border-color: rgba(255,255,255,0.4);
}
.ah-editorial-hero__thumb.is-active {
	opacity: 1;
	border-color: var(--ah-orange);
	border-width: 2px;
}

@media (max-width: 1023px) {
	.ah-editorial-hero {
		padding-top: calc(var(--ah-site-header-h) + 0.65rem);
		padding-bottom: 0.65rem;
	}
	.ah-editorial-hero__meta { grid-template-columns: 1fr 1fr; }
	.ah-editorial-hero__thumb { width: 64px; }
	.ah-editorial-hero__thumb span { display: none; }
	.ah-editorial-hero__arrow { width: 36px; height: 36px; }
	.ah-editorial-hero__counter-current { font-size: 1.25rem; }
}

/* ── Full-width parallax strips ─────────────────────────── */
.ah-parallax-strip {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	left: 50%;
	margin-left: -50vw;
	min-height: clamp(300px, 44vh, 460px);
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
}
.ah-parallax-strip__media {
	position: absolute;
	inset: -28% 0;
	z-index: 0;
	overflow: hidden;
}
.ah-parallax-strip__layer {
	width: 100%;
	height: 100%;
	will-change: transform;
}
.ah-parallax-strip__layer img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.1);
}
.ah-parallax-strip__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(10,10,10,0.9) 0%, rgba(26,26,26,0.75) 45%, rgba(45,45,45,0.6) 100%),
		radial-gradient(ellipse 60% 80% at 80% 50%, rgba(212,175,55,0.18) 0%, transparent 60%);
}
.ah-parallax-strip__inner {
	position: relative;
	z-index: 2;
	padding: clamp(3rem, 8vw, 5rem) 0;
	text-align: center;
	max-width: 42rem;
}
.ah-parallax-strip__eyebrow {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ah-orange);
	margin-bottom: 0.65rem;
}
.ah-parallax-strip__title {
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: var(--ah-fs-h2);
	line-height: 1.12;
	margin: 0 0 0.75rem;
}
.ah-parallax-strip__text {
	margin: 0 0 1.35rem;
	color: rgba(255,255,255,0.82);
	line-height: 1.7;
	font-size: 1.02rem;
}

/* Legacy hero (unused) */
.ah-hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; padding: 120px 0 4rem; }
.ah-hero-swiper { position: absolute; inset: 0; z-index: 0; }
.ah-hero-swiper .swiper-slide { height: auto; }
.ah-hero-swiper .swiper-slide img { width: 100%; height: 100%; min-height: 100vh; object-fit: cover; display: block; }
.ah-hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(105deg, rgba(21,62,122,0.9) 0%, rgba(27,79,156,0.72) 45%, rgba(30,41,59,0.5) 100%); pointer-events: none; }
.ah-hero__grid { position: relative; z-index: 2; display: grid; gap: 2.5rem; align-items: center; }
.ah-hero__pagination { position: absolute; bottom: 1.25rem; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; gap: 0.4rem; }
.ah-hero__pagination .swiper-pagination-bullet { width: 10px; height: 10px; background: rgba(255,255,255,0.45); opacity: 1; margin: 0 !important; }
.ah-hero__pagination .swiper-pagination-bullet-active { background: var(--ah-orange); width: 28px; border-radius: 999px; }
@media (min-width: 1024px) { .ah-hero__grid { grid-template-columns: 1.1fr 0.9fr; } }
.ah-label { font-size: 0.82rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ah-orange); font-weight: 700; margin-bottom: 0.9rem; display: block; }
.ah-label--light { color: var(--ah-orange); }
.ah-hero__title { font-family: var(--ah-font-display); font-weight: 800; line-height: 1.05; font-size: var(--ah-fs-display); color: #fff; margin: 0 0 0.75rem; }
.ah-hero__title em { display: block; font-style: normal; color: var(--ah-orange); font-size: 0.72em; margin-top: 0.25rem; }
.ah-hero__sub { color: rgba(255,255,255,0.9); font-family: var(--ah-font-display); font-weight: 600; font-size: 1.05rem; margin: 0 0 0.75rem; }
.ah-hero__lead { color: rgba(255,255,255,0.78); line-height: 1.75; max-width: 34rem; margin-bottom: 1.5rem; }
.ah-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.75rem; }
.ah-hero__stats { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.ah-hero__stat strong { display: block; font-family: var(--ah-font-display); font-size: 1.6rem; color: var(--ah-orange); line-height: 1; }
.ah-hero__stat span { font-size: 0.72rem; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 0.08em; }
.ah-hero__badge { background: #fff; border-radius: var(--ah-radius); padding: 1.5rem; text-align: center; box-shadow: 0 24px 48px rgba(0,0,0,0.25); max-width: 280px; margin-inline: auto; }
.ah-hero__badge-tag { display: block; font-family: var(--ah-font-display); font-weight: 700; font-size: 0.82rem; color: var(--ah-blue); margin-bottom: 0.75rem; }
.ah-hero__badge-logo { margin: 0 auto 0.75rem; }
.ah-hero__badge p { margin: 0; font-size: 0.82rem; color: var(--ah-muted); }

/* Sections */
.ah-section { padding: 5rem 0; }
.ah-section--compact { padding: 3.5rem 0 0; }
.ah-section--light { background: var(--ah-light); }
.ah-section--blue { background: var(--ah-blue); color: #fff; }
.ah-section--orange-band { padding: 0; }
/* Display scale — headings run noticeably larger than the old 2.9rem cap so
   section titles carry the page the way the hero does. `text-wrap: balance`
   keeps the extra size from leaving a one-word orphan line. */
.ah-heading { font-family: var(--ah-font-display); font-weight: 800; line-height: 1.08; font-size: var(--ah-fs-h2); letter-spacing: -0.02em; margin: 0 0 1rem; color: var(--ah-dark); text-wrap: balance; }
.ah-heading--light { color: #fff; }
.ah-heading--sm { font-size: var(--ah-fs-h2-sm); }
.ah-section__lead { color: var(--ah-muted); max-width: 40rem; margin: 0 auto 2rem; font-size: 1.08rem; line-height: 1.75; text-align: center; }

/* Packages */
.ah-packages { display: grid; gap: 1.25rem; margin-top: 2rem; }
@media (min-width: 768px) { .ah-packages { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ah-packages { grid-template-columns: repeat(4, 1fr); } }
.ah-package-card { position: relative; overflow: hidden; background: var(--ah-white); border: 1px solid rgba(0,0,0,0.06); border-radius: var(--ah-radius-lg); padding: 2rem 1.4rem 1.75rem; text-align: center; transition: box-shadow 0.4s var(--ah-ease), transform 0.4s var(--ah-ease), border-color 0.4s var(--ah-ease); }
.ah-package-card:hover { box-shadow: 0 24px 50px rgba(11,11,11,0.1); transform: translateY(-8px); border-color: rgba(var(--ah-gold-rgb),0.35); }
.ah-package-card__icon { width: 60px; height: 60px; margin: 0 auto 1.15rem; border-radius: 18px; background: linear-gradient(145deg, rgba(var(--ah-gold-rgb),0.16), rgba(var(--ah-gold-rgb),0.05)); border: 1px solid rgba(var(--ah-gold-rgb),0.25); color: var(--ah-gold-dark); display: grid; place-items: center; transition: transform 0.4s var(--ah-ease), background 0.4s var(--ah-ease), color 0.4s var(--ah-ease); }
.ah-package-card:hover .ah-package-card__icon { transform: scale(1.08) translateY(-2px); background: linear-gradient(145deg, var(--ah-gold), var(--ah-gold-dark)); color: #fff; }
.ah-package-card:hover .ah-package-card__icon { transform: scale(1.08) rotate(-4deg); }
.ah-package-card__title { font-family: var(--ah-font-display); font-weight: 700; font-size: var(--ah-fs-h4); margin: 0 0 0.5rem; color: var(--ah-black); }
.ah-package-card__desc { font-size: 0.85rem; color: var(--ah-muted); margin: 0 0 1rem; line-height: 1.6; }

/* Trust band */
/* Why choose us — block cards */
.ah-trust-blocks {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.ah-trust-blocks { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ah-trust-blocks { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
}
.ah-trust-block {
	position: relative;
	overflow: hidden;
	background: var(--ah-white);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: var(--ah-radius-lg);
	padding: 2rem 1.6rem 1.75rem;
	box-shadow: 0 10px 30px rgba(0,0,0,0.05);
	transition: transform 0.4s var(--ah-ease), box-shadow 0.4s var(--ah-ease), border-color 0.4s var(--ah-ease);
}
/* Gold gradient hairline border, revealed on hover (masked ring) */
.ah-trust-block::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(140deg, rgba(var(--ah-gold-rgb),0.7), transparent 45%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.4s var(--ah-ease);
	pointer-events: none;
}
.ah-trust-block:hover {
	transform: translateY(-8px);
	box-shadow: 0 26px 52px rgba(11,11,11,0.12);
	border-color: transparent;
}
.ah-trust-block:hover::before { opacity: 1; }
.ah-trust-block__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}
.ah-trust-block__icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(var(--ah-gold-rgb),0.16), rgba(var(--ah-gold-rgb),0.05));
	border: 1px solid rgba(var(--ah-gold-rgb),0.25);
	color: var(--ah-gold-dark);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	transition: transform 0.4s var(--ah-ease), background 0.4s var(--ah-ease), color 0.4s var(--ah-ease);
}
.ah-trust-block:hover .ah-trust-block__icon {
	transform: scale(1.06);
	background: linear-gradient(145deg, var(--ah-gold), var(--ah-gold-dark));
	color: #fff;
}
.ah-trust-block__num {
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: -0.03em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(var(--ah-gold-rgb),0.35);
	transition: -webkit-text-stroke-color 0.4s var(--ah-ease);
}
.ah-trust-block:hover .ah-trust-block__num { -webkit-text-stroke-color: rgba(var(--ah-gold-rgb),0.65); }
.ah-trust-block__title {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: var(--ah-fs-h4);
	color: var(--ah-dark);
	margin: 0 0 0.55rem;
	line-height: 1.3;
}
.ah-trust-block__desc {
	margin: 0;
	font-size: 0.9rem;
	color: var(--ah-muted);
	line-height: 1.65;
}

/* Fleet */
.ah-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.75rem; justify-content: center; }
.ah-tab { padding: 0.5rem 1.1rem; border-radius: 999px; border: 1px solid #cbd5e1; background: #fff; font-size: 0.82rem; font-weight: 700; cursor: pointer; font-family: var(--ah-font-display); color: var(--ah-blue); transition: all 0.25s; }
.ah-tab.is-active { background: var(--ah-blue); color: #fff; border-color: var(--ah-blue); }
/* Fleet Section Header */
.ah-fleet-header { text-align: center; margin-bottom: 2.5rem; }
.ah-fleet-header__desc { font-size: 1.08rem; color: var(--ah-muted); margin: 1rem auto 0; max-width: 640px; line-height: 1.75; }

/* Category Filters — one inset "rail" holding the tabs, so the row reads as a
   single segmented control instead of loose floating pills. On narrow screens
   the rail scrolls horizontally rather than wrapping to three ragged lines. */
.ah-fleet-filters {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
}
.ah-fleet-tabs {
	display: flex;
	gap: 0.3rem;
	justify-content: flex-start;
	max-width: 100%;
	padding: 0.4rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #fff, var(--ah-light));
	border: 1px solid rgba(var(--ah-gold-rgb), 0.22);
	box-shadow: 0 10px 30px rgba(11,11,11,0.07), inset 0 1px 0 #fff;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.ah-fleet-tabs::-webkit-scrollbar { display: none; }
@media (min-width: 900px) {
	.ah-fleet-tabs { flex-wrap: wrap; justify-content: center; overflow: visible; }
}
.ah-tabs--large { gap: 1rem; flex-wrap: wrap; }
.ah-tab--fleet {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	padding: 0.7rem 1.4rem;
	border-radius: 999px;
	border: 0;
	background: transparent;
	font-family: var(--ah-font-display);
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--ah-muted);
	white-space: nowrap;
	cursor: pointer;
	/* Explicit properties (not `all`) so the transition can't animate layout. */
	transition: color 0.3s var(--ah-ease), background 0.3s var(--ah-ease), box-shadow 0.35s var(--ah-ease);
}
.ah-tab--fleet:hover { background: rgba(var(--ah-gold-rgb), 0.1); color: var(--ah-gold-dark); }
.ah-tab--fleet:focus-visible { outline: 2px solid var(--ah-gold); outline-offset: 2px; }
.ah-tab--fleet.is-active {
	background: linear-gradient(145deg, var(--ah-gold-light), var(--ah-gold-dark));
	color: #fff;
	box-shadow: 0 8px 20px rgba(var(--ah-gold-rgb), 0.38), inset 0 1px 0 rgba(255,255,255,0.35);
}
.ah-tab--fleet.is-active:hover { color: #fff; }
.ah-tab__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	padding: 0 0.4em;
	border-radius: 999px;
	background: rgba(var(--ah-gold-rgb), 0.16);
	color: var(--ah-gold-dark);
	font-size: 0.72em;
	font-weight: 700;
	transition: background 0.3s var(--ah-ease), color 0.3s var(--ah-ease);
}
.ah-tab--fleet.is-active .ah-tab__count { background: rgba(255,255,255,0.3); color: #fff; }

/* Premium Fleet Grid — auto-fills to fit however many columns the
   container width allows, instead of hard breakpoint counts. */
/* Compound selector (.ah-fleet-grid.ah-fleet-grid--premium) so these column
   counts reliably beat the legacy `.ah-fleet-grid { repeat(2,1fr) }` rule
   below, which otherwise wins on source order and forces 2 per row. */
.ah-fleet-grid.ah-fleet-grid--premium {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.ah-fleet-grid.ah-fleet-grid--premium { grid-template-columns: repeat(2, 1fr); gap: 1.15rem; }
}
/* Exactly three vehicle cards per row on the homepage from desktop up. */
@media (min-width: 1000px) {
	.ah-fleet-grid.ah-fleet-grid--premium { grid-template-columns: repeat(3, 1fr); }
}

/* Premium Fleet Card — full-bleed photo, everything overlaid, no
   separate "details" affordance since there's no details page. */
/* Compound selector (not just .ah-fleet-card--premium) so this reliably
   beats the legacy .ah-fleet-card grid rule below regardless of source order. */
.ah-fleet-card.ah-fleet-card--premium {
	display: block;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: var(--ah-black);
	box-shadow: 0 10px 28px rgba(11,11,11,0.14);
	/* `transform` only — never margin/height — so the lift is composited and
	   the card's grid slot never changes, keeping neighbours perfectly still. */
	transform: translateY(0);
	transition:
		transform 0.55s var(--ah-ease),
		box-shadow 0.55s var(--ah-ease);
	will-change: transform;
}
.ah-fleet-card.ah-fleet-card--premium:hover,
.ah-fleet-card.ah-fleet-card--premium:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 26px 56px rgba(11,11,11,0.3), 0 0 0 1px rgba(var(--ah-gold-rgb),0.35);
}
/* Gold hairline frame that fades in with the hover — sits above the photo but
   below the overlay text, and is pointer-transparent so it can't eat clicks. */
.ah-fleet-card--premium::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 4;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(var(--ah-gold-rgb), 0.55);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s var(--ah-ease);
}
.ah-fleet-card--premium:hover::after,
.ah-fleet-card--premium:focus-within::after { opacity: 1; }
.ah-fleet-card--premium.is-hidden { display: none; }

.ah-fleet-card__media {
	position: relative;
	width: 100%;
	/* Taller frame so the vehicle reads large and clear. Full-width on mobile
	   can go quite tall; multi-column desktop stays near-square so the sides of
	   these landscape car photos aren't cropped away. */
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
@media (min-width: 640px) {
	.ah-fleet-card__media { aspect-ratio: 1 / 1; }
}
.ah-fleet-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	/* Slow, long-eased push-in. The rest state is already at 1.03 so the photo
	   never shows a sub-pixel edge gap while the scale animates. */
	transform: scale(1.03);
	transition: transform 1.1s var(--ah-ease);
}
.ah-fleet-card--premium:hover .ah-fleet-card__photo,
.ah-fleet-card--premium:focus-within .ah-fleet-card__photo { transform: scale(1.09); }

.ah-fleet-card__category-badge {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 3;
	/* Frosted chip rather than a solid gold slab — it sits on the photo without
	   competing with the gold "Book Now" button revealed underneath. */
	background: rgba(11,11,11,0.55);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(var(--ah-gold-rgb), 0.5);
	color: var(--ah-gold-light);
	padding: 0.38rem 0.95rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: background 0.45s var(--ah-ease), color 0.45s var(--ah-ease), border-color 0.45s var(--ah-ease);
}
.ah-fleet-card--premium:hover .ah-fleet-card__category-badge,
.ah-fleet-card--premium:focus-within .ah-fleet-card__category-badge {
	background: var(--ah-gold);
	border-color: var(--ah-gold);
	color: var(--ah-black);
}

.ah-fleet-card__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	/* Rest: just a thin footer wash so the name stays legible while the photo
	   reads clearly. */
	background: linear-gradient(to top, rgba(8,8,8,0.82) 0%, rgba(8,8,8,0.32) 20%, transparent 42%);
	transition: background 0.45s var(--ah-ease);
}
.ah-fleet-card--premium:hover .ah-fleet-card__scrim,
.ah-fleet-card--premium:focus-within .ah-fleet-card__scrim {
	/* Hover: deepen so the revealed details are readable. */
	background: linear-gradient(to top, rgba(8,8,8,0.96) 0%, rgba(8,8,8,0.82) 40%, rgba(8,8,8,0.4) 66%, transparent 88%);
}

.ah-fleet-card__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 1.5rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.ah-fleet-card__title {
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: var(--ah-fs-h3);
	line-height: 1.2;
	color: #fff;
	margin: 0;
	letter-spacing: -0.015em;
	text-shadow: 0 2px 8px rgba(0,0,0,0.45);
	transition: transform 0.55s var(--ah-ease);
}
.ah-fleet-card--premium:hover .ah-fleet-card__title,
.ah-fleet-card--premium:focus-within .ah-fleet-card__title { transform: translateY(-2px); }

/* Basic info always visible at rest (name above + these spec chips). */
.ah-fleet-card__specs { display: flex; flex-wrap: wrap; gap: 0.4rem; }

/* Details panel — hidden at rest, expands on hover / focus.
   Uses the `grid-template-rows: 0fr -> 1fr` technique rather than an
   arbitrary `max-height`: the panel animates to its *exact* content height, so
   the reveal can't snap early on a short card or stall on a tall one — which
   is what made the old max-height version feel uneven between cards. */
.ah-fleet-card__reveal {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.55s var(--ah-ease);
}
.ah-fleet-card__reveal > * {
	/* min-height:0 is required or the grid row refuses to collapse below the
	   content's intrinsic height and the panel never fully hides. */
	min-height: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.55s var(--ah-ease);
}
.ah-fleet-card--premium:hover .ah-fleet-card__reveal,
.ah-fleet-card--premium:focus-within .ah-fleet-card__reveal {
	grid-template-rows: 1fr;
}
.ah-fleet-card--premium:hover .ah-fleet-card__reveal > *,
.ah-fleet-card--premium:focus-within .ah-fleet-card__reveal > * {
	opacity: 1;
	transform: none;
	pointer-events: auto;
	/* Fade the contents in slightly behind the expansion so the text arrives
	   into finished space instead of sliding around mid-transition. */
	transition-delay: 0.12s;
}

.ah-fleet-card__spec {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.65rem;
	background: rgba(255,255,255,0.12);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	color: #fff;
}
.ah-fleet-card__spec i { color: var(--ah-gold-light); }

.ah-fleet-card__desc {
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(255,255,255,0.9);
	margin: 0;
	text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.ah-fleet-card__cta {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.1rem;
}
.ah-fleet-card__cta > * { flex: 1 1 0; justify-content: center; }

/* Touch devices have no hover — reveal the details by default so the Book Now
   button is always reachable, and keep the deeper scrim for legibility. */
@media (hover: none) {
	.ah-fleet-card__reveal { grid-template-rows: 1fr; }
	.ah-fleet-card__reveal > * {
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
	.ah-fleet-card__scrim {
		background: linear-gradient(to top, rgba(8,8,8,0.96) 0%, rgba(8,8,8,0.82) 40%, rgba(8,8,8,0.4) 66%, transparent 88%);
	}
}

/* Respect reduced-motion: reveal instantly, no slide, no lift. */
@media (prefers-reduced-motion: reduce) {
	.ah-fleet-card__reveal { transition: none; }
	.ah-fleet-card__reveal > * { transition: opacity 0.2s linear; transform: none; }
	.ah-fleet-card__photo { transition: none; }
	.ah-fleet-card.ah-fleet-card--premium { transition: box-shadow 0.3s ease; }
	.ah-fleet-card.ah-fleet-card--premium:hover,
	.ah-fleet-card.ah-fleet-card--premium:focus-within { transform: none; }
}
.ah-btn--gold { background: var(--ah-gold); color: #fff; box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.85rem; }
.ah-btn--gold:hover { background: var(--ah-gold-dark); box-shadow: 0 12px 30px rgba(212, 175, 55, 0.4); }
.ah-btn--full { width: 100%; }

/* Legacy fleet grid styles for backward compat */
.ah-fleet-grid { display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .ah-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
.ah-fleet-card { display: grid; background: #fff; border: 1px solid #e2e8f0; border-radius: var(--ah-radius); overflow: hidden; transition: box-shadow 0.3s, transform 0.3s; }
@media (min-width: 640px) { .ah-fleet-card { grid-template-columns: 42% 1fr; } }
.ah-fleet-card:hover { box-shadow: 0 20px 40px rgba(212, 175, 55, 0.12); transform: translateY(-3px); }
.ah-fleet-card.is-hidden { display: none; }
.ah-fleet-card__img { aspect-ratio: 4/3; object-fit: cover; width: 100%; height: 100%; min-height: 170px; }
.ah-fleet-card__body { padding: 1.25rem; display: flex; flex-direction: column; gap: 0.4rem; }
.ah-fleet-card__type { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ah-gold); font-weight: 700; }
.ah-fleet-card__name { font-family: var(--ah-font-display); font-size: var(--ah-fs-h4); font-weight: 700; margin: 0; color: var(--ah-gold); }
.ah-fleet-card__chips { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.ah-fleet-card__chip { font-size: 0.68rem; padding: 0.2rem 0.5rem; background: var(--ah-light); border-radius: 4px; color: var(--ah-muted); }
.ah-fleet-card__availability { display: flex; align-items: center; gap: 0.4rem; font-family: var(--ah-font-display); font-weight: 700; font-size: 0.95rem; color: var(--ah-gold-dark); margin: 0 0 1rem; }
.ah-fleet-card__availability i { color: var(--ah-gold); }

/* Timeline */
/* ============================================================
   HOW BOOKING WORKS — animated process timeline
   ============================================================ */
.ah-process { position: relative; overflow: hidden; }
.ah-process__glow {
	position: absolute;
	top: 40%; left: 50%;
	width: 60rem; max-width: 90%;
	height: 24rem;
	transform: translate(-50%, -50%);
	background: radial-gradient(ellipse at center, rgba(var(--ah-gold-rgb), 0.12), transparent 68%);
	pointer-events: none;
	z-index: 0;
}
.ah-process > .ah-container { position: relative; z-index: 1; }

.ah-process__steps {
	list-style: none;
	margin: 3.5rem 0 0;
	padding: 0;
	display: grid;
	gap: 2.75rem 1.5rem;
	grid-template-columns: 1fr;
	position: relative;
}
@media (min-width: 768px) {
	.ah-process__steps { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}

/* Connector line with a gold fill that draws in on scroll (desktop only) */
.ah-process__line { display: none; }
@media (min-width: 768px) {
	.ah-process__line {
		display: block;
		position: absolute;
		top: 42px;
		left: 16.66%;
		right: 16.66%;
		height: 3px;
		border-radius: 3px;
		background: rgba(var(--ah-gold-rgb), 0.18);
		overflow: hidden;
	}
	.ah-process__line-fill {
		display: block;
		height: 100%;
		width: 100%;
		border-radius: inherit;
		background: linear-gradient(90deg, var(--ah-gold-dark), var(--ah-gold-light));
	}
	.js .ah-process__line-fill { width: 0; transition: width 1.3s var(--ah-ease) 0.15s; }
	.js [data-booking-timeline].is-inview .ah-process__line-fill { width: 100%; }
}

.ah-process__step { text-align: center; position: relative; }
.js .ah-process__step {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.6s var(--ah-ease), transform 0.6s var(--ah-ease);
	transition-delay: calc(var(--step-i, 0) * 0.15s);
}
.js [data-booking-timeline].is-inview .ah-process__step { opacity: 1; transform: none; }

.ah-process__node {
	position: relative;
	width: 84px;
	height: 84px;
	margin: 0 auto 1.5rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #0b0b0b;
	background: linear-gradient(145deg, var(--ah-gold-light), var(--ah-gold-dark));
	box-shadow: 0 14px 30px rgba(var(--ah-gold-rgb), 0.35);
	z-index: 1;
	transition: transform 0.4s var(--ah-ease), box-shadow 0.4s var(--ah-ease);
}
.ah-process__node i { width: 34px; height: 34px; }
.ah-process__step:hover .ah-process__node { transform: translateY(-5px) scale(1.06); box-shadow: 0 22px 44px rgba(var(--ah-gold-rgb), 0.5); }

.ah-process__ring {
	position: absolute; inset: -6px;
	border-radius: 50%;
	border: 2px solid rgba(var(--ah-gold-rgb), 0.45);
	opacity: 0;
	pointer-events: none;
}
[data-booking-timeline].is-inview .ah-process__ring {
	animation: ah-process-pulse 2.6s var(--ah-ease) infinite;
	animation-delay: calc(var(--step-i, 0) * 0.35s + 0.9s);
}
@keyframes ah-process-pulse {
	0% { transform: scale(0.92); opacity: 0.7; }
	70% { transform: scale(1.28); opacity: 0; }
	100% { opacity: 0; }
}

.ah-process__badge {
	position: absolute;
	top: -4px; right: -4px;
	min-width: 26px; height: 26px;
	padding: 0 0.4rem;
	border-radius: 999px;
	background: var(--ah-black);
	color: var(--ah-gold-light);
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: 0.72rem;
	display: grid; place-items: center;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
	z-index: 2;
}

.ah-process__title { font-family: var(--ah-font-display); font-weight: 700; font-size: var(--ah-fs-h4); margin: 0 0 0.5rem; color: var(--ah-black); }
.ah-process__desc { font-size: 0.9rem; color: var(--ah-muted); margin: 0 auto; max-width: 240px; line-height: 1.65; }
.ah-process__cta { margin-top: 3rem; }

@media (prefers-reduced-motion: reduce) {
	.js .ah-process__step { opacity: 1; transform: none; transition: none; }
	.js .ah-process__line-fill { width: 100%; transition: none; }
	.ah-process__ring { display: none; }
}

/* Orange band */
.ah-orange-band { background: var(--ah-orange); color: #fff; padding: 1rem 1.5rem; border-radius: var(--ah-radius); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--ah-font-display); font-weight: 700; font-size: 1rem; }
.ah-orange-band p { margin: 0; }

/* About split */
.ah-about-split { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .ah-about-split { grid-template-columns: 1fr 1fr; } }
.ah-about-split__img { width: 100%; border-radius: var(--ah-radius); aspect-ratio: 4/3; object-fit: cover; box-shadow: 0 20px 40px rgba(0,0,0,0.12); display: block; }

.ah-about-visual {
	position: relative;
	padding: 1.25rem 0.5rem 1.75rem;
}
.ah-about-visual__ring {
	position: absolute;
	inset: 0.5rem 0;
	border: 2px dashed rgba(212,175,55,0.28);
	border-radius: 22px;
	animation: ah-about-spin 28s linear infinite;
	pointer-events: none;
}
.ah-about-visual__glow {
	position: absolute;
	inset: 15% 10% 5%;
	background: radial-gradient(ellipse, rgba(212,175,55,0.22) 0%, transparent 68%);
	pointer-events: none;
	z-index: 0;
}
.ah-about-visual__frame {
	position: relative;
	z-index: 1;
	border-radius: var(--ah-radius);
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(0,0,0,0.35), 0 0 0 1px rgba(212,175,55,0.3);
}
.ah-about-visual__badge,
.ah-about-visual__chip {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	background: #fff;
	border-radius: 12px;
	padding: 0.65rem 0.85rem;
	box-shadow: 0 12px 28px rgba(0,0,0,0.12);
	font-family: var(--ah-font-display);
}
.ah-about-visual__badge {
	bottom: 0.5rem;
	left: -0.25rem;
}
.ah-about-visual__badge i,
.ah-about-visual__chip i { color: var(--ah-orange); width: 20px; height: 20px; flex-shrink: 0; }
.ah-about-visual__badge strong {
	display: block;
	font-size: 1.1rem;
	color: var(--ah-blue);
	line-height: 1;
}
.ah-about-visual__badge span { font-size: 0.72rem; color: var(--ah-muted); }
.ah-about-visual__chip {
	top: 1rem;
	right: -0.25rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--ah-blue);
}
.ah-about-visual__chip--rate { background: var(--ah-blue); color: #fff; }
.ah-about-visual__chip--rate i { color: var(--ah-orange); }
@keyframes ah-about-spin { to { transform: rotate(360deg); } }

/* Reviews */
/* ============================================================
   Reviews — premium dark testimonial showcase
   (replaces the old flat-gold ah-section--blue treatment)
   ============================================================ */
.ah-reviews-section {
	position: relative;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(ellipse 70% 55% at 50% -10%, rgba(212,175,55,0.16) 0%, transparent 60%),
		radial-gradient(circle at 1px 1px, rgba(212,175,55,0.05) 1px, transparent 0) 0 0 / 32px 32px,
		linear-gradient(180deg, #14120c 0%, var(--ah-black) 60%, #0d0b07 100%);
}
.ah-reviews-section::before {
	content: '\201C';
	position: absolute;
	top: -0.12em;
	left: 1.5%;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 20rem;
	line-height: 1;
	color: rgba(212,175,55,0.07);
	pointer-events: none;
	z-index: 0;
}
.ah-reviews-section > .ah-container { position: relative; z-index: 1; }

.ah-reviews-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
}

/* Rating pill (Facebook or Google) */
.ah-fb-summary,
.ah-google-summary {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(212,175,55,0.3);
	border-radius: 14px;
	padding: 0.85rem 1.25rem;
	backdrop-filter: blur(4px);
}
.ah-fb-icon { color: #4c9aff; flex-shrink: 0; }
.ah-google-g { flex-shrink: 0; }
.ah-fb-summary__score,
.ah-google-summary__score {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(255,255,255,0.9);
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
}
.ah-fb-summary__score strong,
.ah-google-summary__score strong {
	font-size: 1.5rem;
	line-height: 1;
	color: var(--ah-gold-light);
	font-family: var(--ah-font-display);
	font-weight: 800;
}
.ah-google-summary__score .ah-stars { margin: 0; }
.ah-google-summary__score .ah-stars i { width: 14px; height: 14px; }
.ah-fb-summary__count,
.ah-google-summary__count {
	margin: 0.2rem 0 0;
	font-size: 0.78rem;
	color: rgba(255,255,255,0.6);
}

/* Slider + cards */
.ah-reviews-slider { margin-top: 2.5rem; position: relative; }
.ah-reviews-swiper { overflow: hidden; padding: 0.5rem 0.25rem 1rem; }
.ah-review-slide {
	position: relative;
	overflow: hidden;
	height: auto;
	background: #fff;
	border-radius: var(--ah-radius);
	padding: 2rem 1.6rem 1.6rem;
	color: var(--ah-dark);
	display: flex;
	flex-direction: column;
	min-height: 260px;
	box-shadow: 0 20px 50px rgba(0,0,0,0.35);
	transition: transform 0.35s var(--ah-ease), box-shadow 0.35s var(--ah-ease);
}
.ah-review-slide::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--ah-gold), var(--ah-gold-light));
}
.ah-review-slide:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 60px rgba(0,0,0,0.5);
}
.ah-review-slide__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.ah-review-slide__source {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ah-muted);
}
.ah-review-slide__quote { margin: 0 0 1.25rem; flex: 1; }
.ah-review-slide__quote p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #334155;
}
.ah-review-slide__author {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid #f0ece0;
}
.ah-review-slide__avatar {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.ah-review-slide__avatar--initials {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--ah-gold), var(--ah-gold-dark));
	color: #1a1a1a;
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: 0.9rem;
}
.ah-review-slide__name {
	display: block;
	font-style: normal;
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--ah-black);
}
.ah-review-slide__time {
	display: block;
	font-size: 0.75rem;
	color: var(--ah-muted);
	margin-top: 0.1rem;
}

/* Controls */
.ah-reviews-slider__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	margin-top: 1.75rem;
}
.ah-reviews-arrow {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid rgba(212,175,55,0.4);
	background: rgba(212,175,55,0.08);
	color: var(--ah-gold-light);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.25s var(--ah-ease), border-color 0.25s var(--ah-ease), color 0.25s var(--ah-ease), transform 0.25s var(--ah-ease);
	flex-shrink: 0;
}
.ah-reviews-arrow:hover {
	background: var(--ah-gold);
	border-color: var(--ah-gold);
	color: #1a1a1a;
	transform: translateY(-2px);
}
.ah-reviews-arrow svg { width: 18px; height: 18px; }
.ah-reviews-pagination { position: static !important; width: auto !important; display: flex; gap: 0.4rem; }
.ah-reviews-pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.25);
	opacity: 1;
	margin: 0 !important;
	transition: width 0.25s, background 0.25s;
}
.ah-reviews-pagination .swiper-pagination-bullet-active {
	width: 26px;
	background: var(--ah-gold-light);
}

.ah-stars { color: var(--ah-orange); display: flex; gap: 2px; margin-bottom: 0.5rem; }
.ah-reviews-cta { text-align: center; margin-top: 2rem; }

/* FAQ */
.ah-section--faq {
	background: linear-gradient(180deg, var(--ah-light) 0%, #fff 100%);
	position: relative;
	overflow: hidden;
}
.ah-section--faq::before {
	content: '';
	position: absolute;
	top: -120px;
	right: -80px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.ah-faq-split {
	display: grid;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 1024px) {
	.ah-faq-split { grid-template-columns: 0.85fr 1.15fr; gap: 3rem; }
}

.ah-faq-aside__lead {
	color: var(--ah-muted);
	line-height: 1.75;
	margin: 0 0 1.25rem;
	max-width: 28rem;
}
.ah-faq-aside__chips {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.ah-faq-aside__chips li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--ah-blue);
	background: #fff;
	border: 1px solid rgba(27,79,156,0.12);
	border-radius: 999px;
	padding: 0.4rem 0.75rem;
}
.ah-faq-aside__chips i { width: 14px; height: 14px; color: var(--ah-orange); }

.ah-faq-aside__visual {
	position: relative;
	border-radius: var(--ah-radius);
	overflow: hidden;
	margin-bottom: 1.25rem;
	box-shadow: 0 20px 44px rgba(27,79,156,0.14);
	display: none;
}
@media (min-width: 1024px) { .ah-faq-aside__visual { display: block; } }
.ah-faq-aside__visual img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
}
.ah-faq-aside__visual-badge {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	background: rgba(26, 26, 26, 0.92);
	color: #fff;
	border-radius: 12px;
	padding: 0.65rem 0.9rem;
	backdrop-filter: blur(8px);
}
.ah-faq-aside__visual-badge strong {
	display: block;
	font-family: var(--ah-font-display);
	font-size: 1.35rem;
	color: var(--ah-orange);
	line-height: 1;
}
.ah-faq-aside__visual-badge span { font-size: 0.72rem; opacity: 0.85; }

.ah-faq-aside__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}
.ah-faq-aside__actions .ah-btn { display: inline-flex; align-items: center; gap: 0.4rem; }
.ah-faq-aside__actions .ah-btn i { width: 16px; height: 16px; }

.ah-faq-main { min-width: 0; }
.ah-accordion--cards {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.ah-accordion--cards .ah-accordion-item {
	background: #fff;
	border: 1px solid rgba(27,79,156,0.1);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.25s, box-shadow 0.25s;
}
.ah-accordion--cards .ah-accordion-item.is-open {
	border-color: rgba(245,130,32,0.45);
	box-shadow: 0 12px 32px rgba(27,79,156,0.1);
}
.ah-accordion--cards .ah-accordion-head {
	width: 100%;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.85rem;
	padding: 1.1rem 1.15rem;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	text-align: left;
	color: var(--ah-blue);
	transition: color 0.2s;
}
.ah-accordion--cards .ah-accordion-item.is-open .ah-accordion-head { color: var(--ah-blue-dark); }
.ah-accordion-num {
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--ah-orange);
	letter-spacing: 0.04em;
	min-width: 1.5rem;
}
.ah-accordion-q { line-height: 1.45; }
.ah-accordion-icon {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(212, 175, 55, 0.08);
	color: var(--ah-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s var(--ah-ease), background 0.25s, color 0.25s;
	flex-shrink: 0;
}
.ah-accordion-item.is-open .ah-accordion-icon {
	transform: rotate(180deg);
	background: var(--ah-orange);
	color: #fff;
}
.ah-accordion-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.45s var(--ah-ease);
}
.ah-accordion-body {
	padding: 0 1.15rem 1.15rem 3.35rem;
}
.ah-accordion-body p {
	margin: 0;
	color: var(--ah-muted);
	line-height: 1.75;
	font-size: 0.92rem;
}
@media (max-width: 639px) {
	.ah-accordion-body { padding-left: 1.15rem; }
	.ah-accordion--cards .ah-accordion-head { grid-template-columns: auto 1fr auto; gap: 0.65rem; padding: 1rem; }
}

.ah-faq-foot {
	margin-top: 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: 12px;
	background: rgba(27,79,156,0.06);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}
.ah-faq-foot p {
	margin: 0;
	font-size: 0.88rem;
	color: var(--ah-muted);
}
.ah-faq-foot__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--ah-blue);
	text-decoration: none;
}
.ah-faq-foot__link:hover { color: var(--ah-orange); }
.ah-faq-foot__link i { width: 16px; height: 16px; }

/* CTA band — see the "CTA BAND" section in enhancements.css, which owns it.
   The old rules lived here too and leaked a rounded 1px gold border and
   3rem padding onto the full-bleed band, because enhancements.css redeclared
   background/padding but not border/border-radius. Removed rather than
   duplicated so there is a single place to edit. */

/* Page hero */
body.ah-inner .ah-page-hero { padding-top: calc(var(--ah-site-header-h) + 2rem); }
.ah-page-hero { position: relative; min-height: 50vh; display: flex; align-items: flex-end; overflow: hidden; color: #fff; padding-top: calc(var(--ah-site-header-h) + 2rem); }
.ah-page-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.ah-page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,0.95), rgba(26,26,26,0.55)); }
.ah-page-hero__inner {
	position: relative;
	z-index: 2;
	padding: 3rem 0 3.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
}
.ah-page-hero__content { max-width: 40rem; }
.ah-page-hero__title { font-family: var(--ah-font-display); font-weight: 800; font-size: var(--ah-fs-h1); line-height: 1.08; margin: 0 0 0.75rem; }
.ah-page-hero__sub { font-size: 1.05rem; color: rgba(255,255,255,0.8); max-width: 34rem; line-height: 1.65; margin: 0; }
.ah-page-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.ah-page-hero__stat {
	flex-shrink: 0;
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: var(--ah-radius);
	padding: 1.35rem 1.75rem;
	text-align: center;
	min-width: 160px;
}
.ah-page-hero__stat strong {
	display: block;
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-stat);
	font-weight: 800;
	color: var(--ah-orange);
	line-height: 1;
	margin-bottom: 0.35rem;
}
.ah-page-hero__stat span {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.75);
	line-height: 1.4;
	max-width: 140px;
	display: inline-block;
}

/* About page */
.ah-about-story__copy {
	display: grid;
	gap: 1rem;
	color: var(--ah-muted);
	font-size: 1.02rem;
	line-height: 1.75;
	margin-bottom: 1.5rem;
}
.ah-about-story__copy p { margin: 0; }
.ah-about-highlights {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}
.ah-about-highlights li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-family: var(--ah-font-display);
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--ah-blue);
}
.ah-about-highlights i { color: var(--ah-orange); width: 20px; height: 20px; flex-shrink: 0; }

.ah-about-stats {
	position: relative;
	z-index: 3;
	margin-top: -3.5rem;
	padding-bottom: 0;
}
.ah-about-page > .ah-section:first-of-type {
	padding-top: 4rem;
}
.ah-about-stats__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: rgba(255,255,255,0.08);
	border-radius: var(--ah-radius);
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(27,79,156,0.2);
	background: linear-gradient(135deg, var(--ah-blue-dark), var(--ah-blue));
}
@media (min-width: 768px) {
	.ah-about-stats__grid { grid-template-columns: repeat(4, 1fr); }
}
.ah-about-stats__item {
	background: rgba(10,10,10,0.4);
	padding: 2rem 1.25rem;
	text-align: center;
}
.ah-about-stats__item strong {
	display: block;
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-stat);
	font-weight: 800;
	color: var(--ah-orange);
	line-height: 1;
	margin-bottom: 0.45rem;
}
.ah-about-stats__item span {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.72);
	line-height: 1.45;
}

.ah-about-milestones {
	display: grid;
	gap: 0;
	max-width: 720px;
	margin: 0 auto;
	position: relative;
}
@media (min-width: 768px) {
	.ah-about-milestones::before {
		content: '';
		position: absolute;
		left: 27px;
		top: 28px;
		bottom: 28px;
		width: 2px;
		background: linear-gradient(180deg, var(--ah-orange), rgba(245,130,32,0.15));
	}
}
.ah-about-milestone {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 1.25rem;
	padding: 1.25rem 0;
}
.ah-about-milestone__marker span {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ah-blue);
	color: var(--ah-orange);
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: 0.95rem;
	display: grid;
	place-items: center;
	border: 3px solid var(--ah-orange);
	position: relative;
	z-index: 1;
}
.ah-about-milestone__body {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: var(--ah-radius);
	padding: 1.35rem 1.5rem;
	box-shadow: 0 8px 24px rgba(27,79,156,0.06);
	transition: box-shadow 0.3s, transform 0.3s;
}
.ah-about-milestone:hover .ah-about-milestone__body {
	box-shadow: 0 16px 36px rgba(27,79,156,0.1);
	transform: translateX(4px);
}
.ah-about-milestone__body h3 {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--ah-blue);
	margin: 0 0 0.45rem;
}
.ah-about-milestone__body p {
	margin: 0;
	font-size: 0.92rem;
	color: var(--ah-muted);
	line-height: 1.65;
}

.ah-about-values {
	display: grid;
	gap: 1.25rem;
}
@media (min-width: 768px) {
	.ah-about-values { grid-template-columns: repeat(3, 1fr); }
}
.ah-about-value {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: var(--ah-radius);
	padding: 2rem 1.5rem;
	text-align: center;
	transition: box-shadow 0.3s, transform 0.3s;
	border-top: 4px solid var(--ah-orange);
}
.ah-about-value:hover {
	box-shadow: 0 20px 44px rgba(27,79,156,0.12);
	transform: translateY(-4px);
}
.ah-about-value__icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1.15rem;
	border-radius: 50%;
	background: rgba(212, 175, 55, 0.08);
	color: var(--ah-blue);
	display: grid;
	place-items: center;
}
.ah-about-value h3 {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--ah-blue);
	margin: 0 0 0.55rem;
}
.ah-about-value p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--ah-muted);
	line-height: 1.65;
}

.ah-about-wa__grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
}
@media (min-width: 1024px) {
	.ah-about-wa__grid { grid-template-columns: 1fr 1.1fr; gap: 3rem; }
}
.ah-about-wa__intro p {
	color: rgba(255,255,255,0.82);
	line-height: 1.75;
	margin: 0 0 1.5rem;
	max-width: 28rem;
}
.ah-about-wa__cards {
	display: grid;
	gap: 1rem;
}
@media (min-width: 640px) {
	.ah-about-wa__cards { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
	.ah-about-wa__cards { grid-template-columns: 1fr; }
}
.ah-about-wa__card {
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: var(--ah-radius);
	padding: 1.35rem 1.25rem;
	backdrop-filter: blur(8px);
}
.ah-about-wa__card i { color: var(--ah-orange); margin-bottom: 0.75rem; }
.ah-about-wa__card h3 {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	color: #fff;
	margin: 0 0 0.4rem;
}
.ah-about-wa__card p {
	margin: 0;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.72);
	line-height: 1.55;
}

.ah-about-office {
	display: grid;
	gap: 2rem;
	align-items: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: calc(var(--ah-radius) + 4px);
	padding: 2rem;
	box-shadow: 0 20px 48px rgba(212, 175, 55, 0.08);
	overflow: hidden;
}
@media (min-width: 768px) {
	.ah-about-office {
		grid-template-columns: 220px 1fr;
		padding: 2.5rem;
	}
}
.ah-about-office__map {
	background: linear-gradient(145deg, var(--ah-blue), var(--ah-blue-dark));
	color: #fff;
	border-radius: var(--ah-radius);
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	text-align: center;
	padding: 1.5rem;
}
.ah-about-office__map i { color: var(--ah-orange); }
.ah-about-office__map span {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ah-about-office__details .ah-heading {
	font-size: var(--ah-fs-h3);
	margin-bottom: 0.75rem;
}
.ah-about-office__details > p {
	color: var(--ah-muted);
	line-height: 1.7;
	margin: 0 0 1.25rem;
}
.ah-about-office__list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}
.ah-about-office__list li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.95rem;
	color: var(--ah-dark);
}
.ah-about-office__list i { color: var(--ah-orange); width: 18px; height: 18px; flex-shrink: 0; }
.ah-about-office__list a { color: var(--ah-blue); text-decoration: none; font-weight: 600; }
.ah-about-office__list a:hover { color: var(--ah-orange); }
.ah-about-office__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }

/* Services page */
.ah-services-page > .ah-section:first-of-type {
	margin-top: -2.5rem;
}
.ah-services-stats {
	position: relative;
	z-index: 2;
	margin: -2.5rem 0 0;
	padding: 0 0 1rem;
}
.ah-services-stats__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	background: #fff;
	border-radius: var(--ah-radius);
	box-shadow: 0 20px 50px rgba(27, 79, 156, 0.12);
	padding: 1.5rem;
	border: 1px solid #e2e8f0;
}
@media (min-width: 768px) {
	.ah-services-stats__grid { grid-template-columns: repeat(4, 1fr); padding: 2rem; }
}
.ah-services-stats__item {
	text-align: center;
	padding: 0.5rem;
}
.ah-services-stats__item strong {
	display: block;
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-stat);
	font-weight: 800;
	color: var(--ah-blue);
	line-height: 1.1;
}
.ah-services-stats__item span {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.78rem;
	color: var(--ah-muted);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.ah-services-packages {
	display: grid;
	gap: 1rem;
}
@media (min-width: 640px) {
	.ah-services-packages { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ah-services-packages { grid-template-columns: repeat(4, 1fr); }
}
.ah-services-package {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: var(--ah-radius);
	padding: 1.5rem;
	text-align: center;
	transition: box-shadow 0.3s, transform 0.3s;
}
.ah-services-package:hover {
	box-shadow: 0 16px 36px rgba(27, 79, 156, 0.1);
	transform: translateY(-3px);
}
.ah-services-package__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	border-radius: 14px;
	background: rgba(245, 130, 32, 0.12);
	color: var(--ah-orange);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ah-services-package h3 {
	font-family: var(--ah-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ah-blue);
	margin: 0 0 0.5rem;
}
.ah-services-package p {
	font-size: 0.88rem;
	color: var(--ah-muted);
	line-height: 1.55;
	margin: 0;
}

.ah-services-occasions {
	display: grid;
	gap: 1rem;
}
@media (min-width: 640px) {
	.ah-services-occasions { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ah-services-occasions { grid-template-columns: repeat(3, 1fr); }
}
.ah-services-occasion {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: var(--ah-radius);
	padding: 1.5rem;
	transition: box-shadow 0.35s var(--ah-ease), transform 0.35s var(--ah-ease), border-color 0.35s var(--ah-ease);
}
.ah-services-occasion:hover {
	box-shadow: 0 20px 44px rgba(212, 175, 55, 0.16);
	transform: translateY(-5px);
	border-color: rgba(212,175,55,0.3);
}
.ah-services-occasion__icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: linear-gradient(145deg, rgba(212,175,55,0.14), rgba(212,175,55,0.05));
	color: var(--ah-gold-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
.ah-services-occasion h3 {
	font-family: var(--ah-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ah-blue);
	margin: 0 0 0.5rem;
}
.ah-services-occasion p {
	font-size: 0.88rem;
	color: var(--ah-muted);
	line-height: 1.55;
	margin: 0 0 0.75rem;
}
.ah-services-occasion__rec {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--ah-orange);
}

.ah-services-coverage__grid {
	display: grid;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 1024px) {
	.ah-services-coverage__grid {
		grid-template-columns: minmax(280px, 0.95fr) 1.05fr;
		gap: 3rem;
	}
}
.ah-services-coverage__intro p {
	font-size: 0.95rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 1.5rem;
	max-width: 34rem;
}
.ah-services-coverage__hub {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 1.15rem 1.25rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--ah-radius);
	margin-bottom: 1rem;
}
.ah-services-coverage__hub-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--ah-orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ah-services-coverage__hub strong {
	display: block;
	font-family: var(--ah-font-display);
	font-size: 1rem;
	color: #fff;
	margin-bottom: 0.35rem;
}
.ah-services-coverage__hub span {
	display: block;
	font-size: 0.85rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
}
.ah-services-coverage__delivery {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	background: rgba(245, 130, 32, 0.18);
	border: 1px solid rgba(245, 130, 32, 0.35);
	color: #fff;
	font-size: 0.88rem;
	font-weight: 600;
}
.ah-services-coverage__delivery i { color: var(--ah-orange); flex-shrink: 0; }

.ah-services-coverage__groups {
	display: grid;
	gap: 1.25rem;
}
.ah-services-coverage__group {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--ah-radius);
	overflow: hidden;
}
.ah-services-coverage__group-title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	padding: 1rem 1.25rem;
	font-family: var(--ah-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: rgba(0, 0, 0, 0.12);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.ah-services-coverage__group-title i { color: var(--ah-orange); flex-shrink: 0; }
.ah-services-coverage__group-title span {
	margin-left: auto;
	min-width: 28px;
	height: 28px;
	padding: 0 0.45rem;
	border-radius: 999px;
	background: rgba(245, 130, 32, 0.2);
	color: var(--ah-orange);
	font-size: 0.78rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ah-services-coverage__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}
@media (min-width: 640px) {
	.ah-services-coverage__list { grid-template-columns: repeat(2, 1fr); }
}
.ah-services-coverage__item {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1rem 1.15rem;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.ah-services-coverage__item-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--ah-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ah-services-coverage__item-body strong {
	display: block;
	font-size: 0.92rem;
	color: #fff;
	margin-bottom: 0.2rem;
}
.ah-services-coverage__item-body span {
	display: block;
	font-size: 0.78rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.62);
}

/* Footer — see the `.ah-foot` section in chrome.css. The old `.ah-footer__*`
   rules were removed when footer.php was rebuilt onto that root; no markup
   emits those class names any more. */

/* Mobile menu */
.ah-burger { display: flex; flex-direction: column; gap: 5px; background: none; border: none; padding: 4px; cursor: pointer; }
.ah-burger span { display: block; width: 24px; height: 2px; background: #fff; transition: 0.3s; }
.ah-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ah-burger.is-open span:nth-child(2) { opacity: 0; }
.ah-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.ah-mobile {
	position: fixed;
	inset: 0;
	z-index: 1001;
	width: min(100%, 380px);
	left: auto;
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgba(212,175,55,0.18) 0%, transparent 60%),
		linear-gradient(165deg, var(--ah-black) 0%, #0d0c08 100%);
	padding: 1.25rem 1.5rem 2rem;
	transform: translateX(100%);
	transition: transform 0.4s var(--ah-ease);
	overflow-y: auto;
	box-shadow: -20px 0 60px rgba(0,0,0,0.4);
}
.ah-mobile.is-open { transform: translateX(0); }

.ah-mobile__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(212,175,55,0.2);
}
.ah-mobile__logo { height: 52px; width: auto; display: block; }
.ah-mobile__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(212,175,55,0.3);
	color: #fff;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.25s, transform 0.25s, border-color 0.25s;
}
.ah-mobile__close:hover { background: var(--ah-gold); border-color: var(--ah-gold); color: var(--ah-black); transform: rotate(90deg); }
.ah-mobile__close i { width: 20px; height: 20px; }

.ah-mobile__links { display: flex; flex-direction: column; gap: 0.3rem; margin-bottom: 1.5rem; }
.ah-mobile a {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	color: rgba(255,255,255,0.9);
	font-size: 1.02rem;
	font-family: var(--ah-font-display);
	font-weight: 600;
	padding: 0.85rem 0.75rem;
	border-radius: 12px;
	text-decoration: none;
	transition: background 0.25s, color 0.25s;
}
.ah-mobile__links a i:first-child { width: 19px; height: 19px; color: var(--ah-gold); flex-shrink: 0; }
.ah-mobile__links a span { flex: 1; }
.ah-mobile__link-arrow { width: 16px; height: 16px; color: rgba(255,255,255,0.25); }
.ah-mobile__links a:hover,
.ah-mobile__links a.is-active { background: rgba(212,175,55,0.12); color: #fff; }
.ah-mobile__links a.is-active i:first-child { color: var(--ah-gold-light); }

.ah-mobile__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: rgba(212,175,55,0.14);
	border: 1px solid rgba(212,175,55,0.35);
	color: var(--ah-gold-light);
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	margin-bottom: 1.5rem;
}
.ah-mobile__badge i { width: 14px; height: 14px; }

.ah-mobile__contact { display: flex; flex-direction: column; gap: 0.2rem; margin-bottom: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.08); }
.ah-mobile__contact a { font-size: 0.88rem; font-weight: 500; color: rgba(255,255,255,0.75); padding: 0.55rem 0.75rem; border-radius: 10px; }
.ah-mobile__contact a i { width: 16px; height: 16px; color: var(--ah-gold); flex-shrink: 0; }
.ah-mobile__contact a:hover { background: rgba(255,255,255,0.06); color: #fff; }
.ah-mobile__cta { margin-top: 0.25rem; }
.ah-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,0.5); opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.ah-overlay.is-open { opacity: 1; pointer-events: auto; }
.ah-back-top {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 999;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: linear-gradient(155deg, var(--ah-gold-light), var(--ah-gold) 55%, var(--ah-gold-dark));
	color: var(--ah-black);
	border: none;
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity 0.3s, transform 0.3s var(--ah-ease), box-shadow 0.3s;
	box-shadow: 0 8px 22px rgba(212,175,55,0.5);
}
.ah-back-top:hover { box-shadow: 0 12px 30px rgba(212,175,55,0.65); }
.ah-back-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ah-back-top.is-visible:hover { transform: translateY(-2px); }
.ah-back-top::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 6px;
	width: 22px;
	height: 5px;
	border-radius: 50%;
	background: rgba(0,0,0,0.18);
	transform: translateX(-50%);
	animation: ah-back-top-shadow 1.6s ease-in-out infinite;
}
.ah-back-top__icon {
	width: 24px;
	height: 24px;
	position: relative;
	z-index: 1;
	animation: ah-back-top-hop 1.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
	.ah-back-top__icon, .ah-back-top::after, .ah-back-top__chevron { animation: none !important; }
}
.ah-back-top__chevrons {
	position: absolute;
	top: -2px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 0;
	pointer-events: none;
}
.ah-back-top__chevron {
	width: 13px;
	height: 13px;
	color: var(--ah-gold-light);
	opacity: 0;
	margin-bottom: -6px;
	animation: ah-back-top-chevron 1.6s ease-in-out infinite;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
}
.ah-back-top__chevron--2 { animation-delay: 0.18s; }
@keyframes ah-back-top-hop {
	0%, 100% { transform: translateY(0) scaleX(1) scaleY(1); }
	8% { transform: translateY(3px) scaleX(1.08) scaleY(0.9); }
	28% { transform: translateY(-9px) scaleX(0.94) scaleY(1.08) rotate(-6deg); }
	42% { transform: translateY(-3px) scaleX(1) scaleY(1) rotate(0deg); }
	58% { transform: translateY(-7px) rotate(-4deg); }
	72% { transform: translateY(0) rotate(0deg); }
}
@keyframes ah-back-top-shadow {
	0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.18; }
	28% { transform: translateX(-50%) scale(0.55); opacity: 0.06; }
	72% { transform: translateX(-50%) scale(0.75); opacity: 0.1; }
}
@keyframes ah-back-top-chevron {
	0%, 20% { opacity: 0; transform: translateY(4px); }
	40% { opacity: 1; transform: translateY(-3px); }
	65% { opacity: 0; transform: translateY(-10px); }
	100% { opacity: 0; transform: translateY(-10px); }
}

/* Video Parallax Section */
.ah-video-parallax {
	position: relative;
	height: 100vh;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--ah-blue);
}

.ah-video-parallax__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ah-video-parallax__video-element {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ah-video-parallax__fallback {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.ah-video-parallax__overlay {
	position: absolute;
	inset: 0;
	background: rgba(26, 26, 26, 0.5);
	backdrop-filter: blur(2px);
}

.ah-video-parallax__inner {
	position: relative;
	z-index: 2;
	text-align: center;
}

.ah-video-parallax__content {
	max-width: 600px;
	margin: 0 auto;
	color: #fff;
}

.ah-video-parallax__eyebrow {
	display: inline-block;
	font-family: var(--ah-font-display);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ah-orange-light);
	margin-bottom: 0.5em;
}

.ah-video-parallax__title {
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-h2);
	font-weight: 800;
	line-height: 1.1;
	margin: 0.5rem 0;
	color: #fff;
	text-wrap: balance;
}

.ah-video-parallax__text {
	font-size: 1.15rem;
	margin: 1rem 0 2rem;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.6;
}

.ah-video-parallax--dark .ah-video-parallax__overlay {
	background: rgba(26, 26, 26, 0.6);
}

.ah-video-parallax--light .ah-video-parallax__overlay {
	background: rgba(255, 255, 255, 0.15);
}

@media (max-width: 768px) {
	.ah-video-parallax { min-height: 400px; }
	/* No font-size override — --ah-fs-h2 is a clamp() that already scales down. */
	.ah-video-parallax__text { font-size: 1rem; }
}

/* ============================================================
   Service Areas — one unified dark "location" panel
   (home base + full coverage grid merged into a single block)
   ============================================================ */
.ah-service-areas {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 1px 1px, rgba(212,175,55,0.08) 1px, transparent 0) 0 0 / 30px 30px,
		linear-gradient(165deg, #14120c 0%, var(--ah-black) 55%, #0d0b07 100%);
	padding: 5rem 1.5rem;
}

.ah-service-areas__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 3rem;
}
.ah-service-areas__lead {
	color: rgba(255,255,255,0.66);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0.75rem 0 0;
}

/* The single merged panel */
.ah-areas-panel {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	background:
		radial-gradient(ellipse 60% 70% at 12% 0%, rgba(212,175,55,0.14) 0%, transparent 60%),
		linear-gradient(155deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%);
	border: 1px solid rgba(212,175,55,0.28);
	border-radius: calc(var(--ah-radius) + 8px);
	box-shadow: 0 30px 70px rgba(0,0,0,0.45);
	backdrop-filter: blur(4px);
}
@media (min-width: 960px) {
	.ah-areas-panel { grid-template-columns: 1.05fr auto 1fr; }
}

.ah-areas-panel__watermark {
	position: absolute;
	right: -3%;
	bottom: -14%;
	width: 300px;
	height: 300px;
	color: rgba(212,175,55,0.05);
	pointer-events: none;
	z-index: 0;
}

/* --- Home base (left) --- */
.ah-areas-panel__hq {
	position: relative;
	z-index: 1;
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
@media (min-width: 960px) { .ah-areas-panel__hq { padding: 2.5rem; } }

.ah-areas-panel__photo {
	position: relative;
	min-height: 190px;
	border-radius: var(--ah-radius);
	overflow: hidden;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(212,175,55,0.25);
	display: flex;
	align-items: flex-end;
	box-shadow: inset 0 -80px 90px -30px rgba(0,0,0,0.85);
}
/* Gradient placeholder when no Talwar Chowk photo has been supplied yet */
.ah-areas-panel__photo.is-placeholder {
	background:
		radial-gradient(circle at 30% 25%, rgba(212,175,55,0.28) 0%, transparent 45%),
		repeating-linear-gradient(45deg, rgba(212,175,55,0.05) 0 2px, transparent 2px 22px),
		linear-gradient(150deg, #24201400 0%, #1a1710 100%),
		var(--ah-black);
}
.ah-areas-panel__photo-label {
	position: relative;
	z-index: 2;
	padding: 1rem 1.25rem;
	color: #fff;
	font-family: var(--ah-font-display);
	font-weight: 600;
	font-size: 0.9rem;
	letter-spacing: 0.01em;
}
.ah-areas-panel__pin {
	position: absolute;
	top: 1.1rem;
	left: 1.1rem;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(212,175,55,0.15);
	border: 1.5px solid var(--ah-gold-light);
	color: var(--ah-gold-light);
}
.ah-areas-panel__pin svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; }
.ah-areas-panel__pin-pulse {
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 1.5px solid var(--ah-gold-light);
	animation: ah-area-pulse 2.4s ease-out infinite;
}
@keyframes ah-area-pulse {
	0% { transform: scale(0.85); opacity: 0.9; }
	100% { transform: scale(1.4); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .ah-areas-panel__pin-pulse { animation: none; } }

.ah-areas-panel__hq-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	align-self: flex-start;
	background: var(--ah-gold);
	color: var(--ah-black);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 0.32rem 0.7rem;
	border-radius: 999px;
	margin-bottom: 0.9rem;
}
.ah-areas-panel__hq-title {
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-h3);
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
	margin: 0 0 0.85rem;
}
.ah-areas-panel__hq-text {
	color: rgba(255,255,255,0.66);
	font-size: 0.95rem;
	line-height: 1.65;
	margin: 0 0 1.6rem;
}
.ah-areas-panel__ctas { display: flex; flex-wrap: wrap; gap: 0.85rem; }

/* --- Divider --- */
.ah-areas-panel__divider { display: none; }
@media (min-width: 960px) {
	.ah-areas-panel__divider {
		display: block;
		width: 1px;
		background: linear-gradient(to bottom, transparent, rgba(212,175,55,0.4), transparent);
		margin: 2.5rem 0;
	}
}

/* --- Coverage (right) --- */
.ah-areas-panel__coverage {
	position: relative;
	z-index: 1;
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
}
@media (min-width: 960px) { .ah-areas-panel__coverage { padding: 2.5rem; } }

.ah-areas-panel__coverage-title {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--ah-font-display);
	font-size: var(--ah-fs-h4);
	font-weight: 700;
	color: var(--ah-gold-light);
	margin: 0 0 1.4rem;
}
.ah-areas-panel__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
}
@media (min-width: 560px) { .ah-areas-panel__grid { grid-template-columns: 1fr 1fr; } }

.ah-cov-item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem 0.9rem;
	border-radius: 12px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.06);
	transition: background 0.3s var(--ah-ease), border-color 0.3s var(--ah-ease), transform 0.3s var(--ah-ease);
}
.ah-cov-item:hover {
	background: rgba(212,175,55,0.08);
	border-color: rgba(212,175,55,0.35);
	transform: translateY(-3px);
}
.ah-cov-item__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(212,175,55,0.12);
	border: 1px solid rgba(212,175,55,0.35);
	color: var(--ah-gold-light);
}
.ah-cov-item__icon-svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 2; fill: none; }
.ah-cov-item__body { display: flex; flex-direction: column; min-width: 0; }
.ah-cov-item__body strong {
	font-family: var(--ah-font-display);
	font-size: 0.92rem;
	font-weight: 600;
	color: #fff;
	line-height: 1.3;
}
.ah-cov-item__body span {
	font-size: 0.76rem;
	color: rgba(255,255,255,0.55);
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.ah-areas-panel__delivery-note {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: auto;
	padding-top: 1.4rem;
	color: var(--ah-gold-light);
	font-size: 0.9rem;
	font-weight: 600;
}
.ah-areas-panel__delivery-note svg { stroke: currentColor; stroke-width: 2; fill: none; }

/* Modern Cart plugin — not used on rent-a-car site */
#moderncart-floating-cart,
.moderncart-floating-cart-button,
#moderncart-slide-out-modal,
#moderncart-slide-out,
.moderncart-modal,
.moderncart-plugin,
.moderncart-button,
#ss-cart-drawer,
.ss-cart-drawer,
.wc-block-mini-cart,
[data-ss-open-cart],
.ss-cart-count {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

/* ============================================================
   Stats band — animated counters
   ============================================================ */
.ah-stats-band {
	background: linear-gradient(135deg, var(--ah-black) 0%, var(--ah-charcoal) 100%);
	padding: 2.75rem 0;
	border-top: 1px solid rgba(212,175,55,0.25);
	border-bottom: 1px solid rgba(212,175,55,0.25);
}
.ah-stats-band__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 1rem;
	text-align: center;
}
@media (min-width: 768px) {
	.ah-stats-band__grid { grid-template-columns: repeat(4, 1fr); }
}
.ah-stats-band__item {
	position: relative;
	padding: 0 0.5rem;
}
.ah-stats-band__item:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -0.5rem;
	top: 10%;
	bottom: 10%;
	width: 1px;
	background: rgba(212,175,55,0.2);
	display: none;
}
@media (min-width: 768px) {
	.ah-stats-band__item:not(:last-child)::after { display: block; }
}
.ah-stats-band__num {
	display: block;
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: var(--ah-fs-stat);
	line-height: 1;
	background: linear-gradient(120deg, var(--ah-gold-light), var(--ah-gold));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ah-stats-band__label {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.72);
	letter-spacing: 0.02em;
}

/* ============================================================
   Moments — "Perfect for Every Occasion" teaser grid
   ============================================================ */
.ah-moments {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.ah-moments { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ah-moments { grid-template-columns: repeat(3, 1fr); }
}
.ah-moments__card {
	position: relative;
	background: var(--ah-black);
	border: 1px solid rgba(212,175,55,0.2);
	border-radius: calc(var(--ah-radius) + 2px);
	padding: 1.75rem 1.5rem;
	transition: transform 0.35s var(--ah-ease), border-color 0.35s var(--ah-ease), box-shadow 0.35s var(--ah-ease);
}
.ah-moments__card:hover {
	transform: translateY(-6px);
	border-color: rgba(212,175,55,0.55);
	box-shadow: 0 22px 44px rgba(0,0,0,0.35);
}
.ah-moments__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1.5px solid var(--ah-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ah-gold);
	margin-bottom: 1.1rem;
}
.ah-moments__title {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: var(--ah-fs-h4);
	color: #fff;
	margin: 0 0 0.5rem;
}
.ah-moments__desc {
	font-size: 0.88rem;
	color: rgba(255,255,255,0.65);
	line-height: 1.6;
	margin: 0;
}
.ah-moments__rec {
	display: inline-block;
	margin-top: 0.9rem;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ah-gold-light);
}

/* ============================================================
   Editorial gallery — horizontal-scroll pinned track
   ============================================================ */
.ah-gallery-scroll {
	position: relative;
	background: var(--ah-black);
	padding: 4rem 0 3rem;
	overflow: hidden;
}
.ah-gallery-scroll__head {
	margin-bottom: 2rem;
}
.ss-gallery__track {
	display: flex;
	gap: 1.5rem;
	padding: 0 max(1rem, calc((100vw - var(--ah-container)) / 2));
	will-change: transform;
}
.ah-gallery-scroll__panel {
	position: relative;
	flex: 0 0 auto;
	width: min(78vw, 520px);
	aspect-ratio: 4 / 3;
	border-radius: var(--ah-radius);
	overflow: hidden;
	margin: 0;
	border: 1px solid rgba(212,175,55,0.3);
}
.ah-gallery-scroll__panel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ah-gallery-scroll__panel figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.25rem 1.4rem;
	background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.ah-gallery-scroll__name {
	font-family: var(--ah-font-display);
	font-weight: 700;
	font-size: var(--ah-fs-h4);
	color: #fff;
}
.ah-gallery-scroll__category {
	font-size: 0.78rem;
	color: var(--ah-gold-light);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ============================================================
   Brand category cards — Suzuki / Toyota / Honda / Luxury
   ============================================================ */
.ah-brand-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.ah-brand-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.ah-brand-grid { grid-template-columns: repeat(4, 1fr); }
}
.ah-brand-card {
	position: relative;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: calc(var(--ah-radius) + 2px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.35s var(--ah-ease), transform 0.35s var(--ah-ease), border-color 0.35s var(--ah-ease);
}
.ah-brand-card:hover {
	box-shadow: 0 24px 48px rgba(212,175,55,0.22);
	transform: translateY(-6px);
	border-color: rgba(212,175,55,0.35);
}
.ah-brand-card__image-wrapper {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ah-light);
}
.ah-brand-card__image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ah-ease);
}
.ah-brand-card:hover .ah-brand-card__image-wrapper img {
	transform: scale(1.08);
}
.ah-brand-card__count {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	background: rgba(26,26,26,0.85);
	color: var(--ah-gold-light);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	letter-spacing: 0.02em;
}
.ah-brand-card__content {
	padding: 1.35rem 1.4rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.ah-brand-card__icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(212,175,55,0.16), rgba(212,175,55,0.05));
	color: var(--ah-gold-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.25rem;
}
.ah-brand-card__name {
	font-family: var(--ah-font-display);
	font-weight: 800;
	font-size: var(--ah-fs-h4);
	color: var(--ah-black);
	margin: 0;
}
.ah-brand-card__examples {
	font-size: 0.82rem;
	color: var(--ah-muted);
	line-height: 1.5;
	margin: 0 0 0.85rem;
	min-height: 2.2em;
}

/* ============================================================
   Contact page
   ============================================================ */
.ah-contact-trio {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
	margin-top: -4.5rem;
	position: relative;
	z-index: 3;
}
@media (min-width: 768px) {
	.ah-contact-trio { grid-template-columns: repeat(3, 1fr); }
}
.ah-contact-trio__item {
	background: #fff;
	border-radius: var(--ah-radius);
	padding: 1.5rem 1.4rem;
	box-shadow: 0 20px 44px rgba(0,0,0,0.1);
	border: 1px solid rgba(212,175,55,0.15);
	transition: transform 0.35s var(--ah-ease), box-shadow 0.35s var(--ah-ease);
}
.ah-contact-trio__item:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(212,175,55,0.2); }
.ah-contact-trio__icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, rgba(212,175,55,0.16), rgba(212,175,55,0.05));
	color: var(--ah-gold-dark);
	margin-bottom: 0.9rem;
}
.ah-contact-trio__item h3 { font-family: var(--ah-font-display); font-weight: 700; font-size: 1rem; margin: 0 0 0.35rem; color: var(--ah-black); }
.ah-contact-trio__item p { font-size: 0.85rem; color: var(--ah-muted); margin: 0; line-height: 1.55; }

.ah-contact-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
	align-items: start;
}
@media (min-width: 1024px) {
	.ah-contact-grid { grid-template-columns: 1.4fr 1fr; }
}

.ah-contact-form-card {
	background: #fff;
	border-radius: calc(var(--ah-radius) + 4px);
	padding: 2.25rem 2rem;
	border: 1px solid #e2e8f0;
	box-shadow: 0 20px 50px rgba(0,0,0,0.05);
}
.ah-contact-alert {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.85rem 1.1rem;
	border-radius: 12px;
	font-weight: 600;
	font-size: 0.9rem;
	margin: 1.25rem 0 0;
}
.ah-contact-alert--success { background: rgba(37,211,102,0.1); color: #15803d; border: 1px solid rgba(37,211,102,0.3); }
.ah-contact-alert--error { background: rgba(239,68,68,0.08); color: #b91c1c; border: 1px solid rgba(239,68,68,0.25); }

/* Shared styling for both the native fallback form and Contact Form 7's own markup */
.ah-contact-form { display: flex; flex-direction: column; gap: 1.15rem; margin-top: 1.5rem; }
.ah-contact-form__row { display: grid; gap: 1.15rem; }
@media (min-width: 640px) { .ah-contact-form__row { grid-template-columns: 1fr 1fr; } }
.ah-contact-form label,
.ah-contact-form .wpcf7-form p { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.85rem; font-weight: 700; color: var(--ah-black); margin: 0; }
.ah-contact-form input[type="text"],
.ah-contact-form input[type="email"],
.ah-contact-form input[type="tel"],
.ah-contact-form textarea,
.ah-contact-form .wpcf7-form-control {
	padding: 0.85rem 1.1rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	background: var(--ah-light);
	font-family: var(--ah-font-body);
	font-size: 0.92rem;
	font-weight: 400;
	color: var(--ah-dark);
	transition: border-color 0.25s, background 0.25s;
	width: 100%;
}
.ah-contact-form input:focus,
.ah-contact-form textarea:focus,
.ah-contact-form .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--ah-gold);
	background: #fff;
}
.ah-contact-form textarea { resize: vertical; }
.ah-contact-form .wpcf7-submit { justify-self: flex-start; }
.ah-contact-form .wpcf7-spinner { margin-left: 0.6rem; }
.ah-contact-form .wpcf7-not-valid-tip { color: #dc2626; font-size: 0.78rem; font-weight: 600; margin-top: 0.3rem; }
.ah-contact-form .wpcf7-response-output { border-radius: 12px; margin-top: 1rem; padding: 0.85rem 1.1rem; font-size: 0.85rem; }

.ah-contact-info-card {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, var(--ah-black) 0%, #0d0d0d 100%);
	border: 1px solid rgba(212,175,55,0.3);
	border-radius: calc(var(--ah-radius) + 4px);
	padding: 2.25rem 2rem;
	color: rgba(255,255,255,0.85);
}
.ah-contact-info-card__glow {
	position: absolute;
	top: -20%;
	right: -20%;
	width: 60%;
	height: 60%;
	background: radial-gradient(ellipse, rgba(212,175,55,0.25) 0%, transparent 70%);
	pointer-events: none;
}
.ah-contact-info-card h3 { position: relative; font-family: var(--ah-font-display); font-weight: 700; font-size: 1.15rem; color: #fff; margin: 0 0 1.5rem; }
.ah-contact-info-list { position: relative; list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-direction: column; gap: 1.35rem; }
.ah-contact-info-list li { display: flex; gap: 0.9rem; align-items: flex-start; }
.ah-contact-info-list li > i { flex-shrink: 0; width: 20px; height: 20px; color: var(--ah-gold-light); margin-top: 2px; }
.ah-contact-info-list strong { display: block; font-family: var(--ah-font-display); font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); margin-bottom: 0.25rem; }
.ah-contact-info-list a,
.ah-contact-info-list span { display: block; color: #fff; text-decoration: none; font-size: 0.92rem; line-height: 1.5; }
.ah-contact-info-list a:hover { color: var(--ah-gold-light); }
.ah-contact-info-card__actions { position: relative; display: flex; flex-direction: column; gap: 0.75rem; }

.ah-contact-map {
	margin-top: 3rem;
	border-radius: calc(var(--ah-radius) + 4px);
	overflow: hidden;
	aspect-ratio: 16 / 7;
	border: 1px solid rgba(212,175,55,0.2);
}

/* ============================================================
   Premium light-sweep hover — a diagonal shimmer crossing the
   card on hover, the signature "luxury" micro-interaction.

   Deliberately NOT applied to .ah-fleet-card--premium: a white shimmer over a
   photo reads as a glare artefact rather than polish, and it fought the card's
   own scrim/reveal transition. Those cards use the lift + gold frame instead.
   ============================================================ */
.ah-brand-card::before,
.ah-package-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 42%, rgba(255,255,255,0.5) 50%, transparent 58%);
	transform: translateX(-130%);
	transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
	z-index: 3;
}
.ah-brand-card:hover::before,
.ah-package-card:hover::before {
	transform: translateX(130%);
}

/* Header WhatsApp button — quiet pulse ring to draw the eye */
.ah-header__actions .ah-btn--wa {
	position: relative;
}
.ah-header__actions .ah-btn--wa::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: 0 0 0 0 rgba(37,211,102,0.55);
	animation: ah-wa-pulse 2.6s ease-out infinite;
	pointer-events: none;
}
@keyframes ah-wa-pulse {
	0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.5); }
	70% { box-shadow: 0 0 0 12px rgba(37,211,102,0); }
	100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
@media (prefers-reduced-motion: reduce) {
	.ah-header__actions .ah-btn--wa::after { animation: none; }
}
