/* Full-bleed front-page hero slider. Flat colors; movement is functional only. */
.site-main--home-hero { padding-top: 0; }

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

.home-hero__viewport { overflow: hidden; }
.home-hero__track { display: flex; width: 100%; }

/* Front page only: one lightweight transform transition makes slide changes
 * visibly move without adding a carousel library or decorative effects. */
.site-main--home .home-hero.is-enhanced .home-hero__track {
	transition: transform 560ms 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, 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: var(--pm-surface-strong); }
.home-hero__overlay { z-index: 1; background: rgb(var(--pm-overlay-rgb) / .68); }

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

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

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

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

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

.home-hero__controls {
	position: absolute;
	z-index: 4;
	left: 50%;
	bottom: 24px;
	display: none;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	transform: translateX(-50%);
	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,
.home-hero__toggle {
	display: inline-grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 1px solid rgb(var(--pm-hero-text-rgb) / .42);
	border-radius: 8px;
	background: rgb(var(--pm-overlay-rgb) / .72);
	color: rgb(var(--pm-hero-text-rgb));
	cursor: pointer;
}
.home-hero__arrow:hover,
.home-hero__toggle:hover { border-color: var(--pm-accent); }

.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;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.home-hero__dot::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgb(var(--pm-hero-text-rgb) / .55);
}
.home-hero__dot.is-active::before { background: var(--pm-accent); }
.home-hero__counter {
	min-width: 36px;
	margin: 0;
	color: rgb(var(--pm-hero-text-rgb) / .72);
	font-size: .75rem;
	font-variant-numeric: tabular-nums;
}

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

@media (max-width: 620px) {
	.home-hero__slide { height: clamp(420px, 66svh, 620px); }
	.home-hero__content-inner { padding-bottom: 92px; }
	.home-hero__meta { font-size: .82rem; }
	.home-hero__title { max-width: 12ch; font-size: clamp(2.1rem, 10.5vw, 3.55rem); }
	.home-hero__excerpt {
		display: -webkit-box;
		overflow: hidden;
		font-size: 1.02rem;
		-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, 78svh, 520px); }
	.home-hero__content-inner { padding-bottom: 68px; }
	.home-hero__excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.site-main--home .home-hero.is-enhanced .home-hero__track { transition: none; }
}
