.hero-header {
	position: relative;
	text-align: center;
	padding-bottom: 98px;
}

.hero-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	min-height: 667px;
	background: linear-gradient(0deg, #FDEFDA 33.13%, #FFF 93.11%);
	z-index: -1;
	pointer-events: none;
}

.hero-header__inner {
	position: relative;
	width: calc(876px + 30px);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 87px;
	padding-left: 15px;
	padding-right: 15px;
}

.hero-header__title {
	font-size: 84px;
	line-height: 100px;
	margin-bottom: 30px;
}

/* Elke titelregel op een eigen regel. */
.hero-header__title-line {
	display: block;
}

/* Tweede en volgende titelregels kleiner; schaalt mee met de responsive titel
   (0.619em ≈ 52px bij een titel van 84px; line-height ≈ 60px). */
.hero-header__title-line:not(:first-child) {
	font-size: 0.619em;
	line-height: 1.154;
}

/* Grotere marge onder de titel wanneer er een tekstblok onder staat. */
.hero-header--text .hero-header__title {
	margin-bottom: 40px;
}

/* Tekst gekozen én geen CTA-knoppen → ruimere padding-bottom. */
.hero-header--text-no-cta {
	padding-bottom: 118px;
}

/* Tekstblok (alternatief voor USPs). */
.hero-header__text {
	max-width: 578px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	font-size: 16px;
	line-height: 28px;
}

.hero-header__text p {
	margin: 0 0 28px;
}

.hero-header__text p:last-child {
	margin-bottom: 0;
}

.hero-header__usps {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	gap: 12px;
	flex-direction: column;
	align-items: center;
}

.hero-header__usp {
	font-size: 20px;
	line-height: 29px;
	font-weight: 700;
	display: flex;
	gap: 16px;
	align-items: center;
}

.hero-header__usp:before {
	content: '';
	display: block;
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	background-image: url(../../images/checkmark-usp.svg);
}

.hero-header__links {
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 21px;
	align-items: center;
}

.hero-header__image {
	position: relative;
	border-radius: 50%;
	overflow: hidden;
	box-sizing: border-box;
}

.hero-header__image .hero-header__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hero-header__image-1 {
	position: absolute;
	left: calc(50% - 575px - 145px);
	top: 42px;
	transform: translateX(-50%);
	width: 290px;
	height: 290px;
	border: 27px solid var(--orange);
}

.hero-header__image-2 {
	position: absolute;
	top: 351px;
	transform: translateX(-50%);
	width: 154px;
	height: 154px;
	border: 9px solid var(--pink);
}

.hero-header__image-3 {
	position: absolute;
	right: calc(50% - 125px - 438px - 190px);
	top: 40px;
	transform: translateX(50%);
	width: 250px;
	height: 250px;
	border: 25px solid var(--green);
}

.hero-header__image-4 {
	position: absolute;
	right: calc(50% - 438px - 40px);
	top: 307px;
	transform: translateX(50%);
	width: 198px;
	height: 198px;
	border: 20px solid var(--blue);
}

.hero-header .divider_curves {
	color: var(--beige);
}

.hero-header__image--is-video {
	cursor: pointer;
}

.hero-header__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.hero-header__play-icon {
	width: 35%;
	height: auto;
	display: block;
}

@media (max-width: 1799px) {
	.hero-header__image-1 {
		left: calc(50% - 575px - 25px);
	}

	.hero-header__image-3 {
		right: calc(50% - 125px - 438px - 25px);
	}
}

@media (max-width: 1499px) {
	.hero-header__inner {
		width: calc(700px + 30px);
	}

	.hero-header__image-1 {
		left: calc(50% - 500px);
	}

	.hero-header__image-3 {
		right: calc(50% - 125px - 369px);
	}

	.hero-header__title {
		font-size: 64px;
		line-height: 1.25;
	}
}

@media (max-width: 1299px) {
	.hero-header__image-1 {
		left: calc(50% - 368px);
		width: 200px;
		height: 200px;
		border: 17px solid var(--orange);
	}

	.hero-header__title {
		font-size: 50px;
	}

	.hero-header__inner {
		width: calc(500px + 30px);
	}

	.hero-header__image-3 {
		width: 200px;
		height: 200px;
		border: 17px solid var(--green);
		right: calc(50% - 125px - 245px);
	}

	.hero-header__image-4 {
		right: calc(50% - 334px);
	}

	.hero-header--text-no-cta {
		padding-bottom: 170px;
	}
}

@media (max-width: 991px) {
	.hero-header--text-no-cta {
		padding-bottom: 62px;
	}

	.hero-header__image.hero-header__image-1 {
		position: static;
		transform: none;
		order: -1;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 34px;
		width: 232px;
		height: 232px;
		border-width: 18px;
	}

	.hero-header__image-2 {
		display: none;
	}

	.hero-header__inner {
		display: flex;
		flex-direction: column;
		padding-top: 0;
	}

	.hero-header__image-3,
	.hero-header__image-4 {
		width: 113px;
		height: 113px;
		border-width: 10px;
		top: 94px;
		left: 50%;
		transform: translateX(-50%);
	}

	.hero-header__image-3 {
		left: calc(50% - 120px);
	}

	.hero-header__image-4 {
		left: calc(50% + 120px);
	}

	.hero-header {
		padding-top: 38px;
	}
}

@media (min-width: 768px) {
	.hero_arrow_down {
		display: none;
	}
}

@media (max-width: 767px) {
	.hero-header__title {
		font-size: 34px;
		line-height: 41px;
		margin-bottom: 20px;
	}

	.hero-header__inner {
		padding-left: 30px;
		padding-right: 30px;
		box-sizing: border-box;
	}

	.hero-header__usp {
		font-size: 15px;
		line-height: 18px;
		gap: 8px;
	}

	.hero-header__usp {
		align-items: center;
		align-items: flex-start;
	}

	.hero-header__links {
		margin-top: 34px;
		gap: 28px;
	}

	.hero_arrow_down {
		width: 56px;
		height: 56px;
		background-image: url(../../images/arrow-down.svg);
		cursor: pointer;
		margin-top: 36px;
	}

	.hero-header {
		padding-bottom: 62px;
	}
}

/*
 * Learn Dutch for free (EN 19741, NL 28302): de helft van de zichtbare ruimte
 * tussen de tekst en de golf eronder (de golf beslaat 36px van de opvulling).
 * De secties eronder staan in colored-sections.css.
 */
.page-id-19741 .hero-header--text-no-cta,
.page-id-28302 .hero-header--text-no-cta {
	padding-bottom: 80px;
}

@media (max-width: 1299px) {
	.page-id-19741 .hero-header--text-no-cta,
	.page-id-28302 .hero-header--text-no-cta {
		padding-bottom: 103px;
	}
}

@media (max-width: 991px) {
	.page-id-19741 .hero-header--text-no-cta,
	.page-id-28302 .hero-header--text-no-cta {
		padding-bottom: 49px;
	}
}

/*
 * Cirkels over de tekst op laptopbreedte (992–1299px, bijv. een 13,6" scherm op 1280px).
 * In dat bereik is de tekstkolom 500px breed (de binnenbreedte is 530px min 30px padding), maar de roze en de
 * video-cirkel hielden de posities uit de bredere layout (links: automatisch, rechts: calc(50% - 334px)) en
 * lagen daardoor 77px respectievelijk 30px over de tekst. Ze staan nu naast de tekstkolom.
 * De ruimte tot de tekst (--hero-gap) groeit mee met de breedte: 36px bij 992px (daar moet de video-cirkel
 * nog binnen beeld blijven) tot 70px bij 1299px.
 */
@media (min-width: 992px) and (max-width: 1299px) {
	.hero-header {
		--hero-gap: clamp(36px, calc(36px + (100vw - 992px) * 0.11), 70px);
		/* De twee bovenste cirkels schuiven mee naar buiten zodra er ruimte is (0px bij 992px, 40px vanaf ± 1190px). */
		--hero-shift: clamp(0px, calc((100vw - 992px) * 0.2), 40px);
	}

	.hero-header__image-1 {
		left: calc(50% - 368px - var(--hero-shift));
	}

	.hero-header__image-3 {
		right: calc(50% - 125px - 245px - var(--hero-shift));
	}

	/* Tekstkolom: 500px breed, dus 250px links en rechts van het midden. */
	.hero-header__image-2 {
		left: calc(50% - 250px - var(--hero-gap) - 154px);
		transform: none;
	}

	.hero-header__image-4 {
		right: calc(50% - 250px - var(--hero-gap) - 198px);
		transform: none;
	}
}

/*
 * Kleine telefoons (tot ± 350px): de twee kleine cirkels naast de grote kwamen een paar pixels buiten beeld
 * omdat hun middelpunt vast 120px van het midden stond. Het middelpunt blijft nu minstens 63px (halve cirkel
 * + 6px) van de rand van het scherm.
 */
@media (max-width: 991px) {
	.hero-header__image-3 {
		left: max(63px, calc(50% - 120px));
	}

	.hero-header__image-4 {
		left: min(calc(100% - 63px), calc(50% + 120px));
	}
}
