/* Hero */
html.is-hero-auto-scrolling {
	scroll-behavior: auto !important;
}

.hero {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--hero-viewport-offset, 99px) - 29px);
	min-height: calc(100svh - var(--hero-viewport-offset, 99px) - 29px);
	min-height: calc(100dvh - var(--hero-viewport-offset, 99px) - 29px);
	margin-block: 0;
	padding: 0 var(--site-gutter) 14px;
	color: var(--hero-foreground, var(--site-text));
	background-color: var(--hero-surface, #1EA9A4);
}

body.has-scroll-hero {
	background-color: var(--hero-surface, #1EA9A4);
}

body.has-scroll-hero header.wp-block-template-part,
body.has-scroll-hero .site-header{
	color: var(--hero-foreground, var(--site-text));
	background-color: var(--hero-surface, #1EA9A4);
}

body.has-scroll-hero .site-breadcrumbs :where(a, li + li::before) {
	color: var(--hero-foreground, var(--site-text));
}

body.has-scroll-hero .site-header__menu .sub-menu {
	border-color: var(--hero-rule-color, var(--site-border-subtle));
	color: var(--hero-foreground, var(--site-text));
	background-color: var(--hero-surface, #1EA9A4);
}

.hero__stage {
	position: relative;
	display: flex;
	flex: 1;
	align-items: flex-end;
	width: 100%;
	min-height: 0;
	margin: 0;
}

.hero__title {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	font-size: calc(clamp(32px, calc(-2px + 4.7916667vw), 92px) * var(--a11y-text-scale, 1));
	font-weight: 300;
	line-height: 1.2;
	text-wrap: balance;
	background-color: var(--hero-surface, #1EA9A4);
	overflow-anchor: none;
	padding-top: 82px;
	border-top: 1px solid;
}

.hero__title-text {
	display: block;
	width: 100%;
	max-width: 1400px;
}

.hero__title-placeholder {
	display: none;
	flex: 0 0 auto;
	width: min(75%, 1900px);
	overflow-anchor: none;
}

.hero__title-placeholder.is-active {
	display: block;
}

.hero__title.is-stuck {
	position: fixed;
	top: var(
		--hero-title-sticky-top,
		calc(var(--wp-admin-bar-offset) + var(--site-header-height, 94px) - 1px)
	);
	right: var(--site-gutter);
	left: var(--site-gutter);
	z-index: 90;
	width: auto;
	max-width: none;
	margin: 0;
	opacity: 1;
	transition: opacity 500ms ease;
}

.hero__title-compact {
	position: fixed;
	top: var(
		--hero-compact-title-top,
		calc(var(--wp-admin-bar-offset) + var(--site-header-height, 94px))
	);
	right: var(--site-gutter);
	left: var(--site-gutter);
	z-index: 101;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 94px;
	margin: 0;
	overflow: hidden;
	font-size: calc(clamp(32px, 2.9166667vw, 57px) * var(--a11y-text-scale, 1));
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.025em;
	text-align: left;
	white-space: nowrap;
	text-overflow: ellipsis;
	background-color: var(--hero-surface, #1EA9A4);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0);
	transition:
		top var(--site-header-motion-duration) var(--site-header-motion-easing),
		transform var(--site-header-motion-duration) var(--site-header-motion-easing),
		opacity 500ms ease,
		visibility 0s linear 500ms;
	will-change: transform;
}

.hero.is-compact-title .hero__title.is-stuck {
	opacity: 0;
	pointer-events: none;
}

.hero.is-compact-title .hero__title-compact {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
	pointer-events: auto;
}

.hero.is-header-hidden .hero__title-compact {
	transform: translateY(calc(-1 * var(--hero-header-shift, 94px)));
}

.hero__media-track {
	position: absolute;
	z-index: 1000;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 1;
	visibility: visible;
	pointer-events: none;
	transition:
		opacity 500ms ease,
		visibility 0s linear 0s;
}

.hero.is-compact-title .hero__media-track {
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 500ms ease,
		visibility 0s linear 500ms;
}

.hero__media {
	position: fixed;
	z-index: 1001;
	top: 80px;
	right: var(--site-gutter);
	width: 80.35vh;
	height: 57vh;
	width: 80.35svh;
	height: 57svh;
	width: 80.35dvh;
	height: 57dvh;
	max-width: calc(100vw - (2 * var(--site-gutter)));
	max-height: calc((100vw - (2 * var(--site-gutter))) * 0.8547);
	margin: clamp(10px, 1.5vh, 24px) 0 0 auto;
	aspect-ratio: 1.17 / 1;
	overflow: hidden;
	transform: scale(var(--hero-image-scale, 1));
	transform-origin: top right;
	will-change: transform;
}

.hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__scroll {
	position: absolute;
	right: var(--site-gutter);
	bottom: clamp(36px, 9vh, 84px);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: calc(13px * var(--a11y-text-scale, 1));
	font-weight: 500;
	font-family: inherit;
	line-height: 1;
	color: inherit;
	background: transparent;
	text-transform: lowercase;
	opacity: var(--hero-scroll-opacity, 1);
	transform: rotate(90deg);
	transform-origin: right bottom;
	cursor: pointer;
	will-change: opacity;
}

.hero__scroll-arrow {
	font-size: calc(18px * var(--a11y-text-scale, 1));
	transform: rotate(-90deg);
}

.hero__navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
	min-height: 44px;
	border: solid var(--hero-rule-color, var(--site-border-strong));
	border-width: 1px 0;
	font-size: calc(16px * var(--a11y-text-scale, 1));
	line-height: 1.2;
}

.hero__navigation-placeholder {
	display: none;
	width: 100%;
	overflow-anchor: none;
}

.hero__navigation-placeholder.is-active {
	display: block;
}

.hero__navigation.is-stuck {
	position: fixed;
	top: var(--hero-navigation-sticky-top);
	right: var(--site-gutter);
	left: var(--site-gutter);
	z-index: 100;
	width: auto;
	margin: 0;
	background-color: var(--site-background);
	transform: translateY(0);
	transition:
		top var(--site-header-motion-duration) var(--site-header-motion-easing),
		transform var(--site-header-motion-duration) var(--site-header-motion-easing);
	will-change: transform;
}

:root[data-theme="dark"] .hero__navigation.is-stuck {
	background-color: var(--hero-surface, #000);
}

.hero.is-header-hidden .hero__navigation.is-stuck {
	transform: translateY(calc(-1 * var(--hero-header-shift, 94px)));
}

.hero__navigation a {
	color: inherit;
	text-decoration: none;
}

.hero__stream-link,
.hero__stream-content {
	min-width: 0;
}

.hero__stream-link {
	width: 100%;
}

.hero__stream-content,
.hero__stream-details {
	display: flex;
	align-items: center;
	gap: 8px 20px;
}

.hero__stream-content {
	flex: 1;
}

.hero__stream-action {
	flex: 0 0 auto;
}

.hero__stream-details {
	min-width: 0;
	margin-left: auto;
}

.hero__stream-name {
	overflow: hidden;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hero__stream-time {
	flex: 0 0 auto;
	font-variant-numeric: tabular-nums;
}

.hero__navigation-with-submenu::after {
	display: inline-block;
	margin-left: 8px;
	content: "⌄";
}

.hero__navigation-more {
	margin-left: auto;
}

.hero__navigation-more::after {
	display: inline-block;
	margin-left: 8px;
	content: "→";
}

@media (max-width: 1024px) {
	body.has-scroll-hero.has-open-menu header.wp-block-template-part,
	body.has-scroll-hero.has-open-menu .site-header,
	body.has-scroll-hero.has-open-menu .site-header__bar {
		color: var(--site-text);
		background: var(--site-background);
	}

	body.has-scroll-hero .site-header__menu .sub-menu {
		color: inherit;
		background: transparent;
	}

	.hero__media-track {
		z-index: 10;
	}

	.hero__media {
		z-index: 11;
	}

	.hero {
		padding-bottom: 10px;
	}

	.hero__stage {
		display: grid;
		align-content: space-between;
		gap: 28px;
		padding-block: 28px;
		padding-top: 6px;
	}

	.hero__title {
		max-width: 100%;
		border-top: unset;
		padding-top: 0;
	}

	.hero__title:before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: -91px;
		width: 100%;
		height: 1px;
		background: #000;
	}

	.hero__title-placeholder {
		width: 100%;
	}

	.hero__title.is-stuck {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		max-width: 100%;
	}

	.hero__title-compact {
		display: none;
	}

	.hero__title-placeholder.is-active {
		display: none;
	}

	.hero__scroll {
		display: none;
	}

	.hero__media {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		margin: 0;
		transform: none;
		will-change: auto;
	}

	.hero__media-track {
		position: relative;
		grid-row: 1;
		height: auto;
	}

	.hero__navigation {
		gap-inline: 16px;
		font-size: calc(14px * var(--a11y-text-scale, 1));
	}

	.hero__stream-content {
		align-items: flex-start;
		flex-direction: column;
		padding-block: 10px;
	}

	.hero__stream-details {
		align-items: flex-start;
		flex-wrap: wrap;
		margin-left: 0;
	}

	.hero__navigation.is-stuck {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
	}

	.hero__navigation-placeholder.is-active {
		display: none;
	}
}

@media (max-width: 767px) {
	.wp-site-blocks > .site-breadcrumbs-part + main.wp-block-group {
		margin-block-start: 0;
	}

	.hero {
		position: relative;
		min-height: 0;
		padding-inline: 16px;
	}

	.hero__media {
		width: 100%;
		height: auto;
		max-width: none;
		max-height: none;
	}

	.hero__navigation-more {
		margin-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.has-scroll-hero header.wp-block-template-part,
	.hero__title,
	.hero__title-compact,
	.hero__navigation,
	.hero__navigation.is-stuck,
	.hero__media-track,
	.hero.is-compact-title .hero__media-track {
		transition: none;
	}
}
