.site-header + main .hero.section:first-child {
	padding-top: 0;
}

.hero.section--loose {
	padding-bottom: 0;
}

.hero__viewport {
	width: 100%;
	padding: 0;
}

.hero__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background-color: var(--color-background-inverse);
	border-radius: 0;
	isolation: isolate;
	min-height: clamp(30rem, 22rem + 24vw, 44rem);
	padding: var(--space-l);
	color: var(--color-text-inverse);
}

@media (min-width: 40rem) {
	.hero__viewport {
		padding: 0 2% 0 2%;
	}

	.hero__panel {
		border-radius: var(--radius-xl);
	}
}

@media (min-width: 56rem) {
	.hero__panel {
		padding: var(--space-2xl);
	}
}

@media (min-width: 64rem) {
	.hero__panel {
		min-height: 85vh;
	}
}

.hero__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.hero__media--video {
	display: none;
}

.hero__media-zoom {
	position: absolute;
	inset: 0;
	overflow: hidden;
	transform: scale(clamp(1, 1.72 - 0.0375vw, 1.6));
}

.hero__media--video-active {
	display: block;
}

/* Losse mobiele achtergrond (optioneel): desktop-media blijft ongewijzigd
   op desktopbreedte, de mobiele variant neemt het exclusief over eronder. */
@media (min-width: 64rem) {
	.hero__media--mobile,
	.hero__media-zoom--mobile {
		display: none !important;
	}
}

@media (max-width: 63.9375rem) {
	.hero__panel--mobile-override > .hero__media:not(.hero__media--mobile) {
		display: none !important;
	}

	.hero__panel--mobile-color {
		background-color: var(--hero-mobile-bg-color);
	}
}

.hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(10, 14, 24, 0.25) 0%, rgba(10, 14, 24, 0.65) 100%);
}

.hero__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	flex: 1;
	gap: var(--space-xl);
}

.hero__col {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
	min-width: 0;
}

@media (min-width: 64rem) {
	.hero__grid--has-price {
		grid-template-columns: 1fr minmax(26rem, 20vw);
		column-gap: var(--space-2xl);
	}

	
	.hero__col--left .hero__logos {
		margin-top: auto;
	}

	
	.hero__col--right {
		justify-content: flex-end;
	}
}

.hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-s);
}

.hero__eyebrow {
	color: inherit;
}

.hero__heading {
	color: inherit;
}

@media (min-width: 64rem) {
	.hero__heading {
		max-width: 40vw;
	}
}

.hero__subheading {
	max-width: 50ch;
	color: inherit;
}

.hero__actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-s);
}

@media (min-width: 30rem) {
	.hero__actions {
		grid-template-columns: repeat(2, 1fr);
		max-width: 28rem;
	}
}

.hero__action {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-m);
	min-height: clamp(9rem, 8rem + 3vw, 10.5rem);
	color: inherit;
	border-radius: var(--radius-l);
	padding: var(--space-m);
	text-decoration: none;
	transition: transform var(--transition-fast);
}
.hero__action:hover {
	transform: translateY(-2px);
}

.hero__action-icon {
	width: clamp(2.5rem, 2.2rem + 1vw, 3rem);
	aspect-ratio: 1;
	border-radius: var(--radius-m);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.hero__action-icon svg {
	width: 55%;
	height: 55%;
}

.hero__action-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs);
}

.hero__action-title {
	font-family: var(--font-body);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-tight);
}

.hero__action-text {
	color: inherit;
}

.hero__action-link {
	color: inherit;
	margin-top: var(--space-3xs);
}

.hero__actions {
	display: none;
}

.hero__actions-buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-s);
}

.hero__actions-buttons .btn {
	width: 100%;
}

.hero__actions-buttons--btn2-light .btn--secondary {
	color: var(--color-text-inverse);
	border-color: var(--color-text-inverse);
}
.hero__actions-buttons--btn2-light .btn--secondary:hover {
	background-color: var(--color-text-inverse);
	color: var(--color-primary);
}

@media (min-width: 64rem) {
	.hero__actions {
		display: grid;
	}

	.hero__actions-buttons {
		display: none;
	}
}

.hero__price-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: var(--space-s);
	cursor: pointer;
	padding: var(--space-s) var(--space-m);
	border-radius: var(--radius-l);
	background-color: var(--color-background);
	color: var(--color-text);
	font-family: inherit;
	font-size: inherit;
	font-weight: var(--font-weight-medium);
}
.hero__price-toggle::after {
	content: '';
	width: 0.6em;
	height: 0.6em;
	flex-shrink: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--transition-fast);
}
.hero__price.is-open .hero__price-toggle::after {
	transform: rotate(-135deg);
}

.hero__price-panel {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: height 600ms var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
		opacity 600ms var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}
.hero__price.is-open .hero__price-panel {
	opacity: 1;
}
.hero__price .price-card {
	margin-top: var(--space-s);
}

@media (min-width: 64rem) {
	.hero__price-toggle {
		display: none;
	}
	.hero__price-panel {
		height: auto;
		overflow: visible;
		opacity: 1;
		transition: none;
	}
	.hero__price .price-card {
		margin-top: 0;
	}
}

.hero__logos {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	min-width: 0;
}

.hero__logos-heading {
	color: rgba(255, 255, 255, 0.8);
}

.hero__logos .marquee {
	max-width: calc(5 * 8rem + 4 * var(--space-xs));
}

.hero__logos .marquee__track {
	gap: var(--space-xs);
}

.hero__logos .marquee__item {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8rem;
	height: 3rem;
}

.hero__logos .marquee__image {
	height: 100%;
	width: 100%;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.8;
}
