/* Full-bleed front-page hero slider. */
.site-main--home-hero { padding-top: 0; }
.site-main--home-hero .home-layout { margin-top: clamp(44px, 6vw, 76px); }

.home-hero {
	position: relative;
	width: 100%;
	background: var(--pm-black);
	color: var(--pm-white);
	overflow: hidden;
}

.home-hero__viewport { overflow: hidden; }
.home-hero__track {
	display: flex;
	width: 100%;
	will-change: transform;
	transition: transform .62s cubic-bezier(.22, .61, .36, 1);
}
.home-hero__track.is-index-0 { transform: translate3d(0, 0, 0); }
.home-hero__track.is-index-1 { transform: translate3d(-100%, 0, 0); }
.home-hero__track.is-index-2 { transform: translate3d(-200%, 0, 0); }

.home-hero__slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: clamp(500px, 72vh, 820px);
	height: clamp(500px, 72svh, 820px);
	isolation: isolate;
}

.home-hero__media,
.home-hero__image,
.home-hero__placeholder,
.home-hero__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.home-hero__media { display: block; color: inherit; }
.home-hero__image { display: block; object-fit: cover; object-position: center; }
.home-hero__placeholder {
	display: block;
	background: linear-gradient(135deg, #171717, var(--pm-purple-deep));
}
.home-hero__overlay {
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(10,10,10,.04) 15%, rgba(10,10,10,.18) 50%, rgba(10,10,10,.88) 100%),
		linear-gradient(90deg, rgba(10,10,10,.34), transparent 62%);
}

.home-hero__content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: flex-end;
	pointer-events: none;
}

.home-hero__content-inner {
	width: min(760px, 100%);
	padding-bottom: clamp(72px, 10vh, 116px);
	padding-bottom: clamp(72px, 10svh, 116px);
	pointer-events: auto;
}

.home-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 14px;
	margin-bottom: 12px;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .065em;
	text-transform: uppercase;
	color: rgba(255,255,255,.78);
}
.home-hero__meta a { color: inherit; text-decoration: none; }
.home-hero__meta a:hover { color: var(--pm-orange); }

.home-hero__title {
	margin: 0;
	font-size: clamp(2.25rem, 5.7vw, 5.25rem);
	line-height: .98;
	letter-spacing: -.045em;
	text-wrap: balance;
	max-width: 14ch;
}
.home-hero__title a { color: var(--pm-white); text-decoration: none; }
.home-hero__title a:hover { color: var(--pm-white); }

.home-hero__excerpt {
	max-width: 62ch;
	margin-top: 17px;
	font-size: clamp(.98rem, 1.5vw, 1.08rem);
	line-height: 1.6;
	color: rgba(255,255,255,.82);
}

.home-hero__controls {
	position: absolute;
	z-index: 4;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	display: none;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	pointer-events: none;
}
.home-hero.is-enhanced .home-hero__controls { display: flex; }
.home-hero__controls > * { pointer-events: auto; }
.home-hero__arrows { display: flex; gap: 8px; }
.home-hero__arrow {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 999px;
	background: rgba(10,10,10,.32);
	color: var(--pm-white);
	cursor: pointer;
	backdrop-filter: blur(8px);
}
.home-hero__arrow:hover { border-color: var(--pm-orange); }

.home-hero__toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 999px;
	background: rgba(10,10,10,.32);
	color: var(--pm-white);
	cursor: pointer;
	backdrop-filter: blur(8px);
}
.home-hero__toggle:hover { border-color: var(--pm-orange); }
.home-hero__toggle-icon { line-height: 1; }
.home-hero__toggle-icon--play { display: none; }
.home-hero.is-paused .home-hero__toggle-icon--pause { display: none; }
.home-hero.is-paused .home-hero__toggle-icon--play { display: inline; }

.home-hero__dots { display: flex; align-items: center; gap: 0; }
.home-hero__dot {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
}
.home-hero__dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgba(255,255,255,.55);
	transition: width .2s ease, background-color .2s ease;
}
.home-hero__dot.is-active::before { width: 24px; background: var(--pm-orange); }
.home-hero__counter {
	margin: 0;
	min-width: 36px;
	font-size: .75rem;
	font-variant-numeric: tabular-nums;
	color: rgba(255,255,255,.72);
}

@media (max-width: 900px) {
	.home-hero__slide {
		height: clamp(440px, 64vh, 680px);
		height: clamp(440px, 64svh, 680px);
	}
	.home-hero__content-inner { padding-bottom: 90px; }
}

@media (max-width: 620px) {
	.site-main--home-hero .home-layout { margin-top: 38px; }
	.home-hero__slide {
		height: clamp(420px, 66vh, 620px);
		height: clamp(420px, 66svh, 620px);
	}
	.home-hero__content-inner { padding-bottom: 92px; }
	.home-hero__title { font-size: clamp(2rem, 10vw, 3.45rem); max-width: 12ch; }
	.home-hero__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.home-hero__controls { bottom: 20px; justify-content: space-between; }
	.home-hero__dots { order: -1; }
	.home-hero__counter { display: none; }
}

@media (max-height: 560px) and (orientation: landscape) {
	.home-hero__slide {
		height: clamp(320px, 78vh, 520px);
		height: clamp(320px, 78svh, 520px);
	}
	.home-hero__content-inner { padding-bottom: 68px; }
	.home-hero__excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.home-hero__track { transition: none; }
	.home-hero__dot::before { transition: none; }
}
