/* Home hero slider: one 1920 x 650 image is used at every breakpoint. */
.home-hero {
	position: relative !important;
	isolation: isolate;
	display: block;
	width: 100%;
	min-height: 0;
	aspect-ratio: 1920 / 650;
	padding: 0;
	overflow: hidden;
	background-color: #17191c;
}

.home-hero-slider,
.home-hero-slider .splide,
.home-hero-slider .splide__track,
.home-hero-slider .splide__list,
.home-hero-slider .splide__list > .brxe-block,
.home-hero-slider .splide__slide {
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
}

.home-hero-slider .splide__list > .brxe-block,
.home-hero-slider .splide__slide,
.home-hero-slider .splide__slide > .brxe-block,
.home-hero-slider .splide__list > .brxe-block > .brxe-block {
	background-position: center center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
}

.home-hero-slider .splide__list > .brxe-block,
.home-hero-slider .splide__slide {
	position: relative;
	display: flex !important;
	align-items: stretch !important;
	overflow: hidden;
}

.home-hero-slider .splide__slide > .brxe-block,
.home-hero-slider .splide__list > .brxe-block > .brxe-block {
	width: 100%;
	height: 100%;
	min-height: 100%;
}

/* Text contrast layer. */
.home-hero-slider .splide__slide::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: '';
	pointer-events: none;
	background: linear-gradient(90deg, rgba(5, 10, 12, .78) 0%, rgba(5, 10, 12, .58) 43%, rgba(5, 10, 12, .18) 76%, rgba(5, 10, 12, .12) 100%);
}

.home-hero-slider .hero-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: min(650px, calc(100% - 92px));
	height: 100%;
	min-width: 0;
	margin-left: max(46px, calc((100vw - 1100px) / 2));
	color: #ffffff;
	text-align: left;
}

/* Style the Bricks Heading element, independently of its H1/H2 semantic tag. */
.home-hero-slider .hero-content > .brxe-heading {
	max-width: 650px;
	margin: 0 0 18px;
	color: #ffffff;
	font-size: clamp(44px, 5vw, 72px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: .015em;
	text-transform: uppercase;
}

.home-hero-slider .hero-content .brxe-text-basic,
.home-hero-slider .hero-content p {
	max-width: 600px;
	margin: 0 0 28px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
}

.home-hero-slider .hero-content .bricks-button {
	padding: 15px 27px;
	border: 2px solid #ffc400;
	border-radius: 0;
	background: #ffc400;
	color: #111111;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.home-hero-slider .hero-content .bricks-button:hover,
.home-hero-slider .hero-content .bricks-button:focus-visible {
	background: transparent;
	color: #ffffff;
}

.home-hero-slider .splide__arrow {
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 110px;
	border: 0;
	border-radius: 0;
	background: rgba(0, 0, 0, .42);
	opacity: 1;
}

.home-hero-slider .splide__arrow svg {
	fill: #ffffff;
}

.home-hero-slider .splide__arrow--prev {
	left: 0;
}

.home-hero-slider .splide__arrow--next {
	right: 0;
}

/* Desktop thumbnails are a sibling of the Nestable Slider in the Section. */
.home-hero > .hero-thumbs {
	position: absolute !important;
	z-index: 5;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	display: flex;
	flex-direction: row !important;
	align-items: flex-end;
	width: fit-content !important;
	height: auto !important;
	min-width: 0 !important;
	gap: 8px;
	padding: 12px 10px 10px;
	background: #ffffff;
}

.home-hero .hero-thumb {
	box-sizing: border-box;
	width: 78px;
	height: 78px;
	overflow: hidden;
	border: 3px solid transparent;
	cursor: pointer;
}

.home-hero .hero-thumb:hover,
.home-hero .hero-thumb:focus-visible,
.home-hero .hero-thumb.is-active {
	border-color: #ffc400;
	outline: none;
}

.home-hero .hero-thumb:not(.is-active) {
	opacity: .82;
}

.home-hero .hero-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Desktop uses thumbnails; tablet and phone use native Splide pagination dots. */
.home-hero-slider .splide__pagination {
	display: none !important;
}

@media (max-width: 991px) {
	.home-hero > .hero-thumbs {
		display: none !important;
	}

	.home-hero-slider .splide__pagination {
		position: absolute !important;
		z-index: 6;
		right: 22px !important;
		bottom: 18px !important;
		left: auto !important;
		display: flex !important;
		align-items: center;
		gap: 8px;
		padding: 0;
		transform: none !important;
	}

	.home-hero-slider .splide__pagination__page {
		width: 14px !important;
		height: 14px !important;
		margin: 0 !important;
		border: 2px solid #ffffff !important;
		border-radius: 50%;
		background: rgba(255, 255, 255, .72) !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.home-hero-slider .splide__pagination__page.is-active {
		background: #ffffff !important;
	}
}

@media (max-width: 767px) {
	.home-hero-slider .hero-content {
		width: calc(100% - 76px) !important;
		margin-left: 38px !important;
	}

	.home-hero-slider .hero-content > .brxe-heading {
		max-width: 100%;
		margin-bottom: 6px;
		font-size: clamp(20px, 5vw, 34px);
		line-height: 1.05;
	}

	.home-hero-slider .hero-content .brxe-text-basic,
	.home-hero-slider .hero-content p {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100%;
		margin-bottom: 9px;
		font-size: clamp(10px, 2.25vw, 14px);
		line-height: 1.35;
		white-space: normal !important;
		overflow: visible !important;
		overflow-wrap: anywhere;
	}

	.home-hero-slider .hero-content .bricks-button {
		padding: 8px 14px;
		font-size: 9px;
	}

	.home-hero-slider .splide__arrow {
		width: 24px;
		height: 64px;
	}

	.home-hero-slider .splide__pagination {
		right: 14px !important;
		bottom: 10px !important;
		gap: 6px;
	}

	.home-hero-slider .splide__pagination__page {
		width: 11px !important;
		height: 11px !important;
	}
}

/*
 * Keep only the visible Hero background on the mobile critical path.
 * home-hero-slider.js restores these backgrounds immediately when a user
 * moves to that slide, so swipe, arrows, and pagination still work.
 */
@media (max-width: 767px) {
	.home-hero-slider #brxe-swblau,
	.home-hero-slider #brxe-gwinmd,
	.home-hero-slider [data-id="brxe-swblau"],
	.home-hero-slider [data-id="brxe-gwinmd"] {
		background-image: none !important;
	}
}
