/* =========================================================
   ALSTON — FLEET & SERVICES MEGA MENU

   A full-width panel that drops below the header. Dark glass over
   the dark header, white once the header turns solid. Panels are
   real lists of links, so they also work without JavaScript.
========================================================= */

.amm {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 50;
	display: block;
	pointer-events: none;
}

.amm[hidden] {
	display: none;
}

.amm__panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: clamp(22px, 2.6vw, 40px) 0 clamp(24px, 3vw, 44px);
	background: rgba(255, 255, 255, .985);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border-top: 1px solid #E6E6E6;
	border-bottom: 1px solid rgba(201, 169, 97, .5);
	box-shadow: 0 30px 60px -40px rgba(14, 14, 14, .45);
	color: #0E0E0E;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity .35s cubic-bezier(.2, .7, .2, 1), transform .45s cubic-bezier(.2, .7, .2, 1), visibility .35s;
}

.amm__panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

.amm__inner {
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: clamp(24px, 3vw, 56px);
	align-items: start;
}

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

.amm .hl {
	color: #C9A961;
}

/* ---------- Intro column ---------- */

.amm__intro {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.amm__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font: 500 10px/1.2 "Inter", system-ui, sans-serif;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #5A5A5A;
}

.amm__eyebrow::before {
	content: "";
	width: 24px;
	height: 1px;
	background: #C9A961;
}

.amm__title {
	margin: 0;
	font: 200 clamp(22px, 2vw, 30px)/1.12 "Jost", "Helvetica Neue", sans-serif;
	letter-spacing: -.01em;
}

.amm__text {
	margin: 0;
	font: 300 13px/1.6 "Inter", system-ui, sans-serif;
	color: #5A5A5A;
}

.amm__all,
.amm__quote {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	font: 500 10px/1 "Inter", system-ui, sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #8A6D2F;
	text-decoration: none;
	transition: color .3s;
}

.amm__quote {
	margin-top: 0;
	color: #0E0E0E;
}

.amm__all:hover,
.amm__quote:hover {
	color: #C9A961;
}

/* ---------- Link grids ---------- */

.amm__grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.amm__grid--fleet {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.amm__grid--svc {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px 16px;
}

.amm__grid li {
	margin: 0;
	padding: 0;
}

.amm__grid a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border: 1px solid transparent;
	color: inherit;
	text-decoration: none;
	transition: border-color .3s, background .3s, transform .4s cubic-bezier(.2, .7, .2, 1);
}

.amm__grid a:hover,
.amm__grid a:focus-visible {
	border-color: rgba(201, 169, 97, .55);
	background: #FAF8F3;
	color: inherit;
	transform: translateX(3px);
}

.amm__grid a::after {
	content: none;
}

.amm__vico {
	flex: none;
	width: 64px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #F7F4EC;
	border: 1px solid #EDE6D6;
	transition: background .35s, border-color .35s, transform .5s cubic-bezier(.2, .7, .2, 1);
}

.amm__vico svg {
	width: 46px;
	height: 29px;
}

.amm__grid a:hover .amm__vico,
.amm__grid a:focus-visible .amm__vico {
	background: #0E0E0E;
	border-color: #0E0E0E;
	transform: translateY(-2px);
}

.amm__grid a:hover .amm__vico svg,
.amm__grid a:focus-visible .amm__vico svg {
	stroke: #FFFFFF;
}

.amm__ico {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #F5F0E4;
	color: #0E0E0E;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .35s, color .35s, transform .5s cubic-bezier(.2, .7, .2, 1);
}

.amm__grid a:hover .amm__ico {
	background: #C9A961;
	color: #0E0E0E;
	transform: rotate(-8deg);
}

.amm__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.amm__seats {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font: 200 20px/1 "Jost", "Helvetica Neue", sans-serif;
	letter-spacing: -.02em;
	color: #C9A961;
}

.amm__seats small {
	font: 500 8.5px/1 "Inter", system-ui, sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: inherit;
}

.amm__name {
	font: 400 15px/1.25 "Jost", "Helvetica Neue", sans-serif;
	letter-spacing: 0;
	text-transform: none;
}

.amm__cls {
	font: 300 12px/1.4 "Inter", system-ui, sans-serif;
	color: #6B6B6B;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* A chevron on the menu items that open a panel */
.alston-header__menu .amm-has-panel > svg {
	margin-left: 6px;
	transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}

.alston-header__menu .amm-has-panel[aria-expanded="true"] > svg {
	transform: rotate(180deg);
}

/* ---------- Mobile accordions (inside the existing mobile menu) ---------- */

.amm-m {
	margin: 0 0 6px;
	padding: 0 0 10px;
	list-style: none;
	display: none;
	flex-direction: column;
	gap: 2px;
}

.amm-m.is-open {
	display: flex;
}

.amm-m a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0 9px 14px;
	border-left: 1px solid rgba(255, 255, 255, .15);
	color: rgba(255, 255, 255, .78);
	font: 300 15px/1.3 "Jost", "Helvetica Neue", sans-serif;
	text-decoration: none;
}

.amm-m a:hover,
.amm-m a:focus-visible {
	color: #C9A961;
	border-left-color: #C9A961;
}

.amm-m__seats {
	flex: none;
	min-width: 34px;
	font: 200 19px/1 "Jost", "Helvetica Neue", sans-serif;
	color: #C9A961;
}

.amm-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-left: 8px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	background: none;
	color: inherit;
	cursor: pointer;
	vertical-align: middle;
	transition: transform .4s cubic-bezier(.2, .7, .2, 1), border-color .3s;
}

.amm-toggle[aria-expanded="true"] {
	transform: rotate(180deg);
	border-color: #C9A961;
	color: #C9A961;
}

/* ---------- Responsive ---------- */

@media (max-width: 1280px) {

	.amm__inner {
		grid-template-columns: 210px minmax(0, 1fr);
	}

	.amm__grid--svc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {

	.amm {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {

	.amm__panel,
	.amm__grid a,
	.amm__ico,
	.amm__thumb img {
		transition: none;
	}
}
