@font-face {
	font-family: "Martina Plantijn";
	src: url("../fonts/martina-plantijn-medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Martina Plantijn";
	src: url("../fonts/martina-plantijn-medium-italic.woff2") format("woff2");
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "Google Sans Flex";
	src: url("../fonts/GoogleSansFlex36pt-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Google Sans Flex";
	src: url("../fonts/GoogleSansFlex36pt-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Google Sans Flex";
	src: url("../fonts/GoogleSansFlex36pt-ExtraBold.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Tokens: Foundation */
	--brown-50: #fefcf9;
	--brown-75: #fbf3e4;
	--brown-100: #faeed9;
	--brown-200: #f8e6c9;
	--brown-300: #f6e1be;
	--brown-400: #ac9e85;
	--brown-500: #968974;

	--green-50: #f8fcf9;
	--green-75: #e4f2e5;
	--green-100: #d8ecda;
	--green-200: #c7e4ca;
	--green-300: #bcdfbf;
	--green-400: #849c86;
	--green-500: #738875;

	--blue-50: #f9fafd;
	--blue-75: #e5eaf6;
	--blue-100: #dae1f2;
	--blue-200: #cbd5ed;
	--blue-300: #c0cce9;
	--blue-400: #868fa3;
	--blue-500: #757c8e;

	/* Tokens: Semantic (Default Theme = Brown) */
	--bg: var(--brown-50);
	--surface: var(--brown-75);
	--surface-2: var(--brown-100);
	--text: #000000;
	--text-muted: #00000099;
	--border: #00000099;
	--focus: #000000;
	--brand: var(--brown-400);
	--brand-contrast: var(--brown-100);
	--cta: var(--blue-300);
	--cta-contrast: #000000;
	--link: #000000;
	--link-hover: #00000099;
	--decor-stroke: var(--brown-300);

	/* Tokens: Spacing (selection-clustered, rem-normalized) */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 2.5rem;
	--space-8: 3rem;
	--space-9: 5rem;
	--space-10: 10rem;

	--header-height: 5rem;

	/* Tokens: Typography */
	--font-display: "Martina Plantijn", serif;
	--font-body: "Google Sans Flex", "Noto Sans", sans-serif;
	--font-accent: "Martina Plantijn", serif;

	--text-1: clamp(1rem, 1vw, 1.25rem);
	--text-2: clamp(1rem, 1.25vw, 1.4rem);
	--text-3: clamp(1.1rem, 1.25vw, 1.4rem);
	--text-4: clamp(1.2rem, 1.25vw, 1.5rem);
	--text-5: clamp(1.4rem, 1.25vw, 1.75rem);
	--text-6: clamp(1.6rem, 1.25vw, 2rem);
	--text-7: clamp(1.75rem, 1.25vw, 2.25rem);
	--text-8: clamp(2rem, 1.25vw, 2.5rem);
	--text-9: clamp(2.5rem, 4.5vw, 5rem);
	--text-10: clamp(3rem, 5.5vw, 8rem);
	--text-11: clamp(3rem, 7.35vw, 10rem);

	--text-line-height: normal;
	--text-letter-spacing: normal;

	--weight-regular: 500;
	--weight-medium: 500;
	--weight-semibold: 500;
	--weight-bold: 800;

	/* Tokens: Radius */
	--radius-1: 0.25rem;
	--radius-2: 0.5rem;
	--radius-3: 1.25rem;
	--radius-4: 1.5rem;

	/* Tokens: Motion */
	--dur-1: 120ms;
	--dur-2: 180ms;
	--dur-3: 2400ms;
	--ease-1: ease;
	--ease-2: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Theme: Brown */
.theme--brown {
	--bg: var(--brown-50);
	--surface: var(--brown-75);
	--surface-2: var(--brown-100);
	--text: #000000;
	--text-muted: #00000099;
	--border: #00000099;
	--focus: #000000;
	--brand: var(--brown-400);
	--brand-contrast: var(--brown-100);
	--cta: var(--blue-300);
	--cta-contrast: #000000;
	--link: #000000;
	--link-hover: #00000099;
	--decor-stroke: var(--brown-300);
}

/* Theme: Green */
.theme--green {
	--bg: var(--green-50);
	--surface: var(--green-75);
	--surface-2: var(--green-100);
	--text: #000000;
	--text-muted: #00000099;
	--border: #00000099;
	--focus: #000000;
	--brand: var(--green-400);
	--brand-contrast: var(--green-100);
	--cta: var(--brown-300);
	--cta-contrast: #000000;
	--link: #000000;
	--link-hover: #00000099;
	--decor-stroke: var(--green-300);
}

/* Theme: Blue */
.theme--blue {
	--bg: var(--blue-50);
	--surface: var(--blue-75);
	--surface-2: var(--blue-100);
	--text: #000000;
	--text-muted: #00000099;
	--border: #00000099;
	--focus: #000000;
	--brand: var(--blue-400);
	--brand-contrast: var(--blue-100);
	--cta: var(--green-300);
	--cta-contrast: #000000;
	--link: #000000;
	--link-hover: #00000099;
	--decor-stroke: var(--blue-300);
}

html {
	font-size: 16px;
	overflow-x: clip;
	min-height: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	font-size: var(--text-2);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	position: relative;
	overflow-x: clip;
}

.site-header {
	flex-shrink: 0;
}

.site-main {
	flex: 1 0 auto;
	min-width: 0;
}

.site-footer {
	flex-shrink: 0;
}

p {
	    margin-block-start: 0px;
    margin-block-end: 0px;
}

/* Decor: Meander */
.meander {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
	--meander-stroke-width: 250px;
	--meander-bleed: 320px;
}

.meander__svg {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 180vw;
	height: 100%;
	overflow: visible;
}

.meander__path {
	stroke: var(--decor-stroke);
	stroke-width: var(--meander-stroke-width);
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	will-change: stroke-dashoffset, transform;
}

.site-header,
.site-main,
.site-footer {
	position: relative;
	z-index: 1;
}

.site-header {
	height: var(--header-height);
	position: sticky;
	top: 0;
	z-index: 100;
	transition: transform var(--dur-2) var(--ease-2);
}

.site-header.is-hidden {
	transform: translateY(-100%);
}

.meander.is-animating .meander__path {
	animation: meander-draw var(--meander-draw-duration, var(--dur-3)) cubic-bezier(0.4, 0, 1, 1) both, meander-drift 6s var(--ease-2) 1 both;
}

@keyframes meander-draw {
	from {
		stroke-dashoffset: var(--meander-path-length, 0);
	}

	to {
		stroke-dashoffset: 0;
	}
}

@keyframes meander-drift {
	from {
		transform: translateX(0);
	}

	50% {
		transform: translateX(0.5%);
	}

	to {
		transform: translateX(0);
	}
}

a {
	color: var(--link);
	text-decoration: none;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: color var(--dur-1) var(--ease-1), background-size var(--dur-1) var(--ease-1);
}

a:hover {
	color: var(--link-hover);
	background-size: 100% 1px;
}

a.site-header__logo-link,
a.site-footer__cta,
a.site-footer__to-top {
	background-image: none;
}

a.site-header__logo-link:hover,
a.site-footer__cta:hover,
a.site-footer__to-top:hover {
	background-size: 0 0;
}

a.site-header__logo-link:hover {
	opacity: 0.7;
}

button {
	font: inherit;
	color: var(--cta-contrast);
	background: var(--cta);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
}

:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

/* Header */
.skip-link {
	position: absolute;
	top: calc(var(--space-10) * -1);
	left: var(--space-2);
	z-index: 1000;
	padding: var(--space-2) var(--space-5);
	background: var(--text);
	color: var(--bg);
	text-decoration: none;
}

.skip-link:focus-visible {
	top: var(--space-2);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-header {
	background: var(--surface);
	position: sticky;
	top: 0;
	z-index: 100;
	transition: transform var(--dur-2) var(--ease-2);
	--header-logo-width: 9.95rem;
	--header-logo-height: 1.85rem;
}

.site-header.is-hidden {
	transform: translateY(-100%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--space-5) var(--space-8);
}

.site-header__logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-header__logo {
	display: block;
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	max-width: none;
}

.site-header__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text);
	cursor: pointer;
	position: relative;
	transition: opacity var(--dur-1) var(--ease-1);
}

.site-header__menu-toggle-bar {
	display: block;
	position: absolute;
	width: 1.5rem;
	height: 2px;
	background: currentcolor;
	transition: transform var(--dur-1) var(--ease-1), opacity var(--dur-1) var(--ease-1);
}

.site-header__menu-toggle-bar:nth-child(1) {
	transform: translateY(-0.4rem);
}

.site-header__menu-toggle-bar:nth-child(2) {
	transform: translateY(0);
}

.site-header__menu-toggle-bar:nth-child(3) {
	transform: translateY(0.4rem);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(1) {
	transform: translateY(0) rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(2) {
	opacity: 0;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(3) {
	transform: translateY(0) rotate(-45deg);
}

.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus-visible {
	opacity: 0.7;
}

.site-header__nav {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--surface);
	padding: 0 var(--space-8) var(--space-5);
	z-index: 70;
}

.site-header__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}

.site-header__menu a {
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--text);
	transition: color var(--dur-1) var(--ease-1), opacity var(--dur-1) var(--ease-1);
}

.site-header__menu a:hover,
.site-header__menu a:focus-visible {
	color: var(--link-hover);
}

/* content blocks max-wdith max-width: 100rem; */

.image-text-block__inner,
.ervaringen-block__inner,
.faq-block__inner,
.cta-block__inner,
.extra-text-image-block__inner,
.contact-block__inner,
.pricing-section__inner,
.discovery-cards-section__inner,
.certificates-block__inner,
.text-block__inner {
	width: 100%;
	max-width: 100rem;
	margin: 0 auto;
}


/* Homepage Hero */
.home-hero {
	padding: 0 var(--space-8);
	height: calc(100vh - var(--header-height));
	height: calc(100svh - var(--header-height));
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

.home-hero__inner {
	max-width: 75rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.4rem;
	min-width: 0;
}

.home-hero__title {
	margin: 0;
	width: 100%;
	font-family: var(--font-display);
	font-size: var(--text-10);
	font-weight: var(--weight-medium);
	line-height: 1.3;
	letter-spacing: var(--text-letter-spacing);
	text-align: center;
	color: var(--text);
}

.home-hero__subtitle {
	margin: 0;
	max-width: 60.5rem;
	font-family: var(--font-body);
	font-size: var(--text-6);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-align: center;
	color: var(--text-muted);
}

.home-hero__actions {
	display: flex;
	gap: var(--space-2);
	align-items: center;
}

.home-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--text);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.home-hero__cta--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.home-hero__cta--secondary {
	background: var(--bg);
	color: var(--text);
}

.home-hero__cta:hover,
.home-hero__cta:focus-visible {
	opacity: 0.85;
}

.site-header__nav[data-menu-state="closed"] {
	display: none;
}

.site-header__nav[data-menu-state="open"] {
	display: block;
}

/* Mobile breakpoint invention: menu collapses below 1024px. */
@media (min-width: 1000px) {
	.site-header__menu-toggle {
		display: none;
	}

	.site-header__nav {
		position: static;
		padding: 0;
		background: transparent;
	}

	.site-header__nav[data-menu-state="closed"],
	.site-header__nav[data-menu-state="open"] {
		display: block;
	}

	.site-header__menu {
		flex-direction: row;
		align-items: center;
		gap: var(--space-5);
	}
	
}

@media (max-width: 999px) {
	.home-hero {
		padding: 0 var(--space-8);
	}

	.home-hero__actions {
		width: 100%;
		flex-direction: column;
	}

	.home-hero__cta {
		width: 100%;
	}

	.site-footer__cta {
		width: 100%;
	}

}

/* Content Hero - Standard picture layout */
.content-hero {
	padding: clamp(1.75rem, 3vw, 3.15rem) var(--space-8);
	min-height: calc(100vh - var(--header-height));
	min-height: calc(100svh - var(--header-height));
	box-sizing: border-box;
	display: flex;
	align-items: stretch;
}

.content-hero__inner {
	max-width: 108.05rem;
	margin: 0 auto;
	min-height: calc(100vh - var(--header-height) - (clamp(1.75rem, 3vw, 3.15rem) * 2));
	min-height: calc(100svh - var(--header-height) - (clamp(1.75rem, 3vw, 3.15rem) * 2));
	display: grid;
	grid-template-columns: minmax(0, 55.25%) minmax(0, 41.65rem);
	align-items: stretch;
	column-gap: clamp(2rem, 4vw, 4.9rem);
}

.content-hero--image-left .content-hero__inner {
	grid-template-columns: minmax(0, 41.65rem) minmax(0, 55.25%);
}

.content-hero__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	gap: clamp(1rem, 1.6vw, var(--space-6));
	padding: 0 0 clamp(0.25rem, 0.7vw, 0.65rem);
}

.content-hero--image-left .content-hero__content {
	order: 2;
}

.content-hero__title {
	margin: 0;
	display: flex;
	flex-direction: column;
	padding-top: clamp(0rem, 0.4vw, 0.55rem);
	padding-bottom: clamp(1.25rem, 2.5vw, 3.15rem);
	font-family: var(--font-display);
	font-size: var(--text-11);
	font-weight: var(--weight-medium);
	line-height: 0.85;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
}

.content-hero__title-strong {
	color: var(--text);
}

.content-hero__title-light {
	color: var(--text-muted);
}

.content-hero__intro {
	margin: 0;
	max-width: 50rem;
	font-family: var(--font-display);
	font-size: var(--text-8);
	font-weight: var(--weight-medium);
	line-height: 1.2;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.content-hero__lower {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(0.9rem, 1.2vw, 1.25rem);
}

.content-hero__actions {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}

.content-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.content-hero__cta:hover,
.content-hero__cta:focus-visible {
	opacity: 0.85;
}

.content-hero__cta--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.content-hero__cta--secondary {
	background: transparent;
	color: var(--text-muted);
}

.content-hero__body {
	margin: 0;
	max-width: 48.5rem;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.4;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.content-hero__media {
	min-width: 0;
	width: 100%;
	max-width: 41.65rem;
height: 100%;
	min-height: 0;
	max-height: calc(100svh - var(--header-height) - (clamp(1.75rem, 3vw, 3.15rem) * 2));
	border-radius: var(--radius-4);
	overflow: hidden;
}

.content-hero--image-left .content-hero__media {
	order: 1;
}

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

@media (max-width: 1279px) {
	.content-hero {
		padding: var(--space-8);
		height: auto;
		min-height: auto;
	}

	.content-hero__inner {
		grid-template-columns: 1fr 1fr;
		min-height: auto;
		column-gap: var(--space-8);
	}
}

@media (max-width: 1000px) {
	.content-hero__inner,
	.content-hero--image-left .content-hero__inner {
		grid-template-columns: 1fr;
		height: auto;
		min-height: auto;
		row-gap: var(--space-8);
	}

	.content-hero__content,
	.content-hero--image-left .content-hero__content {
		order: 1;
		min-height: 0;
		height: auto;
	}

	.content-hero__media,
	.content-hero--image-left .content-hero__media {
		order: 2;
		max-width: none;
		height: clamp(18rem, 42svh, 34rem);
		min-height: 0;
		aspect-ratio: auto;
	}
}



/* Content Hero - Alt lay-out */

.content-hero-alt {
	padding: clamp(1.75rem, 3vw, 3.15rem) var(--space-8) clamp(1.75rem, 3vw, 3.15rem);
	min-height: calc(100vh - var(--header-height));
	min-height: calc(100svh - var(--header-height));
	box-sizing: border-box;
	overflow: hidden;

	display: flex;
	align-items: stretch;
}

.content-hero-alt__inner {
	width: 100%;
	max-width: 108.05rem;
	margin: 0 auto;
	min-height: calc(100vh - var(--header-height) - (clamp(1.75rem, 3vw, 3.15rem) * 2));
	min-height: calc(100svh - var(--header-height) - (clamp(1.75rem, 3vw, 3.15rem) * 2));

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-9);

	flex: 1 1 auto;
}

.content-hero-alt__content {
	width: 100%;
	max-width: 56rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: clamp(0.9rem, 1.25svh, 1.35rem);
	flex: 0 0 auto;
}

.content-hero-alt__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-11);
	font-weight: var(--weight-medium);
	line-height: 0.9;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.content-hero-alt__intro {
	margin: 0;
	max-width: 42rem;
	font-family: var(--font-display);
	font-size: var(--text-8);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.content-hero-alt__body {
	margin: 0;
	max-width: 36rem;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.4;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.content-hero-alt__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin-top: clamp(0.15rem, 0.5svh, 0.35rem);
}

.content-hero-alt__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.content-hero-alt__cta:hover,
.content-hero-alt__cta:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}

.content-hero-alt__cta--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.content-hero-alt__cta--secondary {
	background: transparent;
	color: var(--text-muted);
}

.content-hero-alt__gallery-wrap {
	position: relative;
	width: calc(100vw + 12rem);
	margin-left: calc(50% - 50vw - 6rem);
	margin-right: calc(50% - 50vw - 6rem);
	left: auto;
	transform: none;
	overflow: hidden;

	flex: 1 1 auto;
	min-height: 0;
	height: 100%;

	display: flex;
	align-items: stretch;
}

.content-hero-alt__gallery-track {
	display: flex;
	align-items: stretch;
	gap: clamp(1rem, 1.5vw, 1.5rem);
	width: max-content;
	height: 100%;
	animation: heldrAltGalleryScroll 85s linear infinite;
	will-change: transform;
}

.content-hero-alt__gallery-item {
	flex: 0 0 auto;
	width: clamp(14rem, 14vw + 7svh, 24rem);
	height: 100%;
	border-radius: var(--radius-4);
	overflow: hidden;
}

.content-hero-alt__gallery-item:nth-child(3n + 2) {
	width: clamp(21rem, 22vw + 9svh, 34rem);
}

.content-hero-alt__gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes heldrAltGalleryScroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc(-50% - 0.75rem));
	}
}

@media (max-width: 1279px) {
	.content-hero-alt {
		padding: var(--space-8);
		min-height: auto;
		display: block;
	}

	.content-hero-alt__inner {
		min-height: auto;
		flex: initial;
	}
}

@media (max-width: 999px) {
	.content-hero-alt {
		padding: var(--space-8);
		min-height: auto;
		display: block;
	}

	.content-hero-alt__inner {
		min-height: auto;
		gap: 2.5rem;
	}

	.content-hero-alt__title {
		line-height: 0.92;
	}

	.content-hero-alt__actions {
		width: 100%;
		flex-direction: column;
	}

	.content-hero-alt__cta {
		width: 100%;
	}

	.content-hero-alt__gallery-wrap {
		width: calc(100% + (var(--space-8) * 2));
		margin-left: calc(var(--space-8) * -1);
		margin-right: calc(var(--space-8) * -1);
		min-height: 0;
		height: auto;
	}

	.content-hero-alt__gallery-track {
		height: auto;
		gap: 1rem;
		animation-duration: 60s;
	}

	.content-hero-alt__gallery-item,
	.content-hero-alt__gallery-item:nth-child(3n + 2) {
		width: 16rem;
		height: auto;
	}

	.content-hero-alt__gallery-item img {
		aspect-ratio: 4 / 5;
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.content-hero-alt__gallery-track {
		animation: none;
	}
}

/* Footer */
.site-footer {
	background: var(--brand);
	color: var(--brand-contrast);
	padding: var(--space-8);
	margin-top: var(--space-8);
	--footer-to-top-size: 2rem;
	--footer-to-top-icon-size: 1rem;
}

.site-footer__inner {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: calc(var(--space-7) * 2);
}

.site-footer__top {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: start;
	gap: var(--space-8);
	padding-right: calc(var(--footer-to-top-size) + var(--space-5));
}

.site-footer__intro {
	min-width: 0;
	max-width: 47.75rem;
}

.site-footer__meta {
	min-width: 0;
	max-width: 40.3rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(12rem, 1fr));
	gap: var(--space-8);
}

.site-footer__description {
	margin: 0;
	max-width: 47.75rem;
	font-family: var(--font-display);
	font-size: var(--text-8);
	font-weight: var(--weight-medium);
	line-height: 1.3;
	color: var(--brand-contrast);
}

.site-footer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: var(--space-7);
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.site-footer__cta:hover,
.site-footer__cta:focus-visible {
	opacity: 0.8;
}

.site-footer__column {
	min-width: 0;
}

.site-footer__heading {
	margin: 0 0 var(--space-5);
	font-family: var(--font-display);
	font-size: var(--text-5);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	color: var(--brand-contrast);
}

.site-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	color: var(--brand-contrast);
}

.site-footer__list li,
.site-footer__list p {
	margin: 0;
}

.site-footer__list a {
	color: var(--brand-contrast);
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.site-footer__list a:hover,
.site-footer__list a:focus-visible {
	opacity: 0.7;
}

.site-footer__to-top {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--footer-to-top-size);
	height: var(--footer-to-top-size);
	border: 2px solid currentcolor;
	border-radius: var(--radius-2);
	color: var(--brand-contrast);
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.site-footer__to-top img {
	display: block;
	width: var(--footer-to-top-icon-size);
	height: var(--footer-to-top-icon-size);
}

.site-footer__to-top:hover,
.site-footer__to-top:focus-visible {
	opacity: 0.7;
}

@media (max-width: 1000px) {
.site-footer {
	padding-top: var(--space-8);
	padding-bottom: var(--space-5);
	padding-left: var(--space-8);
	padding-right: var(--space-8);
}

	.site-footer__meta {
		gap: var(--space-6);
	}

	.site-footer__bottom,
	.site-footer__legal,
	.site-footer__menu {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
}

.site-footer__brand-mark {
	width: 100%;
}

.site-footer__brand-logo {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: left center;
}

.site-footer__bottom {
	margin-top: calc(-1 * var(--space-5));
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-5);
	flex-wrap: wrap;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	color: var(--brand-contrast);
}

/* Use cap-height trimming where supported, without flattening all line-heights. */
@supports (text-box-trim: trim-both) {
	.site-footer__description,
	.site-footer__heading,
	.site-footer__list li,
	.site-footer__bottom span,
	.site-footer__credits a {
		text-box-trim: trim-both;
		text-box-edge: cap alphabetic;
	}
}

.site-footer__legal {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	flex-wrap: wrap;
}

.site-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: var(--space-4);
}

.site-footer__menu a,
.site-footer__credits {
	color: var(--brand-contrast);
	text-decoration: none;
	margin: 0;
	transition: opacity var(--dur-1) var(--ease-1);
}

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

.site-footer__menu a:hover,
.site-footer__menu a:focus-visible,
.site-footer__credits:hover {
	opacity: 0.7;
}

.site-footer__location-meta {
	margin-top: 0.35rem;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	color: var(--brand-contrast);
}

@media (max-width: 1000px) {
	.site-footer__bottom,
	.site-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.site-footer__top {
		grid-template-columns: 1fr;
	}

	.site-footer__meta {
		max-width: none;
		grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
		gap: var(--space-7);
	}

	.site-footer__bottom {
		gap: var(--space-8);
	}

	.site-footer__credits {
		position: relative;
		width: 100%;
		padding-top: var(--space-5);
	}

	.site-footer__credits::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 100vw;
		height: 0.5px;
		background: var(--brand-contrast);
		transform: translateX(-50%);
	}

	.site-footer__brand-logo {
		height: auto;
	}

	.site-footer__menu {
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Discovery Cards Section */
.discovery-cards-section {
	padding: 5.5rem var(--space-8) 6rem;
}

.discovery-cards-section__header {
	max-width: 60rem;
	margin: 0 auto 3.5rem;
	text-align: center;
}

.discovery-cards-section__title {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--text-9);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.discovery-cards-section__intro {
	margin: 1rem 0 0;
	max-width: 60rem;
	margin-left: auto;
	margin-right: auto;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.discovery-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
	align-items: stretch;
	justify-content: center;
}

/* 1 card */
.discovery-cards-grid:has(.discovery-card:nth-child(1):last-child) {
	grid-template-columns: minmax(0, 420px);
	justify-content: center;
}

/* 2 cards */
.discovery-cards-grid:has(.discovery-card:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 420px));
	justify-content: center;
}

/* 4 or more cards: switch to 2 columns */
.discovery-cards-grid:has(.discovery-card:nth-child(4)) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 2-column layout (4+ cards) */
.discovery-cards-grid:has(.discovery-card:nth-child(4)) .discovery-card__media {
	aspect-ratio: 3 / 2;
}

.discovery-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: var(--surface);
	border-radius: var(--radius-3);
	overflow: hidden;
	/* max-width: 420px; */
	/* margin: 0 auto; */
}

.discovery-card__media {
	aspect-ratio: 1 / 1;
	background: var(--surface-2);
	overflow: hidden;
}

.discovery-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.discovery-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	padding: var(--space-5);
	gap: var(--space-4);
}

.discovery-card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-6);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.discovery-card__text {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.discovery-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: var(--space-3) var(--space-3);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.discovery-card__button:hover,
.discovery-card__button:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}



@media (max-width: 999px) {
	.discovery-cards-section {
		padding: 2rem var(--space-8);
	}

	.discovery-cards-section__header {
		margin-bottom: var(--space-8);
	}

	.discovery-cards-grid,
	.discovery-cards-grid:has(.discovery-card:nth-child(1):last-child),
	.discovery-cards-grid:has(.discovery-card:nth-child(2):last-child) {
		display: grid;
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: calc(100vw - (var(--space-8) * 2) - var(--space-4));
		gap: var(--space-4);
		justify-content: start;

		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;

		scroll-snap-type: x mandatory;
		scroll-padding-inline-start: var(--space-8);
		scroll-padding-inline-end: var(--space-8);

		margin-left: calc(var(--space-8) * -1);
		margin-right: calc(var(--space-8) * -1);
		padding-left: var(--space-8);
		padding-right: var(--space-8);
	}

	.discovery-cards-grid::-webkit-scrollbar {
		display: none;
	}

	.discovery-card {
		width: 100%;
		max-width: none;
		margin: 0;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.discovery-card__media {
		aspect-ratio: 16 / 11;
	}

	.discovery-card__content {
		padding: var(--space-5);
	}

	.discovery-card__button {
		margin-top: var(--space-5);
	}
}

/* Image + Text Block */
.image-text-block {
	padding: 4rem var(--space-8);
	box-sizing: border-box;
	overflow: hidden;
}

.image-text-block *,
.image-text-block *::before,
.image-text-block *::after {
	box-sizing: border-box;
}

.image-text-block__inner {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	grid-template-areas: "media content";
	gap: clamp(1.5rem, 3vw, 3.5rem);
	align-items: center;
	min-width: 0;
}

.image-text-block--image-right .image-text-block__inner {
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	grid-template-areas: "content media";
}

.image-text-block__media {
	grid-area: media;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.image-text-block__content {
	grid-area: content;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.image-text-block__image {
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 1.5rem;
}

.image-text-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-7);
	font-weight: var(--weight-medium);
	line-height: 1.02;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.image-text-block__text {
	margin-top: 1rem;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.image-text-block__text p {
	margin: 0;
}

.image-text-block__text p + p {
	margin-top: 1rem;
}

.image-text-block__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
	max-width: 100%;
}

.image-text-block__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-3) var(--space-3);
	border-radius: var(--radius-1);
	border: 1px solid var(--border);
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
	max-width: 100%;
}

.image-text-block__button:hover,
.image-text-block__button:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}

.image-text-block__button--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.image-text-block__button--secondary {
	background: transparent;
	color: var(--text);
}

@media (max-width: 999px) {
	.image-text-block {
		padding: 2rem var(--space-8);
	}

	.image-text-block__inner,
	.image-text-block--image-right .image-text-block__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"media"
			"content";
		gap: 1.5rem;
	}

}

/* CTA Block */
.cta-block {
	padding: 4rem var(--space-8);
	box-sizing: border-box;
}

.cta-block,
.cta-block *,
.cta-block *::before,
.cta-block *::after {
	box-sizing: border-box;
}

.cta-block__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	grid-template-areas: "media content";
	gap: clamp(1.5rem, 3vw, 2rem);
	align-items: stretch;
	padding: 1.8rem;
	border-radius: var(--radius-4);
	background: var(--surface);
}

.cta-block--image-right .cta-block__inner {
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	grid-template-areas: "content media";
}

.cta-block__media,
.cta-block__content {
	min-width: 0;
	max-width: 100%;
}

.cta-block__media {
	grid-area: media;
	width: 100%;
	border-radius: var(--radius-4);
	overflow: hidden;
}

.cta-block__content {
	grid-area: content;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	padding: 0.35rem 0 0.2rem;
}

.cta-block__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	aspect-ratio: 16 / 11.5;
	object-fit: cover;
}

.cta-block__content-top {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.cta-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-7);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.cta-block__text {
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.cta-block__text p {
	margin: 0;
}

.cta-block__text p + p {
	margin-top: 1rem;
}

.cta-block__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
}

.cta-block__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.cta-block__button:hover,
.cta-block__button:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}

.cta-block__button--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.cta-block__button--secondary {
	background: transparent;
	color: var(--text-muted);
}

@media (max-width: 999px) {
	.cta-block {
		padding: 2rem var(--space-8);
	}

	.cta-block__inner,
	.cta-block--image-right .cta-block__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"media"
			"content";
		padding: 1.25rem;
	}

	.cta-block__content {
		padding: 0;
		gap: 1.5rem;
	}

	.cta-block__image {
		aspect-ratio: 16 / 11;
	}

	.cta-block__buttons {
		flex-direction: column;
	}

	.cta-block__button {
		width: 100%;
	}

}

/* Ervaringen Block */
.ervaringen-block {
	padding: 0;
	padding-top:  var(--space-8);
	padding-bottom:  var(--space-8);
}

.ervaringen-block,
.ervaringen-block *,
.ervaringen-block *::before,
.ervaringen-block *::after {
	box-sizing: border-box;
}

.ervaringen-block__inner {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	min-width: 0;
padding: var(--space-9) var(--space-8);
	background: var(--decor-stroke);
	border-radius: var(--radius-4);
	box-sizing: border-box;
	overflow: visible;
}

.ervaringen-block__title {
	margin: 0 0 var(--space-9);
	font-family: var(--font-display);
	    font-style: italic;
	font-size: var(--text-9);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
	text-transform: uppercase;
	text-align: center;
}

.ervaringen-block__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(24rem, 34rem);
	gap: var(--space-4);
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x mandatory;
	scroll-padding-inline-start: var(--space-8);
	scroll-padding-inline-end: var(--space-8);
	-webkit-overflow-scrolling: touch;
	margin-left: calc(var(--space-8) * -1);
	margin-right: calc(var(--space-8) * -1);
	padding-left: var(--space-8);
	padding-right: var(--space-8);
	padding-top: 0;
	padding-bottom: 0;
	scrollbar-width: none;
}

.ervaringen-block__track::-webkit-scrollbar {
	display: none;
}

.ervaringen-block__card {
	scroll-snap-align: start;
	scroll-snap-stop: always;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 17rem;
	padding: var(--space-5);
	padding-top: var(--space-8);
	padding-bottom: var(--space-8);
	border-radius: var(--radius-4);
	background: var(--bg);
	min-width: 0;
}

.ervaringen-block__stars {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: var(--space-4);
}

.ervaringen-block__star {
	display: block;
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
}

.ervaringen-block__text {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-style: italic;
	font-weight: var(--weight-medium);
	line-height: 1.3;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.ervaringen-block__name {
	margin: var(--space-6) 0 0;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

@media (max-width: 999px) {
	.ervaringen-block__inner {
		padding: var(--space-8) var(--space-8);
	}

.ervaringen-block__track {
	grid-auto-columns: calc(100vw - (var(--space-8) * 2) - var(--space-4));
	gap: var(--space-4);
}

	.ervaringen-block__card {
		min-height: 15rem;
		padding: var(--space-5);
	}
}

/* FAQ Block */
.faq-block {
	padding: 0;
	padding-top: var(--space-8);
	padding-bottom: var(--space-8);
}

.faq-block,
.faq-block *,
.faq-block *::before,
.faq-block *::after {
	box-sizing: border-box;
}

.faq-block__inner {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	padding: var(--space-9) var(--space-8);
		background: var(--decor-stroke);
	border-radius: var(--radius-4);
	box-sizing: border-box;
	overflow: hidden;
}

.faq-block__title {
	margin: 0 0 var(--space-9);
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--text-9);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
	text-transform: uppercase;
	text-align: center;
}

.faq-block__items {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	max-width: 60rem;
	margin: 0 auto;
}

.faq-block__item {
	background: var(--bg);
	border-radius: var(--radius-3);
	padding: var(--space-6);
}

.faq-block__question {
	list-style: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-6);
	cursor: pointer;
}

.faq-block__question::-webkit-details-marker {
	display: none;
}

.faq-block__question-text {
	display: block;
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-3);
	font-weight: var(--weight-medium);
	line-height: 1.25;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.faq-block__icon {
	position: relative;
	flex: 0 0 auto;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.1rem;
	transition: transform var(--dur-2, 280ms) var(--ease-1);
}

.faq-block__icon::before,
.faq-block__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.9rem;
	height: 1px;
	background: var(--text);
	transform: translate(-50%, -50%);
	transition: transform var(--dur-2, 280ms) var(--ease-1), opacity var(--dur-2, 280ms) var(--ease-1);
}

.faq-block__icon::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-block__item.is-open .faq-block__icon {
	transform: rotate(180deg);
}

.faq-block__item.is-open .faq-block__icon::before {
	opacity: 0;
}

.faq-block__answer-wrap {
	height: 0;
	overflow: hidden;
	transition: height var(--dur-2, 280ms) var(--ease-1);
}

.faq-block__answer {
	padding-top: var(--space-4);
}

.faq-block__answer p {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.4;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

@media (max-width: 999px) {
	.faq-block__inner {
		padding: var(--space-8) var(--space-8);
	}

	.faq-block__title {
		margin-bottom: var(--space-6);
	}

	.faq-block__item {
		padding: var(--space-5);
	}

	.faq-block__question {
		gap: var(--space-5);
	}

}

/* Extra Text + Image Block */

.extra-text-image-block {
	padding: 4rem var(--space-8);
	box-sizing: border-box;
	overflow: hidden;
}

.extra-text-image-block *,
.extra-text-image-block *::before,
.extra-text-image-block *::after {
	box-sizing: border-box;
}

.extra-text-image-block__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas: "media content";
	gap: clamp(1.5rem, 3vw, 3.5rem);
	align-items: center;
	min-width: 0;
}

.extra-text-image-block--image-right .extra-text-image-block__inner {
	grid-template-areas: "content media";
}

.extra-text-image-block__media {
	grid-area: media;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.extra-text-image-block__content {
	grid-area: content;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.extra-text-image-block__content-main {
	width: 100%;
}

.extra-text-image-block__image {
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 11.5;
	object-fit: cover;
	border-radius: 1.5rem;
}

.extra-text-image-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-6);
	font-weight: var(--weight-medium);
	line-height: 1.02;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.extra-text-image-block__text {
	margin-top: var(--space-3);
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.extra-text-image-block__text p {
	margin: 0;
}

.extra-text-image-block__text p + p {
	margin-top: 1rem;
}

.extra-text-image-block__extra {
	margin-top: var(--space-6);
}

.extra-text-image-block__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
	max-width: 100%;
}

.extra-text-image-block__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-3) var(--space-3);
	border-radius: var(--radius-1);
	border: 1px solid var(--border);
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
	max-width: 100%;
}

.extra-text-image-block__button:hover,
.extra-text-image-block__button:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}

.extra-text-image-block__button--primary {
	background: var(--cta);
	color: var(--cta-contrast);
}

.extra-text-image-block__button--secondary {
	background: transparent;
	color: var(--text);
}

.extra-text-image-block__text ul,
.extra-text-image-block__text ol {
	margin-top: 1rem;
	padding-left: 1.2rem;
}

.extra-text-image-block__text li + li {
	margin-top: 0.35rem;
}

/* Mobile */

@media (max-width: 999px) {

	.extra-text-image-block {
		padding: 2rem var(--space-8);
	}

	.extra-text-image-block__inner,
	.extra-text-image-block--image-right .extra-text-image-block__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"media"
			"content";
		gap: 1.5rem;
	}
}

/* Title + Text Block */

.title-text-block .discovery-cards-section__header {
	margin-bottom: 0;
}

/* Pricing Section */

.pricing-section {
	padding: 4rem var(--space-8);
}

.pricing-section__header {
	max-width: 46rem;
	margin: 0 auto 3.5rem;
	text-align: center;
}

.pricing-section__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-9);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.pricing-section__intro {
	margin: 1rem 0 0;
	max-width: 35rem;
	margin-left: auto;
	margin-right: auto;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.pricing-section__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-5);
	align-items: stretch;
	justify-content: center;
}

/* Center cards if there are fewer than 3 */
.pricing-section__grid:has(.pricing-card:nth-child(1):last-child) {
	grid-template-columns: minmax(0, 420px);
	justify-content: center;
}

.pricing-section__grid:has(.pricing-card:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 420px));
	justify-content: center;
}

/* 4 cards: first row 3 columns, last card centered on new row */
.pricing-section__grid:has(.pricing-card:nth-child(4):last-child) {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.pricing-section__grid:has(.pricing-card:nth-child(4):last-child) > .pricing-card {
	grid-column: span 2;
}

.pricing-section__grid:has(.pricing-card:nth-child(4):last-child) > .pricing-card:nth-child(4) {
	grid-column: 3 / span 2;
}

.pricing-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: var(--surface);
	border-radius: var(--radius-3);
	overflow: hidden;
}

.pricing-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
flex: 1 1 auto;
	height: 100%;
	padding: var(--space-5);
	gap: var(--space-4);
}

.pricing-card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-7);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.pricing-card__meta {
	margin: 0;
	margin-top: -0.5rem;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.3;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.pricing-card__price {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-7);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.pricing-card__text {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.pricing-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: var(--space-3) var(--space-3);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity var(--dur-1) var(--ease-1);
}

.pricing-card__button:hover,
.pricing-card__button:focus-visible {
	opacity: 0.85;
	background-size: 0 0;
}

@media (max-width: 999px) {
	.pricing-section {
		padding: 2rem var(--space-8);
	}

	.pricing-section__header {
		margin-bottom: var(--space-8);
	}

	.pricing-section__grid {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.pricing-card__content {
		padding: var(--space-5);
	}

	.pricing-card__button {
		margin-top: var(--space-5);
	}
}

/* Contact Block */

.contact-block__location-link,
.site-footer__location-link {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	margin-top: 0.35rem;
}

.contact-block {
	padding: 5.5rem var(--space-8) 6rem;
	box-sizing: border-box;
}

.contact-block,
.contact-block *,
.contact-block *::before,
.contact-block *::after {
	box-sizing: border-box;
}

.contact-block__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 3vw, 2rem);
	align-items: stretch;
	padding: 1.8rem;
	border-radius: var(--radius-4);
	background: var(--surface);
}

.contact-block__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-7);
	padding: 0.35rem 0 0.2rem;
}

.contact-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-8);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.contact-block__intro {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.contact-block__meta {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: var(--space-7);
}

.contact-block__column {
	min-width: 0;
}

.contact-block__heading {
	margin: 0 0 var(--space-4);
	font-family: var(--font-display);
	font-size: var(--text-5);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.contact-block__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.contact-block__item {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.contact-block__item a {
	color: var(--text);
	text-decoration: none;
}

.contact-block__location-meta {
	margin-top: 0.35rem;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.contact-block__form {
	min-width: 0;
	width: 100%;
	padding: 0.35rem 0 0.2rem;
}

.contact-block__form .wpcf7,
.contact-block__form form {
	width: 100%;
}

/* Contact Form 7 styling */

.contact-block__form form {
	display: grid;
	gap: var(--space-6);
}

.contact-block__form .form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
}

.contact-block__form .form-group {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.contact-block__form label {
	font-family: var(--font-display);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.2;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.contact-block__form input[type="text"],
.contact-block__form input[type="email"],
.contact-block__form input[type="tel"],
.contact-block__form textarea {
	width: 100%;
	padding: 0.95rem 1rem;
	border: 1px solid var(--decor-stroke);
	border-radius: var(--radius-2);
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	font-size: var(--text-1);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	appearance: none;
	box-shadow: none;
	margin-top: var(--space-2);
}

.contact-block__form textarea {
	min-height: 10rem;
	resize: vertical;
}

.contact-block__form input::placeholder,
.contact-block__form textarea::placeholder {
	color: var(--text-muted);
}

.contact-block__form input:focus,
.contact-block__form textarea:focus {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

.contact-block__form .form-group-button {
	margin-top: var(--space-2);
}

.contact-block__form input[type="submit"],
.contact-block__form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-4) var(--space-6);
	border: 1px solid var(--border);
	border-radius: var(--radius-1);
	background: var(--cta);
	color: var(--cta-contrast);
	font-family: var(--font-display);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: var(--text-line-height);
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity var(--dur-1) var(--ease-1);
}

.contact-block__form input[type="submit"]:hover,
.contact-block__form input[type="submit"]:focus-visible,
.contact-block__form .wpcf7-submit:hover,
.contact-block__form .wpcf7-submit:focus-visible {
	opacity: 0.85;
}

.contact-block__form .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	font-size: var(--text-1);
	line-height: 1.3;
}

.contact-block__form .wpcf7-response-output {
	margin: var(--space-4) 0 0;
	padding: var(--space-4);
	border-radius: var(--radius-1);
	font-size: var(--text-1);
	line-height: 1.35;
}


@media (max-width: 999px) {
	.contact-block {
		padding: 2rem var(--space-8);
	}

	.contact-block__inner {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}

	.contact-block__content {
		padding: 0;
		gap: var(--space-6);
	}

	.contact-block__form {
		padding: 0;
	}

	.contact-block__meta {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.contact-block__form .form-row {
		grid-template-columns: 1fr;
	}

	.contact-block__form input[type="submit"],
	.contact-block__form .wpcf7-submit {
		width: 100%;
	}
}

/* Certificates Block */

.certificates-block {
	padding: 5.5rem var(--space-8) 6rem;
}

.certificates-block__intro {
	max-width: 42rem;
	margin: 0 0 3rem;
	text-align: left;
}

.certificates-block__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-9);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.certificates-block__description {
	margin-top: 1rem;
}

.certificates-block__description p {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.certificates-block__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-9);
}

.certificates-block__item {
	display: grid;
	grid-template-columns: minmax(10rem, 18rem) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}

.certificates-block__media {
	width: 100%;
}

.certificates-block__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.certificates-block__content {
	min-width: 0;
	max-width: 60rem;
}

.certificates-block__item-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-8);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	text-transform: uppercase;
	color: var(--text);
}

.certificates-block__item-description {
	margin-top: 1rem;
}

.certificates-block__item-description p {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.35;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

@media (max-width: 999px) {
	.certificates-block {
		padding: 4rem var(--space-8);
	}

	.certificates-block__intro {
		margin-bottom: 2.5rem;
	}

	.certificates-block__item {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.certificates-block__media {
		max-width: 14rem;
	}
}

/* Text Block */

.text-block {
	padding: 5.5rem var(--space-8) 6rem;
	box-sizing: border-box;
}

.text-block,
.text-block *,
.text-block *::before,
.text-block *::after {
	box-sizing: border-box;
}

.text-block__inner {
	min-width: 0;
}

.text-block__section {
	max-width: 62rem;
}

.text-block__section + .text-block__section {
	margin-top: var(--space-8);
}

.text-block__title,
.text-block__section-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	line-height: 1.05;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text);
}

.text-block__title {
	font-size: var(--text-9);
	text-transform: uppercase;
}

.text-block__section-title {
	font-size: var(--text-7);
}

.text-block__richtext {
	margin-top: 1rem;
	font-family: var(--font-body);
	font-size: var(--text-2);
	font-weight: var(--weight-medium);
	line-height: 1.5;
	letter-spacing: var(--text-letter-spacing);
	color: var(--text-muted);
}

.text-block__richtext > *:first-child {
	margin-top: 0;
}

.text-block__richtext > *:last-child {
	margin-bottom: 0;
}

.text-block__richtext p {
	margin: 0;
}

.text-block__richtext p + p {
	margin-top: 1rem;
}

.text-block__richtext ul,
.text-block__richtext ol {
	margin: 1rem 0 0;
	padding-left: 1.4rem;
}

.text-block__richtext li {
	margin: 0;
}

.text-block__richtext li + li {
	margin-top: 0.45rem;
}

.text-block__richtext ul ul,
.text-block__richtext ul ol,
.text-block__richtext ol ul,
.text-block__richtext ol ol {
	margin-top: 0.6rem;
}

.text-block__richtext strong,
.text-block__richtext b {
	color: var(--text);
	font-weight: var(--weight-bold);
}

.text-block__richtext em,
.text-block__richtext i {
	font-family: var(--font-accent);
	font-style: italic;
}

.text-block__richtext a {
	color: var(--text);
}

@media (max-width: 999px) {
	.text-block {
		padding: 4rem var(--space-8);
	}

	.text-block__richtext {
		line-height: 1.45;
	}
}

/* Default Content Page Hero */

.default-content-hero {
	padding: 3.15rem var(--space-8) 0;
	box-sizing: border-box;
}

.default-content-hero__inner {
	width: 100%;
	max-width: 100rem;
	margin: 0 auto;
}

.default-content-hero__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: var(--text-11);
    font-weight: var(--weight-medium);
    line-height: 0.9;
    letter-spacing: var(--text-letter-spacing);
    text-transform: uppercase;
    color: var(--text);

}

.page-content--default-content-page {
	margin-top: var(--space-6);
}

@media (max-width: 999px) {
	.default-content-hero {
		padding: var(--space-8) var(--space-8) 0;
	}

	.default-content-hero__title {
		line-height: 0.95;
	}

	.page-content--default-content-page {
		margin-top: var(--space-8);
	}
}

/* Button full width mobile */

@media (max-width: 999px) {
	.home-hero__actions,
	.content-hero__actions,
	.content-hero-alt__actions,
	.image-text-block__buttons,
	.extra-text-image-block__buttons,
	.cta-block__buttons {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.home-hero__cta,
	.content-hero__cta,
	.content-hero-alt__cta,
	.image-text-block__button,
	.extra-text-image-block__button,
	.cta-block__button,
	.discovery-card__button,
	.pricing-card__button {
		width: 100%;
	}

	.discovery-card__button,
.pricing-card__button {
	width: 100%;
	box-sizing: border-box;
}
}

/* Horizontal scroll pagination */
.scroll-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.scroll-pagination[hidden] {
	display: none !important;
}

.scroll-pagination__button {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	padding: 0;
	margin: 0;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: var(--text-muted);
	opacity: 0.35;
	cursor: pointer;
	transition:
		width var(--dur-1) var(--ease-2),
		opacity var(--dur-1) var(--ease-2),
		background-color var(--dur-1) var(--ease-2),
		transform var(--dur-1) var(--ease-2);
}

.scroll-pagination__button:hover,
.scroll-pagination__button:focus-visible {
	opacity: 0.6;
	transform: scale(1.02);
	outline: none;
}

.scroll-pagination__button.is-active {
	width: 1.5rem;
	height: 0.45rem;
	background: var(--text);
	opacity: 0.9;
}

@media (prefers-reduced-motion: reduce) {
	.scroll-pagination__button {
		transition: none;
	}
}


@media (max-width: 420px) {
:root {

	/* Tokens: Spacing (selection-clustered, rem-normalized) */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 1.5rem;
	--space-7: 1.5rem;
	--space-8: 1.5rem;
	--space-9: 2rem;
	--space-10: 4rem;

	--header-height: 5rem;

	/* Tokens: Typography */

	--text-1: clamp(0.75rem, 0.35vw, 1.25rem);
	--text-2: clamp(1rem, 2.25vw, 1.3rem);
	--text-3: clamp(1.1rem, 0.45vw, 1.4rem);
	--text-4: clamp(1.2rem, 0.45vw, 1.5rem);
	--text-5: clamp(1.3rem, 0.5vw, 1.75rem);
	--text-6: clamp(1.3rem, 0.6vw, 2rem);
	--text-7: clamp(1.3rem, 1vw, 2.25rem);
	--text-8: clamp(1.3rem, 0.75vw, 2.5rem);
	--text-9: clamp(1.3rem, 4.5vw, 4rem);
	--text-10: clamp(2rem, 5.5vw, 5rem);
	--text-11: clamp(2rem, 2.35vw, 8rem);

	--text-line-height: normal;
	--text-letter-spacing: normal;
}
}

.error-404-content__actions {
	margin-top: var(--space-3);
}

@media (max-width: 999px) {
	.discovery-cards-grid,
	.discovery-cards-grid:has(.discovery-card:nth-child(1):last-child),
	.discovery-cards-grid:has(.discovery-card:nth-child(2):last-child),
	.discovery-cards-grid:has(.discovery-card:nth-child(4)) {
		display: grid;
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: calc(100vw - (var(--space-8) * 2) - var(--space-4));
		gap: var(--space-4);
		justify-content: start;

		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;

		scroll-snap-type: x mandatory;
		scroll-padding-inline-start: var(--space-8);
		scroll-padding-inline-end: var(--space-8);

		margin-left: calc(var(--space-8) * -1);
		margin-right: calc(var(--space-8) * -1);
		padding-left: var(--space-8);
		padding-right: var(--space-8);
	}

	.discovery-cards-grid:has(.discovery-card:nth-child(4)) .discovery-card__media {
		aspect-ratio: 16 / 11;
	}
}