/* =========================================================================
   ATL Social (HRG) — app.css
   Sits inside GeneratePress. Colour names are GeneratePress's global colour
   slugs (GP is authoritative for the names, functions.php sets the values);
   they are repeated here because GP's inline CSS is not loaded on our page
   templates. Spacing, type scale and breakpoints: HRG DESIGN-SYSTEM.md.
   Breakpoints (max-width, desktop first): 1200 / 1024 / 767.
   ========================================================================= */

@font-face {
	font-family: "Limelight";
	src: url("fonts/limelight-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	/* GeneratePress global colours (same values as functions.php) */
	--contrast: #F4F1EA;
	--contrast-2: #B8B4AB;
	--contrast-3: #57544F;
	--base: #16161A;
	--base-2: #050505;
	--base-3: #101013;
	--accent: #FFE80A;

	/* HRG spacing scale: every left/right value comes from these three */
	--hrg-space-lg: 40px;
	--hrg-space-md: 30px;
	--hrg-space-sm: 20px;

	--atl-container: 1200px;
	--atl-gutter: var(--hrg-space-lg);
	--atl-section: clamp(56px, 8vw, 104px);
	--atl-line: rgba(244, 241, 234, 0.12);
	--atl-radius: 6px;
	--atl-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--atl-display: "Limelight", Georgia, serif;
}

@media (max-width: 1024px) {
	:root { --atl-gutter: var(--hrg-space-md); }
}
@media (max-width: 767px) {
	:root { --atl-gutter: var(--hrg-space-sm); }
}

/* ---------- Base (our templates; GP's CSS is not loaded there) ---------- */

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

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

body {
	margin: 0;
	background: var(--base-2);
	color: var(--contrast);
	font-family: var(--atl-font);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

img, iframe { max-width: 100%; }
img { height: auto; display: block; }

a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--contrast); }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.5em;
	color: var(--contrast);
	font-family: var(--atl-font);
	text-wrap: balance;
}
h1 { font-size: clamp(34px, 4.2vw, 46px); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; }
h2 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 700; line-height: 1.1; letter-spacing: -0.015em; }
h3 { font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; line-height: 1.15; }
h4 { font-size: 23px; font-weight: 600; line-height: 1.25; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
address { font-style: normal; }

.atl-wrap {
	width: 100%;
	max-width: calc(var(--atl-container) + 2 * var(--atl-gutter));
	margin-inline: auto;
	padding-inline: var(--atl-gutter);
}
.atl-narrow { max-width: calc(820px + 2 * var(--atl-gutter)); }
.atl-center { text-align: center; }

.atl-section { padding-block: var(--atl-section); }
.atl-section--tight { padding-block: calc(var(--atl-section) / 2); }
.atl-section--flush-top { padding-top: 0; }

/* GeneratePress prints the skip link (.screen-reader-text.skip-link); its CSS
   for that class is not loaded on our templates, so it is defined here. */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	border: 0;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	top: 10px;
	left: var(--hrg-space-sm);
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 10px var(--hrg-space-sm);
	clip: auto !important;
	clip-path: none;
	background: var(--accent);
	color: #000;
	font-weight: 700;
	text-decoration: none;
}

/* ---------- Buttons ---------- */

.atl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px var(--hrg-space-md);
	border: 1px solid var(--accent);
	border-radius: var(--atl-radius);
	background: var(--accent);
	color: #000;
	font: 700 15px/1.2 var(--atl-font);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.atl-btn:hover { background: var(--contrast); border-color: var(--contrast); color: #000; }
.atl-btn svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.atl-btn--ghost { background: transparent; color: var(--contrast); border-color: var(--atl-line); }
.atl-btn--ghost:hover { background: transparent; border-color: var(--accent); color: var(--accent); }

.atl-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--hrg-space-sm); margin-top: var(--hrg-space-md); }

/* ---------- Header ---------- */

/* Desktop: logo left, menu right, one row inside the 1200 container. */
.atl-header {
	position: relative;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--hrg-space-md);
	padding-inline: max(var(--atl-gutter), calc((100% - var(--atl-container)) / 2));
	background: var(--base-2);
	border-bottom: 1px solid var(--atl-line);
}
.atl-header__bar {
	display: flex;
	flex: none;
	padding: 12px 0;
}
.atl-header__logo { display: block; line-height: 0; }
.atl-header__logo img { width: 72px; height: 72px; }

.atl-header ul { list-style: none; margin: 0; padding: 0; }

.atl-header .atl-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 2px;
	margin: 0;
	padding: 0;
}
.atl-nav__list a {
	position: relative;
	display: block;
	padding: 12px 12px;
	color: var(--contrast);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}
.atl-nav__list a::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 6px;
	height: 2px;
	background: var(--accent);
	transform: scaleX(0);
	transition: transform .2s;
}
.atl-nav__list a:hover { color: var(--accent); }
.atl-nav__list a[aria-current="page"] { color: var(--accent); }
.atl-nav__list a[aria-current="page"]::after,
.atl-nav__list a:hover::after { transform: scaleX(1); }

/* Toggle: reset GP's button styles too (loaded on blog/search). */
.atl-header .atl-nav-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--atl-line);
	border-radius: var(--atl-radius);
	background: transparent;
	color: var(--contrast);
	font: 600 15px/1 var(--atl-font);
	cursor: pointer;
}
.atl-header .atl-nav-toggle:hover,
.atl-header .atl-nav-toggle:focus { background: transparent; color: var(--accent); }
.atl-nav-toggle__bars,
.atl-nav-toggle__bars::before,
.atl-nav-toggle__bars::after {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
	transition: transform .2s, opacity .2s;
}
.atl-nav-toggle__bars { position: relative; }
.atl-nav-toggle__bars::before,
.atl-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.atl-nav-toggle__bars::before { top: -6px; }
.atl-nav-toggle__bars::after { top: 6px; }
.atl-nav-toggle[aria-expanded="true"] .atl-nav-toggle__bars { background: transparent; }
.atl-nav-toggle[aria-expanded="true"] .atl-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.atl-nav-toggle[aria-expanded="true"] .atl-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

/* Laptop: keep all ten links on one row beside the logo down to 1201px. */
@media (min-width: 1201px) and (max-width: 1366px) {
	.atl-nav__list a { padding-inline: 7px; }
	.atl-nav__list a::after { left: 7px; right: 7px; }
}
@media (max-width: 1200px) {
	.atl-header { position: sticky; top: 0; display: block; padding-inline: 0; }
	.admin-bar .atl-header { top: 32px; }
	.atl-header__bar {
		justify-content: space-between;
		align-items: center;
		padding: 10px var(--atl-gutter);
	}
	.atl-header__logo img { width: 56px; height: 56px; }
	.atl-header .atl-nav-toggle { display: inline-flex; }

	.atl-nav { display: none; border-top: 1px solid var(--atl-line); }
	.atl-nav.is-open { display: block; max-height: calc(100vh - 77px); overflow-y: auto; }
	.atl-header .atl-nav__list { display: block; padding: 8px var(--atl-gutter) 20px; }
	.atl-nav__list a {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 0;
		font-size: 18px;
		border-bottom: 1px solid var(--atl-line);
	}
	.atl-nav__list a::after { display: none; }
	.atl-nav__list a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--accent); padding-left: 14px; }
}
@media (max-width: 782px) {
	.admin-bar .atl-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .atl-header { top: 0; }
}

/* ---------- Page header band ---------- */

.atl-head {
	padding: clamp(48px, 7vw, 88px) 0 clamp(28px, 4vw, 44px);
	border-bottom: 1px solid var(--atl-line);
}
.atl-head__title {
	margin: 0;
	font-size: clamp(40px, 6vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.035em;
}
.atl-head__title::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	margin-top: 18px;
	background: var(--accent);
}
.atl-head--image {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(260px, 36vw, 420px);
	background: linear-gradient(180deg, rgba(5,5,5,.15) 0%, rgba(5,5,5,.55) 55%, var(--base-2) 100%), var(--atl-head-bg) center / cover no-repeat;
	border-bottom: 0;
}
.atl-head--image .atl-wrap { width: 100%; }
.atl-head--tall { min-height: clamp(320px, 42vw, 550px); }
.atl-head--bottom { background-position: center, center bottom; }
.atl-head--over { border-bottom: 0; }

/* Pages that sit on one full background image */
.atl-location,
.atl-events,
.atl-delivery {
	background: linear-gradient(180deg, rgba(5,5,5,.72), rgba(5,5,5,.9)), var(--atl-page-bg) center / cover no-repeat;
}

/* ---------- Galleries ---------- */

.atl-shot {
	display: block;
	overflow: hidden;
	border-radius: var(--atl-radius);
	background: var(--base);
	line-height: 0;
}
.atl-shot img { width: 100%; transition: transform .4s, opacity .2s; }
.atl-shot:hover img { transform: scale(1.03); }
.atl-shot:focus-visible { outline-offset: 2px; }

.atl-grid { display: grid; gap: var(--hrg-space-sm); }
.atl-grid .atl-shot img { height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.atl-grid--tiles { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.atl-grid--three { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.atl-grid--feature { grid-template-columns: repeat(4, 1fr); }
.atl-grid--feature .atl-shot:first-child { grid-column: span 2; grid-row: span 2; }
.atl-grid--feature .atl-shot:first-child img { aspect-ratio: auto; }

.atl-mosaic {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--hrg-space-sm);
}
.atl-mosaic .atl-shot:first-child { grid-row: span 2; }
.atl-mosaic .atl-shot img { height: 100%; object-fit: cover; }

.atl-masonry { columns: 4 240px; column-gap: var(--hrg-space-sm); }
.atl-masonry--3 { columns: 3 260px; }
.atl-masonry .atl-shot { break-inside: avoid; margin-bottom: var(--hrg-space-sm); }

.atl-boards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--hrg-space-lg);
	max-width: 1000px;
	margin-inline: auto;
}

@media (max-width: 1024px) {
	.atl-grid--feature { grid-template-columns: repeat(2, 1fr); }
	.atl-boards { gap: var(--hrg-space-md); }
}
@media (max-width: 767px) {
	.atl-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.atl-mosaic .atl-shot:first-child { grid-column: span 2; grid-row: auto; }
	.atl-boards { grid-template-columns: 1fr; gap: var(--hrg-space-sm); }
	.atl-grid--tiles { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Cards ---------- */

.atl-card {
	padding: var(--hrg-space-lg);
	border: 1px solid var(--atl-line);
	border-radius: var(--atl-radius);
	background: var(--base-3);
}
.atl-card--center { text-align: center; }
.atl-card h3 { font-size: 23px; }
.atl-card p { color: var(--contrast-2); }
@media (max-width: 767px) {
	.atl-card { padding: var(--hrg-space-md) var(--hrg-space-sm); }
}

.atl-note { margin-top: 12px; color: var(--contrast-2); font-size: 15px; }

/* ---------- Home ---------- */

.atl-hero {
	position: relative;
	display: grid;
	min-height: clamp(460px, 72vh, 760px);
	overflow: hidden;
	background: var(--base-2);
}
/* Slides are stacked and crossfade (opacity only). Swipe is handled in app.js. */
.atl-hero__track {
	grid-area: 1 / 1;
	display: grid;
	overflow: hidden;
	touch-action: pan-y;
}
.atl-hero__slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .8s ease, visibility 0s linear .8s;
}
.atl-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity .8s ease, visibility 0s;
}
/* Before JS runs, show the first slide. */
html:not(.atl-js) .atl-hero__slide:first-child { opacity: 1; visibility: visible; }
.atl-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
}
/* Arrows vertically centred on the left and right edges. */
.atl-hero__controls {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}
.atl-hero__controls > * { pointer-events: auto; }
.atl-hero .atl-hero__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(244, 241, 234, 0.35);
	border-radius: 50%;
	background: rgba(5, 5, 5, 0.55);
	color: var(--contrast);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.atl-hero .atl-hero__btn:hover { border-color: var(--accent); color: var(--accent); background: rgba(5, 5, 5, 0.55); }
.atl-hero .atl-hero__btn[data-hero-prev] { left: var(--hrg-space-sm); }
.atl-hero .atl-hero__btn[data-hero-next] { right: var(--hrg-space-sm); }
/* Between phone and wide desktop the copy would run under the side arrows. */
@media (min-width: 768px) and (max-width: 1300px) {
	.atl-hero .atl-hero__copy { padding-inline: 84px; }
}
.atl-hero::after {
	content: "";
	grid-area: 1 / 1;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.55) 45%, rgba(5,5,5,.1) 100%), linear-gradient(0deg, var(--base-2) 0%, rgba(5,5,5,0) 35%);
}
.atl-hero__copy {
	grid-area: 1 / 1;
	position: relative;
	z-index: 2;
	pointer-events: none;
	align-self: end;
	padding-bottom: clamp(40px, 7vw, 88px);
}
.atl-hero__title {
	max-width: 11ch;
	margin-bottom: 18px;
	font-size: clamp(44px, 7vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.035em;
}
.atl-hero__sub {
	max-width: 22ch;
	margin: 0;
	color: var(--accent);
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.15;
	font-weight: 600;
}

.atl-intro__grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: var(--hrg-space-lg);
	align-items: start;
}
.atl-intro__lead { font-size: clamp(19px, 1.9vw, 23px); line-height: 1.55; color: var(--contrast); }
.atl-intro__body { color: var(--contrast-2); border-top: 4px solid var(--accent); padding-top: 22px; }
@media (max-width: 1024px) {
	.atl-intro__grid { grid-template-columns: 1fr; gap: var(--hrg-space-md); }
	.atl-intro__body { max-width: 66ch; }
}

.atl-reel-wrap { padding-top: 0; }
.atl-reel__track {
	display: flex;
	gap: var(--hrg-space-sm);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--atl-gutter);
	padding-inline: var(--atl-gutter);
	scrollbar-width: none;
}
.atl-reel__track::-webkit-scrollbar { display: none; }
.atl-reel__item { flex: 0 0 min(78vw, 820px); scroll-snap-align: start; }
.atl-reel__item img { aspect-ratio: 16 / 7; object-fit: cover; height: 100%; }
.atl-reel__controls { display: flex; justify-content: flex-end; gap: 10px; margin-top: var(--hrg-space-sm); }
.atl-reel .atl-reel__btn {
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--atl-line);
	border-radius: 50%;
	background: transparent;
	color: var(--contrast);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.atl-reel .atl-reel__btn:hover { border-color: var(--accent); color: var(--accent); background: transparent; }
@media (max-width: 767px) {
	.atl-reel__item { flex-basis: 86vw; }
}

.atl-follow {
	background: linear-gradient(90deg, var(--base-2) 0%, rgba(5,5,5,.6) 50%, var(--base-2) 100%), var(--atl-follow-bg) center / cover no-repeat;
	border-block: 1px solid var(--atl-line);
}
.atl-follow__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--hrg-space-sm); }
.atl-follow__title { margin: 0; }

/* ---------- Social icons ---------- */

.atl-social { display: flex; gap: 12px; list-style: none; margin: 0; padding: 0; }
.atl-social__link {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--base);
	color: var(--contrast);
	transition: background-color .15s, color .15s;
}
.atl-social__link svg { width: 20px; height: 20px; fill: currentColor; }
.atl-social__link:hover { color: #fff; }
.atl-social__link--facebook:hover { background: #0866ff; }
.atl-social__link--instagram:hover { background: #f00075; }
.atl-social__link--tiktok:hover { background: #000; box-shadow: inset 0 0 0 1px var(--contrast-3); }
.atl-social--lg .atl-social__link { width: 56px; height: 56px; }
.atl-social--lg .atl-social__link svg { width: 24px; height: 24px; }

/* ---------- Menu ---------- */

.atl-split--board {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--hrg-space-lg);
	align-items: start;
}
.atl-split__board { position: sticky; top: var(--hrg-space-md); }
.atl-board img { width: 100%; }
@media (max-width: 1024px) {
	.atl-split--board { grid-template-columns: 1fr; }
	.atl-split__board { position: static; max-width: 560px; }
}

/* ---------- Location ---------- */

.atl-location__title { margin-bottom: var(--hrg-space-lg); }
.atl-location__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: var(--hrg-space-lg);
	align-items: stretch;
}
.atl-map {
	overflow: hidden;
	border: 1px solid var(--atl-line);
	border-radius: var(--atl-radius);
	background: var(--base);
	line-height: 0;
}
.atl-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
.atl-hours { display: flex; flex-direction: column; gap: 4px; background: rgba(16,16,19,.92); }
.atl-hours .atl-hours__title { font-size: 22px; margin-bottom: 14px; letter-spacing: 0; }
.atl-hours__days { color: var(--contrast-2); }
.atl-hours .atl-hours__time { font-size: clamp(26px, 3vw, 34px); font-weight: 700; color: var(--accent); line-height: 1.2; }
.atl-hours__addr { margin: auto 0 var(--hrg-space-sm); padding-top: var(--hrg-space-md); color: var(--contrast); }
.atl-hours .atl-btn { align-self: flex-start; }
@media (max-width: 1024px) {
	.atl-location__grid { grid-template-columns: 1fr; gap: var(--hrg-space-md); }
	.atl-map iframe { min-height: 360px; }
}

/* ---------- Private parties ---------- */

.atl-pp__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: var(--hrg-space-lg);
	align-items: center;
}
.atl-pp__copy h1 {
	margin: 0 0 22px;
	font-family: var(--atl-display);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
}
.atl-pp__copy h1 strong { font-weight: 400; }
.atl-pp__copy h1:first-child { color: var(--accent); font-size: clamp(30px, 3.4vw, 40px); line-height: 1.15; }
.atl-pp__copy h1:last-child { margin-bottom: 0; color: var(--contrast-2); font-size: 22px; }
@media (max-width: 1024px) {
	.atl-pp__grid { grid-template-columns: 1fr; gap: var(--hrg-space-md); }
}

/* ---------- Careers form ---------- */

.atl-form-card h2 { font-size: clamp(26px, 3vw, 30px); margin-bottom: var(--hrg-space-md); }
.atl-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--hrg-space-sm) var(--hrg-space-md);
}
.atl-field--full { grid-column: 1 / -1; }
.atl-field label { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 600; }
.atl-req { color: var(--accent); }
.atl-form input,
.atl-form select {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--contrast-3);
	border-radius: var(--atl-radius);
	background: var(--base-2);
	color: var(--contrast);
	font: 16px/1.4 var(--atl-font);
	color-scheme: dark;
}
.atl-form input:focus,
.atl-form select:focus { border-color: var(--accent); outline: 2px solid var(--accent); outline-offset: 0; }
.atl-form [aria-invalid="true"] { border-color: #ff6b6b; }
.atl-field__error { margin: 6px 0 0; color: #ff8a8a; font-size: 15px; }
.atl-form__submit { padding-top: 10px; }
.atl-form .atl-btn { min-width: 240px; }
.atl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.atl-notice {
	margin-bottom: var(--hrg-space-md);
	padding: 14px var(--hrg-space-sm);
	border-radius: var(--atl-radius);
	border: 1px solid;
	font-weight: 600;
}
.atl-notice--ok { border-color: var(--accent); background: rgba(255,232,10,.08); color: var(--contrast); }
.atl-notice--error { border-color: #ff6b6b; background: rgba(255,107,107,.1); color: #ffd2d2; }

@media (max-width: 767px) {
	.atl-form { grid-template-columns: 1fr; }
	.atl-form .atl-btn { width: 100%; }
}

/* ---------- Delivery partners ---------- */

.atl-delivery__band { min-height: 60vh; }
.atl-partners {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--hrg-space-sm);
	max-width: 520px;
	margin: var(--hrg-space-lg) 0 0;
	padding: 0;
	list-style: none;
}
.atl-partners li { overflow: hidden; border-radius: var(--atl-radius); background: #fff; }
.atl-partners img { width: 100%; }

/* ---------- About ---------- */

.atl-about__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
	gap: var(--hrg-space-lg);
	align-items: start;
}
.atl-about__text p:not(.atl-intro__lead) { color: var(--contrast-2); max-width: 66ch; }
.atl-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin: var(--hrg-space-lg) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--atl-line);
}
.atl-feature { padding: var(--hrg-space-md) var(--hrg-space-md) var(--hrg-space-md) 0; border-bottom: 1px solid var(--atl-line); }
.atl-feature h3 { font-size: 23px; line-height: 1.25; }
.atl-feature h3::before { content: ""; display: block; width: 24px; height: 3px; margin-bottom: 16px; background: var(--accent); }
.atl-feature p { color: var(--contrast-2); }
@media (max-width: 1024px) {
	.atl-about__intro { grid-template-columns: 1fr; gap: var(--hrg-space-sm); }
	.atl-features { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.atl-features { grid-template-columns: 1fr; }
	.atl-feature { padding-right: 0; }
}

/* ---------- Contact ---------- */

.atl-contact__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--hrg-space-sm); }
.atl-contact__grid address { margin-bottom: var(--hrg-space-sm); color: var(--contrast-2); }
.atl-hours-list { margin: 0; }
.atl-hours-list div { display: flex; justify-content: space-between; gap: var(--hrg-space-sm); padding: 6px 0; border-bottom: 1px solid var(--atl-line); }
.atl-hours-list dt { color: var(--contrast-2); }
.atl-hours-list dd { margin: 0; font-weight: 700; }
.atl-contact .atl-social { margin-top: var(--hrg-space-sm); }
.atl-routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--hrg-space-sm); }
.atl-route { padding: var(--hrg-space-md) 0; border-top: 4px solid var(--accent); }
.atl-route h3 { font-size: 23px; }
.atl-route p { color: var(--contrast-2); }
.atl-route a { font-weight: 700; text-decoration: none; }
.atl-map--wide iframe { min-height: 420px; }
@media (max-width: 1024px) {
	.atl-contact__grid, .atl-routes { grid-template-columns: 1fr; }
}

/* ---------- Get Access + footer ---------- */

.atl-access {
	padding-block: clamp(48px, 6vw, 80px);
	background: var(--accent);
	color: #000;
}
.atl-access__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--hrg-space-md) var(--hrg-space-lg);
	align-items: center;
}
.atl-access h2 { margin-bottom: 10px; color: #000; font-size: clamp(36px, 4.6vw, 48px); }
.atl-access p { margin: 0; max-width: 46ch; font-size: 18px; }
.atl-access__links { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.atl-access .atl-btn--ghost { border-color: #000; color: #000; }
.atl-access .atl-btn--ghost:hover { background: #000; color: var(--accent); border-color: #000; }
@media (max-width: 1024px) {
	.atl-access__inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.atl-access__links { flex-direction: column; }
	.atl-access__links .atl-btn { width: 100%; }
}

.atl-footer {
	padding-top: clamp(48px, 6vw, 72px);
	background: var(--base-2);
	color: var(--contrast-2);
	font-size: 16px;
	line-height: 1.6;
}
.atl-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr repeat(4, 1fr);
	gap: var(--hrg-space-lg) var(--hrg-space-md);
}
.atl-footer__brand img { width: 88px; height: 88px; margin-bottom: 16px; }
.atl-footer__brand p { max-width: 24ch; color: var(--contrast); font-weight: 600; }
.atl-footer .atl-footer__title {
	margin-bottom: 14px;
	color: var(--contrast);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}
.atl-footer address { margin-bottom: 10px; }
.atl-footer__hours { color: var(--accent); }
.atl-footer__links { margin: 0; padding: 0; list-style: none; }
.atl-footer__links li { margin: 0 0 6px; }
.atl-footer a:not(.atl-social__link) { color: var(--contrast-2); text-decoration: none; }
.atl-footer a:not(.atl-social__link):hover { color: var(--accent); }
.atl-footer .atl-footer__link { color: var(--accent); }
.atl-footer__base {
	margin-top: clamp(40px, 5vw, 64px);
	padding-block: 22px;
	border-top: 1px solid var(--atl-line);
	font-size: 14px;
}
@media (max-width: 1024px) {
	.atl-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.atl-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.atl-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--hrg-space-md) var(--hrg-space-sm); }
}

/* ---------- Lightbox ---------- */

.atl-lightbox {
	width: min(96vw, 1400px);
	max-width: none;
	max-height: 94vh;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}
.atl-lightbox::backdrop { background: rgba(0,0,0,.9); }
.atl-lightbox img { width: auto; max-width: 100%; max-height: 90vh; margin: 0 auto; border-radius: var(--atl-radius); }
.atl-lightbox form { position: absolute; top: -8px; right: 0; margin: 0; transform: translateY(-100%); }
.atl-lightbox .atl-lightbox__close {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--atl-line);
	border-radius: 50%;
	background: var(--base-2);
	color: var(--contrast);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

/* ---------- Scroll reveal (the one allowed motion) ---------- */

.atl-js .atl-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.atl-js .atl-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
	.atl-js .atl-reveal { opacity: 1; transform: none; }
	.atl-shot:hover img { transform: none; }
}

/* ---------- GeneratePress pages (blog, search, archive, 404) ---------- */
/* GP's layout CSS is loaded on these; we only bring them onto our ground. */

body:not(.atl-tpl) { background-color: var(--base-2); color: var(--contrast); font-family: var(--atl-font); }
body:not(.atl-tpl) .site-content { padding-top: var(--atl-section); padding-bottom: var(--atl-section); }
.separate-containers .inside-article,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header { background-color: var(--base-3); color: var(--contrast); border: 1px solid var(--atl-line); border-radius: var(--atl-radius); }
.atl-blog-header,
.separate-containers .page-header { margin-bottom: var(--hrg-space-sm); padding: var(--hrg-space-md) var(--hrg-space-lg); }
.atl-blog-header .page-title,
.page-header .page-title { margin: 0; font-size: clamp(34px, 4.2vw, 46px); }
.entry-title, .entry-title a { color: var(--contrast); }
.entry-title a:hover { color: var(--accent); }
body:not(.atl-tpl) .entry-summary p,
body:not(.atl-tpl) .entry-content p { font-size: 18px; line-height: 1.75; max-width: 66ch; }
body:not(.atl-tpl) .entry-meta, body:not(.atl-tpl) .entry-meta a { color: var(--contrast-2); }
body:not(.atl-tpl) .search-form input[type="search"] {
	min-height: 48px;
	border: 1px solid var(--contrast-3);
	background: var(--base-2);
	color: var(--contrast);
	font-size: 16px;
}
body:not(.atl-tpl) .search-form .search-submit,
body:not(.atl-tpl) button:not(.atl-nav-toggle):not(.atl-reel__btn):not(.atl-lightbox__close),
body:not(.atl-tpl) input[type="submit"] {
	min-height: 48px;
	background: var(--accent);
	color: #000;
	border: 0;
	font-weight: 700;
}
@media (max-width: 767px) {
	.atl-blog-header,
	.separate-containers .page-header { padding: var(--hrg-space-sm); }
}
