/**
 * ARCADE DIRECT — AUTHENTIC ROUTE MEDIA
 * Design philosophy: one mapped real-world proof image per service route. The composition keeps
 * copy on solid, reliable surfaces and treats portrait source photography as feature media, never
 * as a low-contrast text background or a repeated decorative stock substitute.
 */

.ad-route-media,
.ad-catalogue-authentic {
	padding-block: clamp(3.75rem, 8vw, 7.5rem);
}

.ad-route-media { background: var(--brand-navy, #081224); color: #fff; }
.ad-route-media--activation,
.ad-route-media--games-room { background: #f6f8f8; color: var(--brand-navy, #081224); }

.ad-route-media__inner,
.ad-catalogue-authentic__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}

.ad-route-media__copy,
.ad-catalogue-authentic__copy { max-width: 36rem; }
.ad-route-media__copy h2,
.ad-catalogue-authentic__copy h2 {
	font-family: var(--font-display, "Barlow Condensed", sans-serif);
	font-size: clamp(2.85rem, 5vw, 5.8rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: .88;
	margin: .7rem 0 1.1rem;
	max-width: 10ch;
	text-transform: uppercase;
}

.ad-route-media__copy > p:not(.ad-label),
.ad-catalogue-authentic__copy > p:not(.ad-label) {
	color: var(--brand-grey-soft, #d3e3e3);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 1.5rem;
}
.ad-route-media--activation .ad-route-media__copy > p:not(.ad-label),
.ad-route-media--games-room .ad-route-media__copy > p:not(.ad-label) { color: #314156; }

.ad-route-media__gallery { min-width: 0; }
.ad-route-media__gallery--pair { display: grid; gap: .85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ad-route-media__figure,
.ad-catalogue-authentic__media,
.ad-sale-hero__media { margin: 0; overflow: hidden; }
.ad-route-media__figure { background: #14233b; min-height: 23rem; }
.ad-route-media__figure img,
.ad-catalogue-authentic__media img,
.ad-sale-hero__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ad-route-media__gallery--pair .ad-route-media__figure { min-height: 19rem; }
.ad-route-media--corporate .ad-route-media__figure img { object-position: 55% center; }
.ad-route-media--activation .ad-route-media__figure img { object-position: 48% center; }
.ad-route-media--long-term .ad-route-media__figure img { object-position: 50% center; }
.ad-route-media--games-room .ad-route-media__figure:first-child img { object-position: 70% center; }
.ad-route-media--games-room .ad-route-media__figure:last-child img { object-position: 48% center; }

.ad-catalogue-authentic--hire { background: var(--brand-navy, #081224); color: #fff; }
.ad-catalogue-authentic__media { min-height: clamp(18rem, 32vw, 30rem); }
.ad-catalogue-authentic__media img { object-position: center; }
.ad-catalogue-authentic .ad-label { color: var(--brand-teal, #35bb9d); }

/* Long Term Hire: a dedicated venue-first archive introduction, distinct from event hire. */
.ad-long-term-hero { background: var(--brand-navy, #081224); color: #fff; overflow: hidden; }
.ad-long-term-hero__inner { display: grid; min-height: clamp(35rem, 53vw, 49rem); position: relative; }
.ad-long-term-hero__copy { align-self: center; max-width: 42rem; padding-block: clamp(5.75rem, 10vw, 9.5rem) clamp(3.5rem, 7vw, 6.5rem); position: relative; z-index: 2; }
.ad-long-term-hero .ad-label,
.ad-long-term-intro .ad-label,
.ad-long-term-custom .ad-label { color: var(--brand-teal, #35bb9d); }
.ad-long-term-hero h1,
.ad-long-term-intro h2,
.ad-long-term-custom h2 { font-family: var(--font-display, "Barlow Condensed", sans-serif); font-weight: 800; letter-spacing: -0.03em; line-height: .87; margin: .8rem 0 1.35rem; text-transform: uppercase; }
.ad-long-term-hero h1 { color: #fff; font-size: clamp(3.2rem, 7.6vw, 7.35rem); max-width: 9ch; }
.ad-long-term-hero__copy > p:not(.ad-label) { color: var(--brand-grey-soft, #d3e3e3); font-size: clamp(1.03rem, 1.7vw, 1.23rem); line-height: 1.58; margin: 0; max-width: 35rem; }
.ad-long-term-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.1rem 1.5rem; margin-top: 2rem; }
.ad-long-term-hero__actions .ad-button { min-height: 3.25rem; }
.ad-long-term-hero__note { align-self: end; border-left: 1px solid rgba(211, 227, 227, .34); margin-bottom: clamp(3rem, 7vw, 6rem); max-width: 21rem; padding: .25rem 0 .25rem 1.1rem; position: relative; z-index: 2; }
.ad-long-term-hero__note p:not(.ad-label) { color: var(--brand-grey-soft, #d3e3e3); font-size: .93rem; line-height: 1.52; margin: .65rem 0 0; }
.ad-long-term-hero__media { inset: 0 0 0 auto; margin: 0; min-height: 19rem; overflow: hidden; position: absolute; width: min(50%, 51rem); }
.ad-long-term-hero__media::after { background: linear-gradient(90deg, var(--brand-navy, #081224) 0%, rgba(8, 18, 36, .88) 8%, rgba(8, 18, 36, .12) 57%, rgba(8, 18, 36, .05) 100%); content: ''; inset: 0; position: absolute; }
.ad-long-term-hero__media img { display: block; height: 100%; object-fit: cover; object-position: 50% center; width: 100%; }
.ad-long-term-intro { background: #f6f8f8; color: var(--brand-navy, #081224); padding-block: clamp(4.25rem, 8vw, 7rem); }
.ad-long-term-intro__inner { display: grid; gap: 1.8rem 4rem; }
.ad-long-term-intro h2 { color: var(--brand-navy, #081224); font-size: clamp(3rem, 5.6vw, 5.8rem); max-width: 10ch; }
.ad-long-term-intro__copy { align-self: end; max-width: 35rem; }
.ad-long-term-intro__copy p { color: #314156; font-size: 1.04rem; line-height: 1.62; margin: 0 0 1.4rem; }
.ad-long-term-intro .ad-text-link { color: var(--brand-navy, #081224); }
.ad-long-term-intro .ad-text-link span { color: var(--brand-teal-dark, #26927a); font-size: 1rem; margin-left: .25rem; }
.ad-long-term-custom { background: var(--brand-navy, #081224); color: #fff; padding-block: clamp(4.5rem, 9vw, 8rem); }
.ad-long-term-custom__inner { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5rem); }
.ad-long-term-custom__copy { max-width: 34rem; }
.ad-long-term-custom h2 { color: #fff; font-size: clamp(3rem, 5.8vw, 6rem); max-width: 10ch; }
.ad-long-term-custom__copy > p:not(.ad-label) { color: var(--brand-grey-soft, #d3e3e3); font-size: 1.03rem; line-height: 1.6; margin: 0 0 1.65rem; }
.ad-long-term-custom__copy .ad-button { min-height: 3.25rem; }
.ad-long-term-custom__media { background: #14233b; margin: 0; min-height: clamp(19rem, 33vw, 32rem); overflow: hidden; position: relative; }
.ad-long-term-custom__media::after { background: linear-gradient(135deg, rgba(8, 18, 36, .1), rgba(8, 18, 36, .6)); content: ''; inset: 0; position: absolute; }
.ad-long-term-custom__media img { display: block; height: 100%; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.ad-long-term-browser { padding-top: clamp(4.5rem, 9vw, 8rem); }

@media (min-width: 48rem) {
	.ad-long-term-hero__inner { grid-template-columns: minmax(0, .95fr) minmax(17rem, .45fr) minmax(19rem, .95fr); }
	.ad-long-term-hero__note { grid-column: 2; }
	.ad-long-term-intro__inner { grid-template-columns: minmax(0, 1fr) minmax(17rem, .76fr); }
	.ad-long-term-custom__inner { grid-template-columns: minmax(17rem, .9fr) minmax(18rem, 1.1fr); }
}

@media (max-width: 47.99rem) {
	.ad-long-term-hero__inner { min-height: auto; }
	.ad-long-term-hero__copy { padding-block: 4.75rem 2.5rem; }
	.ad-long-term-hero h1 { font-size: clamp(3rem, 13.8vw, 4.4rem); }
	.ad-long-term-hero__note { margin: 0 0 2.4rem; max-width: 26rem; }
	.ad-long-term-hero__media { inset: auto; min-height: 22rem; position: relative; width: 100%; }
	.ad-long-term-hero__media::after { background: linear-gradient(0deg, rgba(8, 18, 36, .68), transparent 52%); }
	.ad-long-term-intro h2,
	.ad-long-term-custom h2 { font-size: clamp(2.8rem, 13vw, 4.1rem); }
}

@media (prefers-reduced-motion: no-preference) {
	.ad-long-term-custom__media img { transition: transform 280ms cubic-bezier(.23, 1, .32, 1); }
	.ad-long-term-custom__media:hover img { transform: scale(1.025); }
}

.ad-sale-hero__aside { display: grid; gap: 1.35rem; }
.ad-sale-hero__media { aspect-ratio: 4 / 3; border: 1px solid rgba(211, 227, 227, .18); }
.ad-sale-hero__media img { object-position: 50% center; }

@media (min-width: 48rem) {
	.ad-route-media__inner,
	.ad-catalogue-authentic__inner { grid-template-columns: minmax(0, .92fr) minmax(17rem, 1.08fr); }
	.ad-route-media--activation .ad-route-media__inner,
	.ad-route-media--games-room .ad-route-media__inner { grid-template-columns: minmax(17rem, 1.08fr) minmax(0, .92fr); }
	.ad-route-media--activation .ad-route-media__copy,
	.ad-route-media--games-room .ad-route-media__copy { grid-column: 2; }
	.ad-route-media--activation .ad-route-media__gallery,
	.ad-route-media--games-room .ad-route-media__gallery { grid-column: 1; grid-row: 1; }
}

@media (max-width: 47.99rem) {
	.ad-route-media__copy h2,
	.ad-catalogue-authentic__copy h2 { font-size: clamp(2.65rem, 13vw, 4.1rem); }
	.ad-route-media__figure { min-height: 19rem; }
	.ad-route-media__gallery--pair { grid-template-columns: 1fr; }
	.ad-route-media__gallery--pair .ad-route-media__figure { min-height: 23rem; }
	.ad-sale-hero__aside { margin-top: 2.2rem; }
}

@media (prefers-reduced-motion: no-preference) {
	.ad-route-media__figure img,
	.ad-catalogue-authentic__media img,
	.ad-sale-hero__media img { transition: transform 280ms cubic-bezier(.23, 1, .32, 1); }
	.ad-route-media__figure:hover img,
	.ad-catalogue-authentic__media:hover img { transform: scale(1.025); }
}
