/*
Theme Name: 3Delta Theme
Theme URI: https://3delta.nl/
Author: De Mannen Achter De Schermen
Description: Lean custom block theme for 3Delta.
Version: 1.2.1
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: 3delta-theme
*/

:root {
	--3delta-container: min(1528px, calc(100vw - 48px));
	--3delta-page-padding: max(24px, calc((100vw - 1528px) / 2));
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

a,
button {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand-magenta);
	outline-offset: 4px;
}

.site-header {
	position: absolute;
	inset: 0 0 auto;
	z-index: 20;
	margin: 0;
	padding-inline: var(--3delta-page-padding);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 119px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.45);
}

.site-logo {
	display: block;
	width: 253px;
	line-height: 0;
}

.site-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.primary-navigation {
	font-size: 18px;
	font-weight: 500;
}

.primary-navigation .wp-block-navigation__container {
	gap: 55px;
}

.primary-navigation a {
	text-decoration: none;
}

.primary-navigation a:hover,
.primary-navigation a:focus-visible {
	color: var(--wp--preset--color--brand-magenta);
}

.home-hero {
	position: relative;
	isolation: isolate;
	min-height: 1029px;
	padding-bottom: 0;
	margin: 0;
	overflow: hidden;
	background: #f5a3d1;
}

.home-hero::before {
	position: absolute;
	z-index: -2;
	content: "";
	pointer-events: none;
}

.home-hero::before {
	top: -134.8%;
	left: -50.82%;
	width: 201.64%;
	aspect-ratio: 2431 / 2421;
	background: url("assets/images/hero-background-desktop.webp") center / 100% 100% no-repeat;
}

.home-hero::after {
	position: absolute;
	z-index: -1;
	content: "";
	pointer-events: none;
	top: 29.93%;
	left: 32.12%;
	width: 72.74%;
	aspect-ratio: 1534 / 1000;
	background: url("assets/images/3delta-men.png") center bottom / contain no-repeat;
}

.home-hero__content {
	width: var(--3delta-container);
	margin-inline: auto;
	padding-top: 302px;
}

.home-hero__copy {
	width: min(607px, 42vw);
}

.home-hero__eyebrow {
	margin: 0 0 25px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 20px;
	line-height: 1.2;
}

.home-hero__title {
	max-width: 607px;
	margin: 0 0 24px;
	font-size: clamp(52px, 3.77vw, 65px);
	font-weight: 500;
	line-height: 1.09;
	letter-spacing: -0.02em;
}

.home-hero__body {
	max-width: 561px;
	margin: 0 0 57px;
	font-size: 18px;
	line-height: 1.5;
}

.home-hero__button .wp-block-button__link {
	min-height: 58px;
	padding: 15px 35px;
	border-radius: 45px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

@media (min-width: 782px) {
	.primary-navigation a {
		position: relative;
	}

	.primary-navigation a::after {
		position: absolute;
		right: 0;
		bottom: -8px;
		left: 0;
		height: 2px;
		border-radius: 999px;
		background: currentColor;
		content: "";
		transform: scaleX(0);
		transform-origin: right center;
	}

	.primary-navigation a:hover::after,
	.primary-navigation a:focus-visible::after,
	.primary-navigation .current-menu-item > a::after {
		transform: scaleX(1);
		transform-origin: left center;
	}
}

/* De hoverstates zelf staan buiten de reduced-motion-query. Wie bewegings-
   voorkeur uit heeft staan hoort nog steeds te zien dat iets aanklikbaar is;
   alleen de overgang ernaartoe hangt van die voorkeur af. */
.site-logo:hover,
.site-logo:focus-visible {
	opacity: 0.76;
}

.home-hero__button .wp-block-button__link:hover,
.home-hero__button .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}

@media (prefers-reduced-motion: no-preference) {
	.site-logo {
		transition: opacity 180ms ease;
	}

	.primary-navigation a {
		transition: color 180ms ease;
	}

	.primary-navigation a::after {
		transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.home-hero__eyebrow,
	.home-hero__title,
	.home-hero__body,
	.home-hero__button {
		opacity: 0;
		animation: delta3-fade-in 900ms ease-out forwards;
	}

	.home-hero__title {
		animation-delay: 70ms;
	}

	.home-hero__body {
		animation-delay: 140ms;
	}

	.home-hero__button {
		animation-delay: 210ms;
	}

	.home-hero::after {
		animation: delta3-fade-in 1050ms ease-out 80ms both;
	}

	.home-hero__button .wp-block-button__link {
		transition:
			background-color 260ms ease,
			color 260ms ease;
	}
}

@keyframes delta3-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.home-focus {
	min-height: 996px;
	margin: 0;
	padding-block: 100px 110px;
	background: var(--wp--preset--color--gray-100);
}

.home-focus__inner {
	width: var(--3delta-container);
	margin-inline: auto;
}

.home-focus__intro {
	display: grid;
	grid-template-columns: 254px 541px minmax(0, 1fr);
	column-gap: 38px;
}

.section-label {
	display: inline-block;
	align-self: start;
	/* Sommige labels zijn een kop, zodat de documentstructuur klopt. De chip
	   moet er dan wel hetzelfde uitzien als de variant die een alinea is. */
	font-weight: 400;
	justify-self: start;
	width: -webkit-max-content;
	width: max-content;
	max-width: 100%;
	margin: 10px 0 0;
	padding: 10px 20px;
	border-radius: 10px;
	background: #7b7b7b;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 20px;
	line-height: 1.15;
	white-space: nowrap;
}

.home-focus__copy {
	margin: 0;
}

.home-focus__title {
	margin: 0 0 17px;
	font-size: 55px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.home-focus__body {
	display: grid;
	gap: 27px;
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

.home-focus__body p {
	margin: 0;
}

.home-focus__visual {
	position: relative;
	align-self: start;
	width: 590px;
	height: 393px;
	margin: 13px 0 0 56px;
	overflow: hidden;
	border-radius: 25px;
}

.home-focus__visual img {
	position: absolute;
	top: -135.12%;
	left: -21.86%;
	display: block;
	width: 154.17%;
	max-width: none;
	height: 351.31%;
	object-fit: fill;
}

.home-focus__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 110px;
}

.focus-card {
	display: flex;
	gap: 20px;
	height: 270px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--white);
}

.focus-card__image {
	flex: 0 0 163px;
	width: 163px;
	height: 270px;
	margin: 0;
}

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

.focus-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding-right: 20px;
}

.focus-card__title {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
}

.focus-card__body {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

@media (max-width: 1599px) and (min-width: 1200px) {
	.home-focus__intro {
		grid-template-columns: 190px minmax(0, 0.95fr) minmax(0, 1.05fr);
		column-gap: 32px;
	}

	.section-label {
		padding-inline: 12px;
		font-size: 13px;
		white-space: nowrap;
	}

	.home-focus__visual {
		width: 100%;
		height: auto;
		margin-left: 0;
		aspect-ratio: 3 / 2;
	}

	.focus-card__image {
		flex-basis: 34%;
		width: 34%;
	}

	.focus-card {
		gap: 16px;
	}

	.focus-card__content {
		padding-right: 16px;
	}

	.focus-card__title {
		font-size: 26px;
	}

	.focus-card__body {
		font-size: 15px;
	}
}

@media (max-width: 1399px) {
	.site-header__inner {
		height: 84px;
	}

	.site-logo {
		width: 175px;
	}

	.primary-navigation .wp-block-navigation__responsive-container-open {
		display: flex !important;
		width: 30px;
		height: 30px;
		margin: 0;
		background: url("assets/images/menu.svg") center / 30px 30px no-repeat;
	}

	.primary-navigation .wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	.primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		padding: 24px !important;
		background: #f5a3d1 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 18px;
		font-size: 32px;
	}

	.home-hero {
		min-height: 1050px;
	}

	.home-hero::before {
		top: -88%;
		left: -58%;
		width: 230%;
	}

	.home-hero::after {
		top: auto;
		right: -3%;
		bottom: 0;
		left: auto;
		width: min(62vw, 800px);
	}

	.home-hero__content {
		padding-top: 150px;
	}

	.home-hero__copy {
		width: min(520px, 48vw);
	}

	.home-hero__title {
		font-size: clamp(48px, 4.6vw, 60px);
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.home-hero__copy {
		width: min(600px, 100%);
	}

	.home-hero::after {
		right: 0;
		width: min(84vw, 700px);
	}

	.home-focus {
		padding-block: 80px;
	}

	.home-focus__intro {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 32px;
	}

	.home-focus__intro .section-label {
		grid-column: 1 / -1;
		margin: 0;
	}

	.home-focus__title {
		font-size: 46px;
	}

	.home-focus__visual {
		width: 100%;
		height: auto;
		margin: 0;
		aspect-ratio: 3 / 2;
	}

	.home-focus__cards {
		margin-top: 64px;
	}

	.focus-card {
		gap: 14px;
		height: 230px;
	}

	.focus-card__image {
		flex-basis: 34%;
		width: 34%;
		height: 100%;
	}

	.focus-card__content {
		gap: 12px;
		padding-right: 14px;
	}

	.focus-card__title {
		font-size: 22px;
	}

	.focus-card__body {
		font-size: 14px;
		line-height: 1.4;
	}
}

@media (max-width: 781px) {
	:root {
		--3delta-container: calc(100vw - 48px);
		--3delta-page-padding: 24px;
	}

	.site-header__inner {
		height: 73px;
	}

	.site-logo {
		width: 126px;
	}

	.primary-navigation .wp-block-navigation__responsive-container-open {
		width: 28px;
		height: 28px;
		margin: 0;
		background: url("assets/images/menu.svg") center / 28px 28px no-repeat;
	}

	.primary-navigation .wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 24px !important;
		background: #f5a3d1 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 18px;
		font-size: 32px;
	}

	.home-hero {
		min-height: 786px;
		padding-bottom: calc(100vw * 1000 / 1534 + 24px);
	}

	.home-hero::before {
		inset: 0;
		width: 100%;
		aspect-ratio: auto;
		background-image: url("assets/images/hero-background-mobile.svg");
		background-size: 100% 100%;
	}

	.home-hero::after {
		inset: auto 0 0;
		width: 100%;
		height: auto;
		aspect-ratio: 1534 / 1000;
	}

	.home-hero__content {
		padding-top: 108px;
	}

	.home-hero__copy {
		width: 100%;
	}

	.home-hero__eyebrow {
		margin-bottom: 18px;
		font-size: 12px;
		line-height: 1.3;
	}

	.home-hero__title {
		max-width: 342px;
		margin-bottom: 18px;
		font-size: 42px;
		line-height: 1.04;
		letter-spacing: -0.025em;
	}

	.home-hero__body {
		max-width: 342px;
		margin-bottom: 23px;
		font-size: 16px;
		line-height: 24px;
	}

	.home-hero__button .wp-block-button__link {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}

	.home-focus {
		min-height: 0;
		padding: 56px 24px;
	}

	.home-focus__inner {
		width: 100%;
	}

	.home-focus__intro {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.section-label {
		margin: 0;
		padding: 7px 12px;
		border-radius: 6px;
		background: #6e6e6e;
		font-size: 11px;
		line-height: 1.3;
	}

	.home-focus__copy {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.home-focus__title {
		margin: 0;
		font-size: 34px;
		line-height: 1.1;
		letter-spacing: 0;
	}

	.home-focus__body {
		gap: 24px;
		font-size: 16px;
		line-height: 24px;
	}

	.home-focus__visual {
		width: 100%;
		height: auto;
		margin: 0;
		border-radius: 25px;
		aspect-ratio: 3 / 2;
	}

	.home-focus__cards {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 24px;
	}

	.focus-card {
		gap: 13.988px;
		height: 188.834px;
		border-radius: 17.485px;
	}

	.focus-card__image {
		flex-basis: 114px;
		width: 114px;
		height: 100%;
	}

	.focus-card__content {
		gap: 12.589px;
		padding-right: 14px;
	}

	.focus-card__title {
		font-size: 20.982px;
		line-height: 1;
	}

	.focus-card__body {
		font-size: 14px;
		line-height: 20px;
	}
}

@media (max-width: 374px) {
	:root {
		--3delta-container: calc(100vw - 36px);
		--3delta-page-padding: 18px;
	}

	.home-hero__title {
		font-size: 38px;
	}

	.home-hero__body {
		font-size: 15px;
		line-height: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Homepage sections */
.section-inner {
	width: var(--3delta-container);
	margin-inline: auto;
}

.section-title {
	margin: 0;
	font-size: 55px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.section-intro {
	max-width: 830px;
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

.home-approach,
.home-cases {
	margin: 0;
	padding-block: 90px;
}

.home-approach {
	background: var(--wp--preset--color--white);
}

.home-cases {
	background: linear-gradient(
		to bottom,
		var(--wp--preset--color--gray-100) 0,
		var(--wp--preset--color--gray-100) calc(100% - 120px),
		var(--wp--preset--color--white) 100%
	);
}

.home-approach .section-label,
.home-cases .section-label {
	margin-bottom: 20px;
}

.home-approach .section-title,
.home-cases .section-title {
	margin-bottom: 16px;
}

.approach-cards,
.case-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
	margin-top: 48px;
}

.approach-card,
.case-card {
	position: relative;
	isolation: isolate;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	background-color: #f5a3d1;
}

.approach-card {
	min-height: 432px;
	padding: 67px 34px 34px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.approach-card:nth-child(1) {
	background-image: url("assets/images/approach-card-1.webp");
}

.approach-card:nth-child(2) {
	background-image: url("assets/images/approach-card-2.webp");
}

.approach-card:nth-child(3) {
	background-image: url("assets/images/approach-card-3.webp");
}

.approach-card__title {
	margin: 0 0 18px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
}

.approach-card__title strong {
	color: var(--wp--preset--color--brand-magenta);
	font-weight: inherit;
}

.approach-card__body {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.5;
}

.arrow-list {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	line-height: 1.5;
}

.arrow-list li {
	position: relative;
	min-height: 23px;
	padding-left: 65px;
}

.arrow-list li::before,
.arrow-list li::after,
.service-item::before,
.service-item::after {
	position: absolute;
	content: "";
}

.arrow-list li::before,
.service-item::before {
	left: 2px;
	top: 10px;
	width: 44px;
	height: 3px;
	border-radius: 99px;
	background: var(--wp--preset--color--brand-magenta);
}

.arrow-list li::after,
.service-item::after {
	left: 34px;
	top: 5px;
	width: 11px;
	height: 11px;
	border-top: 3px solid var(--wp--preset--color--brand-magenta);
	border-right: 3px solid var(--wp--preset--color--brand-magenta);
	transform: rotate(45deg);
}

.home-services {
	margin: 0;
	padding-block: 89px 82px;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

.services-grid {
	display: grid;
	grid-template-columns: 1fr 262px;
	grid-template-rows: auto 1fr;
	column-gap: 64px;
}

.services-heading .section-label {
	margin: 0 0 20px;
}

.section-label--light {
	background: #f4f4f4;
	color: #212121;
}

.services-photo {
	grid-column: 2;
	grid-row: 1 / 3;
	width: 262px;
	height: 303px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
}

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

.services-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 520px));
	gap: 42px 77px;
	margin-top: 70px;
}

.service-item:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.service-item:nth-child(2) {
	grid-column: 1;
	grid-row: 2;
}

.service-item:nth-child(3) {
	grid-column: 1;
	grid-row: 3;
}

.service-item:nth-child(4) {
	grid-column: 2;
	grid-row: 1;
}

.service-item:nth-child(5) {
	grid-column: 2;
	grid-row: 2;
}

.service-item {
	position: relative;
	min-height: 72px;
	margin: 0;
	padding-left: 76px;
}

.service-item::before {
	top: 10px;
}

.service-item::after {
	top: 5px;
}

.service-item h3 {
	margin: 0 0 4px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
}

.service-item p {
	margin: 0;
	color: #d1d1d1;
	font-size: 16px;
	line-height: 1.5;
}

.case-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 37px;
}

.case-card {
	display: flex;
	min-height: 432px;
	flex-direction: column;
	align-items: flex-start;
	padding: 70px 51.5px 43px;
	background-color: var(--wp--preset--color--white);
	cursor: pointer;
}

.case-card::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	border-radius: inherit;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	content: "";
	opacity: 0.6;
}

.case-card:nth-child(1)::before {
	background-image: url("assets/images/case-card-1.webp");
}

.case-card:nth-child(2)::before {
	background-image: url("assets/images/case-card-2.webp");
}

.case-card__logo {
	width: auto;
	height: 57px;
	margin: 0 0 18px;
}

.case-card__logo img {
	display: block;
	width: auto;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.case-card__logo--defensie {
	width: 163px;
}

.case-card__logo--salta {
	width: 176px;
	height: 52px;
	margin-top: 3px;
	margin-bottom: 20px;
}

.case-card h3 {
	margin: 0 0 17px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.05;
}

.case-card > p:not(.text-link) {
	max-width: 600px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.text-link {
	margin: 44px 0 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

.text-link a {
	color: var(--wp--preset--color--brand-magenta);
	text-decoration: none;
}

.case-card .text-link a::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	border-radius: 25px;
	content: "";
}

.case-card .text-link a:focus-visible {
	outline: none;
}

.case-card .text-link a:focus-visible::before {
	outline: 3px solid var(--wp--preset--color--brand-magenta);
	outline-offset: -5px;
}

.case-card:nth-child(2) .text-link {
	margin-top: 24px;
}

.home-about {
	margin: 0;
	padding-block: 0 110px;
	background: var(--wp--preset--color--white);
}

.about-grid {
	display: grid;
	grid-template-columns: minmax(0, 731px) minmax(0, 776px);
	gap: 41px;
}

.about-photo {
	width: 100%;
	height: 469px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
}

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

.about-copy .section-label {
	margin: 0 0 20px;
}

.about-copy .section-title {
	max-width: 746px;
	margin-bottom: 40px;
}

.about-copy .section-intro {
	margin-bottom: 42px;
}

.about-button .wp-block-button__link,
.footer-button .wp-block-button__link {
	min-height: 59px;
	padding: 16px 35px;
	font-size: 18px;
	line-height: 1.5;
}

.home-footer {
	margin: 0;
	padding-block: 96px 0;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

.footer-grid {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	column-gap: 0;
}

@media (min-width: 1200px) {
	.home-hero::after {
		top: 298px;
		left: 39.3%;
		width: 60.7%;
		height: 698px;
		aspect-ratio: auto;
		background-position: center bottom;
		background-size: contain;
	}

	.home-approach,
	.home-cases {
		padding-block: 80px;
	}

	.home-services {
		min-height: 760px;
	}

	.home-footer {
		min-height: 701px;
	}

}

.section-label--white {
	margin: 11px 0 0;
	background: #f4f4f4;
	color: #212121;
}

.footer-content .section-title {
	margin-bottom: 32.5px;
}

.footer-content .section-intro {
	max-width: 867px;
	margin-bottom: 43px;
}

.footer-discover-label {
	margin: 0 0 15px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
}

.footer-list {
	gap: 17px;
	margin-bottom: 34px;
}

.footer-button .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}

/* One footer row for home and every inner page. */
.footer-bottom,
.site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 50px 0 44px;
	border-top: 1px solid #737373;
}

.footer-bottom {
	grid-column: 1 / -1;
	margin-top: 51px;
}

.footer-logo,
.site-footer__logo {
	display: block;
	flex: 0 0 253px;
	width: 253px;
	margin: 0;
	line-height: 0;
}

.footer-logo a {
	display: block;
	width: 100%;
}

.footer-logo img,
.site-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.footer-navigation {
	font-size: 18px;
	font-weight: 400;
}

.footer-navigation .wp-block-navigation__container {
	gap: 55px;
}

.footer-navigation a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.text-link a:hover,
.text-link a:focus-visible,
.footer-navigation a:hover,
.footer-navigation a:focus-visible {
	opacity: 0.7;
}

.about-button .wp-block-button__link:hover,
.about-button .wp-block-button__link:focus-visible,
.footer-button .wp-block-button__link:hover,
.footer-button .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--brand-magenta);
	color: var(--wp--preset--color--white);
}

@media (prefers-reduced-motion: no-preference) {
	.approach-card,
	.case-card,
	.services-photo img,
	.about-photo img,
	.text-link a,
	.footer-navigation a,
	.about-button .wp-block-button__link,
	.footer-button .wp-block-button__link {
		transition: color 240ms ease, background-color 240ms ease, opacity 240ms ease, transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	/* Deze inzoom is puur decoratief op een niet-klikbare foto, dus die mag
	   wel helemaal weg bij bewegingsvoorkeur uit. */
	.services-photo:hover img,
	.about-photo:hover img {
		transform: scale(1.02);
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.approach-cards {
		gap: 18px;
	}

	.approach-card {
		padding: 48px 24px 28px;
	}

	.approach-card__title,
	.case-card h3 {
		font-size: 25px;
	}

	.approach-card__body,
	.arrow-list,
	.case-card > p:not(.text-link) {
		font-size: 14px;
	}

	.services-grid {
		grid-template-columns: 1fr 220px;
	}

	.services-photo {
		width: 220px;
		height: 255px;
	}

	.services-list {
		gap: 32px;
	}

	.service-item {
		padding-left: 60px;
	}

	.about-grid {
		grid-template-columns: 1fr 1fr;
	}

	.about-copy .section-title {
		font-size: 44px;
	}
}

@media (max-width: 781px) {
	.section-title {
		font-size: 34px;
		line-height: 1.1;
		letter-spacing: 0;
	}

	.section-intro {
		font-size: 16px;
		line-height: 24px;
	}

	.home-approach,
	.home-services,
	.home-cases,
	.home-about,
	.home-footer {
		min-height: 0;
		padding: 56px 24px;
	}

	.home-approach .section-label,
	.home-cases .section-label {
		margin-bottom: 24px;
	}

	.home-approach .section-title,
	.home-cases .section-title {
		margin-bottom: 24px;
	}

	.approach-cards,
	.case-cards {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 24px;
	}

	.approach-card {
		min-height: 304px;
		padding: 49px 24px 24px;
		border-radius: 17.485px;
	}

	.approach-card:nth-child(1) {
		background-image: url("assets/images/approach-card-1-mobile.webp");
	}

	.approach-card:nth-child(2) {
		background-image: url("assets/images/approach-card-2-mobile.webp");
	}

	.approach-card:nth-child(3) {
		background-image: url("assets/images/approach-card-3-mobile.webp");
	}

	.approach-card:nth-child(2) {
		min-height: 344px;
	}

	.approach-card:nth-child(3) {
		min-height: 324px;
	}

	.approach-card__title {
		margin-bottom: 15px;
		font-size: 20px;
		line-height: 1;
	}

	.approach-card__body,
	.arrow-list {
		font-size: 14px;
		line-height: 20px;
	}

	.approach-card__body {
		margin-bottom: 15px;
	}

	.arrow-list {
		gap: 7px;
	}

	.arrow-list li {
		min-height: 20px;
		padding-left: 48px;
	}

	.arrow-list li::before {
		top: 8px;
		width: 31px;
		height: 2px;
	}

	.arrow-list li::after {
		left: 24px;
		top: 4px;
		width: 8px;
		height: 8px;
		border-width: 2px;
	}

	.services-grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 24px;
	}

	.services-heading .section-label {
		margin-bottom: 24px;
	}

	.services-photo {
		grid-column: 1;
		grid-row: 2;
		width: 128px;
		height: 148px;
		border-radius: 12px;
	}

	.services-list {
		grid-column: 1;
		grid-row: 3;
		grid-template-columns: 1fr;
		gap: 24px;
		margin: 0;
	}

	.service-item {
		grid-column: 1 !important;
		grid-row: auto !important;
		min-height: 45px;
		padding-left: 38px;
	}

	.service-item::before {
		left: 1px;
		top: 8px;
		width: 21px;
		height: 2px;
	}

	.service-item::after {
		left: 15px;
		top: 4px;
		width: 8px;
		height: 8px;
		border-width: 2px;
	}

	.service-item h3 {
		margin-bottom: 5px;
		font-size: 16px;
		line-height: 20px;
	}

	.service-item p {
		font-size: 14px;
		line-height: 20px;
	}

	.case-card {
		min-height: 236px;
		padding: 32.395px 24px 24px;
		border-radius: 11.57px;
	}

	.case-card:nth-child(1)::before {
		background-image: url("assets/images/case-card-1-mobile.webp");
	}

	.case-card:nth-child(2)::before {
		background-image: url("assets/images/case-card-2-mobile.webp");
	}

	.case-card:nth-child(2) {
		min-height: 274px;
	}

	.case-card__logo,
	.case-card__logo--salta {
		width: 81px;
		height: 26px;
		margin: 0 0 8.33px;
	}

	.case-card__logo--defensie {
		width: 75px;
	}

	.case-card h3 {
		margin-bottom: 8.33px;
		font-size: 16px;
		line-height: 20px;
	}

	.case-card > p:not(.text-link),
	.text-link {
		font-size: 14px;
		line-height: 20px;
	}

	.case-card .text-link,
	.case-card:nth-child(2) .text-link {
		margin-top: 8.33px;
	}

	.home-cases .section-intro {
		max-width: 330px;
	}

	.home-about {
		padding-bottom: 56px;
	}

	.about-grid {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.about-photo {
		width: 100%;
		height: 219px;
		border-radius: 25px;
	}

	.about-copy {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.about-copy .section-label,
	.about-copy .section-title,
	.about-copy .section-intro {
		margin: 0;
	}

	.about-button .wp-block-button__link,
	.footer-button .wp-block-button__link {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}

	.home-footer {
		padding-bottom: 40px;
	}

	.footer-grid {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.section-label--white {
		margin: 0;
	}

	.footer-content {
		display: contents;
	}

	.footer-content .section-title,
	.footer-content .section-intro,
	.footer-discover-label,
	.footer-list,
	.footer-button {
		margin: 0;
	}

	.footer-discover-label {
		display: none;
	}

	.footer-list {
		gap: 10px;
	}

	.footer-bottom {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		margin: 0;
		padding: 24px 0 0;
	}

	.footer-logo {
		flex-basis: auto;
		width: 126px;
	}

	.footer-navigation {
		font-size: 12px;
		line-height: 1.5;
	}

	.footer-navigation .wp-block-navigation__container {
		justify-content: flex-start;
		gap: 8px 16px;
	}
}

/* ==========================================================================
   Subpagina's: gedeelde bouwstenen
   ========================================================================== */

.site-footer {
	margin: 0;
	padding: 0 var(--3delta-page-padding);
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

/* Werken bij: behoud de rijmaat, zonder zichtbare scheidingslijn. */
.page-id-15 .site-footer__inner {
	border-top-color: transparent;
}

.page-hero {
	position: relative;
	margin: 0;
	padding-block: 234px 90px;
	background: #f5b8d9 center / cover no-repeat;
}

.page-hero__inner {
	width: var(--3delta-container);
	margin-inline: auto;
}

.page-hero__eyebrow {
	margin: 0 0 24px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 20px;
	line-height: 1.2;
}

.page-hero__title {
	margin: 0;
	font-size: 65px;
	font-weight: 500;
	line-height: 1.09;
	letter-spacing: 0;
}

.page-hero__lead {
	max-width: 1040px;
	margin: 24px 0 0;
	font-size: 18px;
	line-height: 1.5;
}

.page-hero__button {
	margin-top: 24px;
}

.page-hero__button .wp-block-button__link,
.split-cta__button .wp-block-button__link {
	min-height: 59px;
	padding: 16px 35px;
	font-size: 18px;
	line-height: 1.5;
}

.section-inner > .section-label:first-child {
	margin-top: 0;
}

/* USP-kaarten (Over ons, Werkwijze, Werken bij) */
.usp-band {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.usp-band--white {
	background: var(--wp--preset--color--white);
}

.usp-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	align-items: stretch;
}

.usp-card {
	display: flex;
	gap: 20px;
	min-height: 270px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--white);
}

.usp-card--light {
	background: var(--wp--preset--color--gray-100);
}

.usp-card__image {
	flex: 0 0 163px;
	width: 163px;
	margin: 0;
}

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

.usp-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	margin: 0;
	padding: 40px 28px 20px 0;
}

.usp-card__title {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.usp-card__body {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

/* Tekst-plus-beeld CTA (Over ons) */
.split-cta {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.split-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 500px;
	gap: 70px;
	align-items: center;
}

.split-cta__copy {
	display: grid;
	justify-items: start;
	gap: 22px;
}

.split-cta__copy .section-label,
.split-cta__copy .section-title {
	margin: 0;
}

.split-cta__text {
	display: grid;
	gap: 18px;
	max-width: 860px;
}

.split-cta__text .section-intro {
	max-width: none;
	margin: 0;
}

.split-cta__button {
	margin-top: 16px;
}

.split-cta__photo {
	width: 500px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	aspect-ratio: 500 / 620;
}

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

/* ==========================================================================
   Over ons
   ========================================================================== */

.page-hero--over-ons {
	padding-top: 202px;
	background-image: url("assets/images/hero-over-ons.webp");
}

.page-hero__columns {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 828px);
	gap: 80px;
	margin-top: 24px;
}

.page-hero__column p {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

.page-hero__column--statement {
	display: grid;
	align-content: start;
	gap: 26px;
}

.page-hero__statement {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.team-section {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

.team-section .section-label {
	margin: 0 0 40px;
}

.team-section .section-title {
	margin: 0 0 40px;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.team-card {
	--team-card-inset: 34px;
	--team-card-inset-top: 44px;

	position: relative;
	container-type: size;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--black);
	aspect-ratio: 489 / 620;
}

.team-card__photo {
	position: absolute;
	z-index: 0;
	inset: 0;
	margin: 0;
}

.team-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: fill;
	position: absolute;
	max-width: none;
}

.team-card:nth-child(1) .team-card__photo img { width: 120.92%; height: 142.86%; left: -12.82%; top: 10.71%; }
.team-card:nth-child(2) .team-card__photo img { width: 138.89%; height: 163.93%; left: -11.11%; top: 5.67%; }
.team-card:nth-child(3) .team-card__photo img { width: 112.87%; height: 133.33%; left: -9.82%; top: 1.67%; }
.team-card:nth-child(4) .team-card__photo img { width: 100%; height: 117.5%; left: 0; top: 5.01%; }
.team-card:nth-child(5) .team-card__photo img { width: 112.87%; height: 133.33%; left: -6.43%; top: 0; }
.team-card:nth-child(6) .team-card__photo img { width: 112.87%; height: 133.33%; left: -8.69%; top: 0; }

.team-card::after {
	position: absolute;
	z-index: 1;
	inset: auto 0 0;
	height: 52%;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.5) 55%,
		rgba(0, 0, 0, 0.92) 100%
	);
	content: "";
	pointer-events: none;
}

/* De kaart is in het ontwerp even hoog voor elke staat. De inhoud staat
   daarom absoluut, bovenin, en wordt in rust naar beneden geschoven over de
   resterende hoogte van de kaart. Dat maakt de verschuiving naar de
   hoverstaat animeerbaar; 78px is de som van de marge boven en onder. */
.team-card__content {
	position: absolute;
	z-index: 2;
	right: var(--team-card-inset);
	top: var(--team-card-inset-top);
	left: var(--team-card-inset);
	margin: 0;
	padding: 0;
	transform: translateY(
		calc(100cqh - 100% - var(--team-card-inset-top) - var(--team-card-inset))
	);
}

/* De bio staat buiten de flow, anders duwt hij in ruststand de naam omhoog
   terwijl de kaart daar alleen naam en functie hoort te tonen. */
.team-card__bio {
	position: absolute;
	right: 0;
	top: 100%;
	left: 0;
	margin: 26px 0 0;
	color: var(--wp--preset--color--white);
	font-size: 16px;
	line-height: 1.5;
	opacity: 0;
	pointer-events: none;
}

/* Hoverstaat uit het component Team Card v2: de kaart wordt egaal donker en de
   naam schuift naar boven. De bio verschijnt alleen op kaarten waar die tekst
   is ingevuld; in het ontwerp erven alle kaarten dezelfde placeholder. */
.team-card::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: rgba(10, 10, 10, 0.84);
	content: "";
	opacity: 0;
	pointer-events: none;
}

.team-card:hover::before,
.team-card:focus-within::before {
	opacity: 1;
}

.team-card:hover::after,
.team-card:focus-within::after {
	opacity: 0;
}

.team-card:hover .team-card__content,
.team-card:focus-within .team-card__content {
	transform: translateY(0);
}

.team-card:hover .team-card__bio,
.team-card:focus-within .team-card__bio {
	opacity: 1;
	pointer-events: auto;
}

.team-card__name {
	margin: 0 0 2px;
	color: var(--wp--preset--color--white);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.team-card__role {
	margin: 0;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 16px;
	line-height: 1.5;
}

/* Quick scan CTA (Werkwijze, Cases, Case-detail) */
.quickscan {
	margin: 0;
	padding-block: 96px 51px;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
}

.quickscan--offset {
	border-top: 90px solid var(--wp--preset--color--gray-100);
}

.quickscan__grid {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
}

.quickscan__note {
	align-self: start;
	width: -webkit-max-content;
	width: max-content;
	max-width: 240px;
	margin: 0;
	padding: 10px 20px;
	border-radius: 10px;
	background: var(--wp--preset--color--gray-100);
	color: #212121;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 20px;
	line-height: 1.2;
}

.quickscan__title {
	margin: 0 0 32px;
	font-size: 55px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.quickscan__lead {
	max-width: 867px;
	margin: 0 0 43px;
	font-size: 18px;
	line-height: 1.5;
}

.quickscan__label {
	margin: 0 0 17px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
}

.quickscan__list {
	gap: 18px;
	margin: 0 0 33px;
}

.quickscan__button .wp-block-button__link {
	min-height: 59px;
	padding: 16px 35px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	font-size: 18px;
	line-height: 1.5;
}

/* Logoband (Werkwijze, Werken bij) */
.clients-band {
	margin: 0;
	padding-block: 90px 64px;
	background: var(--wp--preset--color--white);
}

.clients-band .section-label {
	margin: 0 0 24px;
}

.clients-band .section-title {
	margin: 0 0 24px;
}

.clients-band .section-intro {
	max-width: 820px;
}

.clients-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 60px;
	margin-top: 44px;
}

.clients-logo {
	width: auto;
	height: 56px;
	margin: 0;
}

.clients-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.clients-logo--defensie {
	width: 160px;
}

.clients-logo--salta {
	width: 147px;
}

/* ==========================================================================
   Werkwijze
   ========================================================================== */

.page-hero--werkwijze {
	padding-top: 226px;
	background-image: url("assets/images/hero-werkwijze.webp");
}

.page-hero--werkwijze .page-hero__title {
	max-width: 1100px;
}

.page-hero--werkwijze .page-hero__lead {
	max-width: 900px;
}

.usp-cards--tall .usp-card {
	min-height: 248px;
}

.usp-cards--tall .usp-card__image {
	flex: 0 0 150px;
	width: 150px;
}

.usp-cards--tall .usp-card__content {
	gap: 12px;
	padding: 32px 28px 48px 0;
}

.approach-detail {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.approach-detail .section-label {
	margin: 0 0 40px;
}

.approach-interactive { margin:0; padding:90px 0 70px; background:#f4f4f4; }
.approach-interactive h2 { margin:24px 0; font-size:65px; line-height:1.2; font-weight:500; }
.approach-interactive__intro { margin:0 0 64px; font-size:18px; }
.approach-interactive__layout { display:grid; grid-template-columns:620px minmax(0,700px); gap:133px; align-items:start; }
.approach-wheel { position:relative; width:620px; aspect-ratio:620/575; }
.approach-wheel>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; animation:approach-wheel-in .75s cubic-bezier(.2,.75,.2,1) both; }
.approach-wheel>img:nth-of-type(2) { animation-delay:.08s; }
.approach-wheel__hits { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; overflow:visible; }
.approach-wheel__hits path { fill:#f4f4f4; fill-opacity:0; cursor:pointer; transition:fill-opacity .22s ease,filter .22s ease; animation:approach-segment-reveal .42s cubic-bezier(.2,.75,.2,1) both; }
.approach-wheel__hits path[data-logo-step="0"] { animation-delay:.12s; }
.approach-wheel__hits path[data-logo-step="1"] { animation-delay:.48s; }
.approach-wheel__hits path[data-logo-step="2"] { animation-delay:.84s; }
.approach-wheel__hits path:hover,.approach-wheel__hits path:focus-visible { fill:#fff; fill-opacity:.12; filter:drop-shadow(0 5px 8px rgba(71,34,126,.16)); outline:none; }
.approach-wheel__hits path:focus { outline:none; }
.approach-wheel__hits path.is-active { fill:#ff178d; fill-opacity:.07; }
.approach-wheel__label { position:absolute; z-index:2; display:block; margin:0; padding:0; border:0; background:transparent; color:#000; font:inherit; font-size:26px; line-height:normal; font-weight:500; cursor:pointer; }
.approach-wheel__label::after { content:'+'; position:absolute; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#000; color:#fff; font-size:24px; line-height:1; font-weight:400; transition:transform .22s cubic-bezier(.2,.75,.2,1),background-color .22s ease,box-shadow .22s ease; }
.approach-wheel__label.is-active::after { content:'−'; background:#ff178d; }
.approach-wheel[data-hover-step="0"] .approach-wheel__label--mens::after,.approach-wheel[data-hover-step="1"] .approach-wheel__label--proces::after,.approach-wheel[data-hover-step="2"] .approach-wheel__label--techniek::after { transform:scale(1.1) rotate(8deg); box-shadow:0 6px 16px rgba(0,0,0,.18); }
.approach-wheel__label,.approach-wheel__center { animation:approach-copy-in .45s ease both; }
.approach-wheel__label--mens { animation-delay:.28s; }
.approach-wheel__label--proces { animation-delay:.64s; }
.approach-wheel__label--techniek { animation-delay:1s; }
.approach-wheel__center { animation-name:approach-center-in; animation-delay:1.18s; }
.approach-wheel>img,.approach-wheel__hits path,.approach-wheel__label,.approach-wheel__center { animation-play-state:paused; }
.approach-wheel.is-in-view>img,.approach-wheel.is-in-view .approach-wheel__hits path,.approach-wheel.is-in-view .approach-wheel__label,.approach-wheel.is-in-view .approach-wheel__center { animation-play-state:running; }
.approach-wheel__label:focus-visible { outline:2px solid #ff178d; outline-offset:5px; }
.approach-wheel__label--mens { left:24.68%; top:27.3%; }
.approach-wheel__label--mens::after { left:-18px; top:53px; }
.approach-wheel__label--proces { left:69.03%; top:52.17%; }
.approach-wheel__label--proces::after { left:42px; top:50px; }
.approach-wheel__label--techniek { left:28.23%; top:89.91%; }
.approach-wheel__label--techniek::after { left:-60px; top:-3px; }
.approach-wheel__center { position:absolute; left:47.42%; top:58.3%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; white-space:nowrap; text-align:center; }
.approach-wheel__center strong { font-size:64px; line-height:1.1; font-weight:500; }
.approach-wheel__center small { font-family:var(--wp--preset--font-family--mono); font-size:16px; }
.approach-choices { display:grid; gap:16px; padding-top:8px; }
.approach-choices[hidden],.approach-panel[hidden] { display:none; }
.approach-choices button { display:grid; grid-template-columns:24px 1fr auto; gap:24px; align-items:center; width:100%; min-height:132px; padding:32px; border:0; border-radius:25px; background:#fff; color:#000; text-align:left; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.approach-choices button:hover,.approach-choices button:focus-visible { transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.08); outline:2px solid #ff178d; outline-offset:2px; }
.approach-choices small { color:#ff178d; font-family:var(--wp--preset--font-family--mono); font-size:18px; }
.approach-choices span { font-size:34px; font-weight:500; }
.approach-choices b { color:#ff178d; font-size:34px; font-weight:400; }
.approach-panel { min-height:518px; padding:28px 32px 32px; border-radius:25px; background:#fff; }
.approach-panel.is-entering { animation:approach-panel-in .35s cubic-bezier(.2,.75,.2,1) both; }
.approach-tabs { display:flex; gap:10px; align-items:center; margin-bottom:28px; }
.approach-tabs button { padding:11px 18px; border:0; border-radius:999px; background:#f4f4f4; font:inherit; cursor:pointer; }
.approach-tabs button.is-active { background:#000; color:#fff; }
.approach-tabs .approach-close { display:grid; place-items:center; width:44px; height:44px; margin-left:auto; padding:0; background:transparent; font-size:30px; line-height:1; }
.approach-panel h3 { margin:0 0 28px; font-size:34px; font-weight:500; }
.approach-panel h3 strong { color:#ff178d; font-weight:inherit; }
.approach-panel p { margin:0 0 28px; font-size:18px; line-height:1.45; }
.approach-panel ul,.approach-mobile ul { display:grid; gap:22px; margin:0; padding:0; list-style:none; }
.approach-panel li,.approach-mobile li { position:relative; padding-left:56px; }
.approach-panel li::before,.approach-mobile li::before { content:'→'; position:absolute; left:0; color:#ff178d; font-size:30px; line-height:.7; }
.approach-promise { display:flex; align-items:center; gap:18px; width:620px; margin:36px 0 0; }
.approach-promise span { flex:1; height:1px; background:#bfbfbf; }
.approach-promise p { margin:0; color:#6b6b6b; font-family:var(--wp--preset--font-family--mono); font-size:18px; white-space:nowrap; }
.approach-mobile { display:none; }

@keyframes approach-wheel-in { from { opacity:0; transform:scale(.96) rotate(-1deg); } to { opacity:1; transform:none; } }
@keyframes approach-segment-reveal { from { fill-opacity:1; } to { fill-opacity:0; } }
@keyframes approach-copy-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@keyframes approach-center-in { from { opacity:0; transform:translate(-50%,calc(-50% + 7px)); } to { opacity:1; transform:translate(-50%,-50%); } }
@keyframes approach-panel-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

@media (prefers-reduced-motion:reduce) {
	.approach-wheel>img,.approach-wheel__hits path,.approach-wheel__label,.approach-wheel__center,.approach-panel.is-entering { animation:none; }
	.approach-wheel__hits path,.approach-wheel__label::after,.approach-choices button { transition:none; }
}

@media (max-width: 1599px) and (min-width: 1101px) {
	.approach-interactive__layout { grid-template-columns:minmax(0,620px) minmax(0,1fr); gap:64px; }
}

@media (max-width: 1100px) {
	.approach-interactive__layout { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:48px; }
	.approach-wheel,.approach-promise { width:100%; }
}

@media (max-width: 781px) {
	.approach-interactive { padding:48px 24px; }
	.approach-interactive h2 { margin:24px 0; font-size:40px; line-height:1.08; }
	.approach-interactive__intro { margin-bottom:10px; font-size:16px; }
	.approach-interactive__layout { display:block; }
	.approach-wheel { width:300px; max-width:100%; margin:0 auto; }
	.approach-wheel__label { display:block; font-size:12px; pointer-events:none; }
	.approach-wheel__hits { display:none; }
	.approach-wheel__label::after { content:none; }
	.approach-wheel__label--mens { left:21.67%; top:32.73%; }
	.approach-wheel__label--proces { left:70%; top:53.6%; }
	.approach-wheel__label--techniek { left:26%; top:89.57%; }
	.approach-wheel__center strong { font-size:36px; }
	.approach-wheel__center small { font-size:10px; }
	.approach-desktop { display:none; }
	.approach-promise { gap:18px; width:300px; max-width:100%; margin:16px auto 38px; }
	.approach-promise p { font-size:11px; }
	.approach-mobile { display:grid; gap:8px; }
	.approach-mobile details { overflow:hidden; border-radius:17px; background:#fff; }
	.approach-mobile summary { display:grid; grid-template-columns:16px 1fr auto; gap:8px; align-items:center; min-height:64px; padding:0 16px; cursor:pointer; list-style:none; }
	.approach-mobile summary::-webkit-details-marker { display:none; }
	.approach-mobile summary small { color:#ff178d; font-family:var(--wp--preset--font-family--mono); }
	.approach-mobile summary span { font-size:17px; font-weight:500; }
	.approach-mobile summary::after { content:'+'; color:#ff178d; }
	.approach-mobile details[open] summary::after { content:'−'; }
	.approach-mobile details>div { padding:24px; border-top:8px solid #f4f4f4; }
	.approach-mobile h3 { margin:0 0 24px; font-size:24px; font-weight:500; }
	.approach-mobile p { margin:0 0 20px; line-height:1.45; }
	.approach-mobile ul { gap:18px; }
	.approach-mobile li { padding-left:24px; }
	.approach-mobile li::before { font-size:20px; }
}

.step-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

.step-card {
	position: relative;
	min-width: 0;
	min-height: 560px;
	margin: 0;
	padding: 70px 34px 40px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--gray-100) center / cover no-repeat;
}

.step-card:nth-child(1) {
	background-image: url("assets/images/step-card-1.webp");
}

.step-card:nth-child(2) {
	background-image: url("assets/images/step-card-2.webp");
}

.step-card:nth-child(3) {
	background-image: url("assets/images/step-card-3.webp");
}

.step-card__title {
	margin: 0 0 18px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.27;
}

.step-card__title strong {
	color: var(--wp--preset--color--brand-magenta);
	font-weight: inherit;
}

.step-card__body {
	margin: 0 0 54px;
	font-size: 16px;
	line-height: 1.5;
}

.step-card__list {
	gap: 18px;
}

/* Donkere CTA (Werken bij) */
.dark-cta {
	margin: 0;
	padding-block: 110px;
	background: #141414;
	color: var(--wp--preset--color--white);
}

.dark-cta .section-label {
	margin: 0 0 24px;
}

.dark-cta .section-title {
	margin: 0 0 24px;
}

.dark-cta .section-intro {
	max-width: 820px;
	margin: 0 0 24px;
}

.dark-cta__button .wp-block-button__link {
	min-height: 59px;
	padding: 16px 35px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	font-size: 18px;
	line-height: 1.5;
}

/* Tekstblok met label en titel (Werken bij) */
.text-block {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

.text-block .section-label {
	margin: 0 0 24px;
}

.text-block .section-title {
	margin: 0 0 24px;
}

.text-block__body {
	max-width: 1100px;
}

/* ==========================================================================
   Werken bij
   ========================================================================== */

.page-hero--werken-bij {
	padding-top: 226px;
	background-image: url("assets/images/hero-werken-bij.webp");
}

.page-hero--werken-bij .page-hero__title {
	max-width: 1100px;
}

.page-hero--werken-bij .page-hero__lead {
	max-width: 820px;
}

.collective {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

.collective__grid {
	display: grid;
	grid-template-columns: minmax(0, 760px) 708px;
	gap: 60px;
	align-items: start;
}

.collective__copy {
	display: grid;
	justify-items: start;
	gap: 20px;
}

.collective__copy .section-label,
.collective__copy .section-title,
.collective__copy .section-intro {
	margin: 0;
}

.collective__copy .section-intro {
	max-width: 700px;
}

.collective__body {
	max-width: 700px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.collective__list {
	gap: 12px;
	padding-block: 8px;
}

.collective__panel {
	width: 708px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	aspect-ratio: 708 / 647;
}

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

.testimonial {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.testimonial__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 460px;
	gap: 56px;
	padding: 56px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--white) center / cover no-repeat;
	background-image: url("assets/images/testimonial-bg.webp");
}

.testimonial__quote-col {
	position: relative;
	display: grid;
	align-content: start;
	gap: 24px;
	padding-left: 56px;
}

.testimonial__quote {
	margin: 0;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.4;
}

.testimonial__quote::before {
	position: absolute;
	left: 4px;
	top: -8px;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 52px;
	line-height: 1.2;
	content: "\201C";
}

.testimonial__mark {
	margin-left: 6px;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 52px;
	line-height: 0;
	vertical-align: -6px;
}

.testimonial__source {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.testimonial__photo {
	position: relative;
	width: 460px;
	height: 430px;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
}

.testimonial__photo img {
	display: block;
	width: 131.94%;
	height: 105.56%;
	max-width: none;
	position: absolute;
	left: -24.55%;
	top: -5.56%;
	object-fit: fill;
}

.clients-band--balanced {
	padding-bottom: 90px;
}

.team-feature {
	margin: 0;
	padding-block: 90px 180px;
	background: var(--wp--preset--color--gray-100);
}

.team-feature .section-label {
	margin: 0 0 24px;
}

.team-feature .section-title {
	margin: 0 0 24px;
}

.team-feature .section-intro {
	max-width: 900px;
	margin: 0 0 40px;
}

.team-feature__photo {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 25px;
	aspect-ratio: 1528 / 860;
}

.team-feature__photo img {
	display: block;
	width: 100%;
	height: 118.82%;
	object-fit: fill;
	position: absolute;
	top: -9.55%;
}

/* ==========================================================================
   Cases
   ========================================================================== */

.page-hero--cases {
	background-image: url("assets/images/hero-cases.webp");
}

.page-hero--cases .page-hero__lead {
	max-width: 1040px;
}

.case-list {
	margin: 0;
	padding-block: 80px;
	background: var(--wp--preset--color--white);
}

.case-list__rows {
	display: grid;
	gap: 40px;
}

.case-row {
	position: relative;
	display: flex;
	min-height: 432px;
	flex-direction: column;
	margin: 0;
	padding: 70px 106px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--white) center / cover no-repeat;
}

.case-row:nth-child(1) {
	background-image: url("assets/images/case-row-1.webp");
}

.case-row:nth-child(2) {
	background-image: url("assets/images/case-row-2.webp");
}

.case-row:nth-child(3) {
	background-image: url("assets/images/case-row-2.webp");
}

@media (min-width: 1200px) {
	.case-row--kpu {
		padding-bottom: 60px;
	}
}

.case-row__inner {
	max-width: 700px;
	margin: 0;
}

.case-row__logo {
	width: auto;
	height: 80px;
	margin: 0 0 18px;
}

.case-row__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.case-row__logo--defensie {
	width: 229px;
}

.case-row__logo--salta {
	width: 210px;
}

.case-row__title {
	margin: 0 0 18px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.case-row__body {
	margin: 0 0 18px;
	font-size: 16px;
	line-height: 1.5;
}

.case-row__link {
	margin: 0;
}

.case-row__link a::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	border-radius: 25px;
	content: "";
}

.case-row__link a:focus-visible {
	outline: none;
}

.case-row__link a:focus-visible::before {
	outline: 3px solid var(--wp--preset--color--brand-magenta);
	outline-offset: -5px;
}

/* ==========================================================================
   Case-detail
   ========================================================================== */

.section-label--plain {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: #7b7b7b;
}

.page-hero--case {
	background-image: url("assets/images/hero-case-detail.webp");
}

.page-hero__logo {
	width: 257px;
	height: 90px;
	margin: 0 0 28px;
}

.page-hero__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.page-hero--case .page-hero__eyebrow {
	margin-bottom: 28px;
}

.page-hero--case .page-hero__title {
	max-width: 1200px;
}

.page-hero__meta {
	max-width: 950px;
	margin: 28px 0 0;
	color: var(--wp--preset--color--gray-700);
	font-size: 18px;
	line-height: 1.5;
}

.case-summary {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

.case-summary .section-label {
	margin: 0 0 48px;
}

.case-summary__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 482px));
	gap: 40px;
}

.case-highlight {
	margin: 0;
}

.case-highlight__number {
	margin: 0 0 20px;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 65px;
	font-weight: 500;
	line-height: 1.09;
}

.case-highlight__title {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.case-split {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.case-split--white {
	background: var(--wp--preset--color--white);
}

.case-split__grid {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 868px);
	gap: 100px;
	align-items: start;
}

.case-split__head .section-label {
	margin: 0 0 24px;
}

.case-split__head .section-title {
	margin: 0;
}

.case-split__body {
	display: grid;
	gap: 24px;
}

.case-split__body .section-intro {
	max-width: none;
	margin: 0;
}

.case-split__question {
	margin: 8px 0 0;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.case-approach {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--gray-100);
}

.case-approach .section-label {
	margin: 0 0 20px;
}

.case-approach .section-title {
	margin: 0 0 48px;
}

.case-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 41px;
}

.case-step {
	min-width: 0;
	min-height: 330px;
	margin: 0;
	padding: 70px 34px 40px;
	overflow: hidden;
	border-radius: 25px;
	background: var(--wp--preset--color--gray-100) center / cover no-repeat;
}

.case-step:nth-child(1) {
	background-image: url("assets/images/case-step-1.webp");
}

.case-step:nth-child(2) {
	background-image: url("assets/images/case-step-2.webp");
}

.case-step:nth-child(3) {
	background-image: url("assets/images/case-step-3.webp");
}

.case-step__title {
	margin: 0 0 16px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.case-step__body {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.case-result {
	margin: 0;
	padding-block: 120px;
	background: var(--wp--preset--color--gray-100) center / cover no-repeat;
	background-image: url("assets/images/case-result-bg.webp");
}

.case-result .case-split__grid {
	grid-template-columns: minmax(0, 620px) minmax(0, 808px);
}

/* ==========================================================================
   Contact
   ========================================================================== */

.page-hero--contact {
	background-image: url("assets/images/hero-contact.webp");
}

.page-hero--contact .page-hero__lead {
	max-width: 760px;
}

.contact-section {
	margin: 0;
	padding-block: 80px;
	background: var(--wp--preset--color--white);
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 700px) 440px;
	justify-content: start;
	gap: 100px;
	align-items: start;
}

.contact-form__title {
	margin: 0 0 24px;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

/* Gravity Forms levert de opmaak, deze regels leveren het ontwerp. */
.contact-form .gform_wrapper {
	margin: 0;
}

.contact-form .gform_fields {
	display: grid;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-form .gfield {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.contact-form .gfield_label {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

/* Het ontwerp toont geen sterretjes; de melding blijft wel voor schermlezers. */
.contact-form .gfield_required {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.contact-form .ginput_container {
	margin: 0;
	line-height: 0;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
	display: block;
	width: 100%;
	min-height: 54px;
	padding: 14px 20px;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
}

.contact-form textarea {
	height: 140px;
	min-height: 140px;
	resize: vertical;
}

.contact-form input::-webkit-input-placeholder,
.contact-form textarea::-webkit-input-placeholder {
	color: #9a9a9a;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #9a9a9a;
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
	border-color: var(--wp--preset--color--brand-magenta);
	outline: none;
}

.contact-form .gform_footer {
	margin: 24px 0 0;
	padding: 0;
}

.contact-form .gform_button {
	min-height: 59px;
	padding: 16px 35px;
	border: 0;
	border-radius: 45px;
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
}

/* Zonder de stylesheets van de plugin verbergt niets de honeypot nog. */
.contact-form .gform_validation_container,
.contact-form .gfield--type-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.contact-form .gform_validation_errors {
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 1px solid var(--wp--preset--color--brand-magenta);
	border-radius: 10px;
	font-size: 16px;
	line-height: 1.5;
}

.contact-form .gform_validation_errors h2 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

.contact-form .gfield_error input,
.contact-form .gfield_error textarea {
	border-color: var(--wp--preset--color--brand-magenta);
}

.contact-form .validation_message {
	margin: 0;
	color: var(--wp--preset--color--brand-magenta);
	font-size: 14px;
	line-height: 1.4;
}

.contact-form .gform_confirmation_message {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

.contact-form .gform_ajax_spinner {
	margin-left: 12px;
}

.contact-form__note {
	margin: 24px 0 0;
	color: #595959;
	font-size: 16px;
	line-height: 1.5;
}

.contact-card {
	display: grid;
	align-content: start;
	gap: 40px;
	width: 440px;
	min-height: 684px;
	margin: 0;
	padding: 48px;
	border-radius: 25px;
	background: linear-gradient(135deg, #ccbaf2 0%, #f5b8d9 50%, #facc9e 100%);
}

.contact-card__title {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
}

.contact-detail {
	display: grid;
	gap: 6px;
	margin: 0;
}

.contact-detail__label {
	margin: 0;
	color: var(--wp--preset--color--gray-700);
	font-size: 16px;
	line-height: 1.5;
}

.contact-detail__value {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

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

.contact-card__note {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.contact-avatars {
	display: flex;
	flex-wrap: nowrap;
	gap: 9px;
}

.contact-avatar {
	width: 50px;
	height: 50px;
	margin: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--wp--preset--color--black);
}

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

.contact-detail__value a:hover,
.contact-detail__value a:focus-visible {
	opacity: 0.7;
}

.contact-form .gform_button:hover,
.contact-form .gform_button:focus-visible {
	background: var(--wp--preset--color--brand-magenta);
}

@media (prefers-reduced-motion: no-preference) {
	.contact-detail__value a,
	.contact-form .gform_button {
		transition:
			background-color 240ms ease,
			color 240ms ease,
			opacity 240ms ease;
	}
}

/* Hoverstates voor de knoppen op de subpagina's, gelijk aan de homepage:
   zwart op licht wordt magenta, wit op donker wordt magenta, en de zwarte
   knop op de roze hero wordt wit zoals op de homepagehero.
   De kleurwissel staat bewust buiten de reduced-motion-query, zodat ook
   bezoekers met bewegingsvoorkeur uit een hoverstate zien. Alleen de
   overgang zelf hangt van die voorkeur af. */
.page-hero__button .wp-block-button__link:hover,
.page-hero__button .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
}

.split-cta__button .wp-block-button__link:hover,
.split-cta__button .wp-block-button__link:focus-visible,
.collective__button .wp-block-button__link:hover,
.collective__button .wp-block-button__link:focus-visible,
.quickscan__button .wp-block-button__link:hover,
.quickscan__button .wp-block-button__link:focus-visible,
.dark-cta__button .wp-block-button__link:hover,
.dark-cta__button .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--brand-magenta);
	color: var(--wp--preset--color--white);
}

@media (prefers-reduced-motion: no-preference) {
	.page-hero__button .wp-block-button__link,
	.split-cta__button .wp-block-button__link,
	.collective__button .wp-block-button__link,
	.quickscan__button .wp-block-button__link,
	.dark-cta__button .wp-block-button__link {
		transition:
			background-color 260ms ease,
			color 260ms ease;
	}

	.team-card::before,
	.team-card::after {
		transition: opacity 300ms ease;
	}

	.team-card .team-card__content {
		transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.team-card .team-card__bio {
		transition: opacity 300ms ease 80ms;
	}
}

/* Links in lopende tekst. Zonder onderstreping zijn ze onzichtbaar, want
   theme.json zet de linkkleur op zwart en de tekst eromheen is dat ook. */
.content-link {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(0, 0, 0, 0.4);
	text-underline-offset: 3px;
}

.content-link:hover,
.content-link:focus-visible {
	color: var(--wp--preset--color--brand-magenta);
	text-decoration-color: currentColor;
}

@media (prefers-reduced-motion: no-preference) {
	.content-link {
		transition:
			color 200ms ease,
			text-decoration-color 200ms ease;
	}
}

/* ==========================================================================
   404 en juridische pagina's
   ========================================================================== */

.page-hero--404,
.page-hero--legal {
	background-image: url("assets/images/hero-contact.webp");
}

.page-hero--404 .page-hero__lead,
.page-hero--legal .page-hero__lead {
	max-width: 760px;
}

.error-links {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

.error-links .section-label {
	margin: 0 0 24px;
}

.error-links__list {
	font-size: 18px;
}

/* Lopende juridische tekst. Smalle kolom, want een regel van 1440px leest
   niet. De koppen zijn kleiner dan .section-title omdat er veel van zijn. */
.legal-section {
	margin: 0;
	padding-block: 90px;
	background: var(--wp--preset--color--white);
}

/* De kolom houdt de containerbreedte aan, zodat de linkermarge gelijk is aan
   die van de andere pagina's. De regellengte wordt op de kinderen begrensd. */
.legal-text {
	font-size: 18px;
	line-height: 1.6;
}

.legal-text > * {
	max-width: 760px;
}

.legal-text__meta {
	margin: 0 0 48px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 16px;
	color: var(--wp--preset--color--gray-700);
}

.legal-text h2 {
	margin: 48px 0 16px;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.legal-text h2:first-of-type {
	margin-top: 0;
}

.legal-text p {
	margin: 0 0 16px;
}

.legal-text ul {
	margin: 0 0 16px;
	padding-left: 20px;
}

.legal-text li {
	margin-bottom: 8px;
}

/* Subpagina's: responsive */
@media (max-width: 1399px) {
	.page-hero {
		padding-top: 170px;
	}

	.page-hero--over-ons {
		padding-top: 150px;
	}

	.page-hero__title {
		font-size: clamp(44px, 4.2vw, 65px);
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.usp-band,
	.team-section,
	.split-cta {
		padding-block: 64px;
	}

	.page-hero__columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.usp-cards {
		gap: 18px;
	}

	.usp-card__image {
		flex-basis: 34%;
		width: 34%;
	}

	.usp-card__content {
		gap: 12px;
		padding: 24px 18px 20px 0;
	}

	.usp-card__title {
		font-size: 22px;
	}

	.usp-card__body {
		font-size: 14px;
		line-height: 1.4;
	}

	.team-grid {
		gap: 18px;
	}

	.team-card {
		--team-card-inset: 24px;
		--team-card-inset-top: 32px;
	}

	.team-card__name {
		font-size: 24px;
	}

	.team-card__role {
		font-size: 14px;
	}

	.team-card__bio {
		margin-top: 18px;
		font-size: 14px;
		line-height: 20px;
	}

	.split-cta__grid {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 40px;
	}

	.split-cta__photo {
		width: 320px;
	}
}

@media (max-width: 781px) {
	.page-hero,
	.page-hero--over-ons {
		padding: 108px 24px 56px;
	}

	.page-hero__inner {
		width: 100%;
	}

	.page-hero__eyebrow {
		margin-bottom: 18px;
		font-size: 12px;
		line-height: 1.3;
	}

	.page-hero__title {
		font-size: 42px;
		line-height: 1.04;
		letter-spacing: -0.025em;
	}

	.page-hero__lead {
		margin-top: 18px;
		font-size: 16px;
		line-height: 24px;
	}

	.page-hero__button {
		margin-top: 18px;
	}

	.page-hero__columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		margin-top: 24px;
	}

	.page-hero__column p {
		font-size: 16px;
		line-height: 24px;
	}

	.page-hero__statement {
		font-size: 22px;
	}

	.usp-band,
	.team-section,
	.split-cta {
		padding: 56px 24px;
	}

	.usp-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.usp-card {
		gap: 14px;
		min-height: 0;
		border-radius: 17.485px;
	}

	.usp-card__image {
		flex: 0 0 114px;
		width: 114px;
	}

	.usp-card__content {
		gap: 12px;
		padding: 20px 16px 20px 0;
	}

	.usp-card__title {
		font-size: 20px;
	}

	.usp-card__body {
		font-size: 14px;
		line-height: 20px;
	}

	.team-section .section-label,
	.team-section .section-title {
		margin-bottom: 24px;
	}

	.team-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.team-card {
		--team-card-inset: 24px;
		--team-card-inset-top: 32px;
	}

	.team-card__name {
		font-size: 24px;
	}

	.team-card__role {
		font-size: 14px;
	}

	.team-card__bio {
		margin-top: 18px;
		font-size: 14px;
		line-height: 20px;
	}

	.split-cta__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.split-cta__copy {
		gap: 24px;
	}

	.split-cta__text {
		gap: 16px;
	}

	.split-cta__button {
		margin-top: 0;
	}

	.split-cta__photo {
		width: 100%;
		aspect-ratio: 3 / 2;
	}

	.page-hero__button .wp-block-button__link,
	.split-cta__button .wp-block-button__link {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}

	.site-footer {
		padding: 0 24px 40px;
	}

	.site-footer__inner {
		padding: 24px 0 0;
		min-height: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.site-footer__logo {
		flex-basis: auto;
		width: 126px;
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.home-footer { padding-top: 64px; }
	.footer-logo,
	.site-footer__logo { flex-basis: auto; }
	.footer-grid { grid-template-columns: 220px minmax(0, 1fr); }
	.footer-bottom,
	.site-footer__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 32px 0;
	}
	.footer-navigation .wp-block-navigation__container {
		justify-content: flex-start;
		gap: 16px 24px;
	}
	.approach-detail,
	.clients-band,
	.quickscan {
		padding-block: 64px;
	}

	.usp-cards--tall .usp-card__image {
		flex-basis: 34%;
		width: 34%;
	}

	.usp-cards--tall .usp-card__content {
		padding: 24px 18px 24px 0;
	}

	.step-cards {
		gap: 18px;
	}

	.step-card {
		min-height: 0;
		padding: 48px 24px 32px;
	}

	.step-card__title {
		font-size: 25px;
	}

	.step-card__body {
		margin-bottom: 32px;
		font-size: 14px;
	}

	.step-card__list {
		gap: 12px;
		font-size: 14px;
	}

	.quickscan__grid {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.quickscan__note {
		max-width: 100%;
	}

	.quickscan__title {
		font-size: 44px;
	}
}

@media (max-width: 781px) {
	.approach-detail,
	.clients-band,
	.quickscan {
		padding: 56px 24px;
	}

	.usp-cards--tall .usp-card__image {
		flex: 0 0 114px;
		width: 114px;
	}

	.usp-cards--tall .usp-card__content {
		gap: 12px;
		padding: 20px 16px 20px 0;
	}

	.approach-detail .section-label {
		margin-bottom: 24px;
	}

	.step-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.step-card {
		min-height: 0;
		padding: 32px 24px 24px;
		border-radius: 17.485px;
	}

	.step-card__title {
		margin-bottom: 15px;
		font-size: 20px;
	}

	.step-card__body {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 20px;
	}

	.step-card__list {
		gap: 10px;
		font-size: 14px;
		line-height: 20px;
	}

	.clients-band .section-label,
	.clients-band .section-title {
		margin-bottom: 24px;
	}

	.clients-logos {
		gap: 32px;
		margin-top: 24px;
	}

	.clients-logo {
		height: 40px;
	}

	.clients-logo--defensie {
		width: 114px;
	}

	.clients-logo--salta {
		width: 105px;
	}

	.quickscan__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.quickscan__note {
		max-width: 100%;
		padding: 8px 14px;
		font-size: 14px;
	}

	.quickscan__title {
		margin-bottom: 16px;
		font-size: 34px;
		letter-spacing: 0;
	}

	.quickscan__lead {
		margin-bottom: 24px;
		font-size: 16px;
		line-height: 24px;
	}

	.quickscan__label {
		display: none;
	}

	.quickscan__list {
		gap: 10px;
		margin-bottom: 24px;
	}

	.quickscan__button .wp-block-button__link {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.collective,
	.text-block,
	.testimonial {
		padding-block: 64px;
	}

	.team-feature {
		padding-block: 64px 128px;
	}

	.dark-cta {
		padding-block: 72px;
	}

	.clients-band--balanced {
		padding-bottom: 64px;
	}

	.quickscan--offset {
		border-top-width: 64px;
	}

	.collective__grid {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 32px;
	}

	.collective__panel {
		width: 360px;
	}

	.testimonial__card {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 32px;
		padding: 40px;
	}

	.testimonial__quote-col {
		padding-left: 40px;
	}

	.testimonial__quote {
		font-size: 22px;
	}

	.testimonial__photo {
		width: 300px;
	}
}

@media (max-width: 781px) {
	.collective,
	.text-block,
	.testimonial,
	.dark-cta {
		padding: 56px 24px;
	}

	.team-feature {
		padding: 56px 24px 112px;
	}

	.clients-band--balanced {
		padding-bottom: 56px;
	}

	.quickscan--offset {
		border-top-width: 56px;
	}

	.collective__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.collective__copy {
		gap: 16px;
	}

	.collective__body {
		font-size: 14px;
		line-height: 20px;
	}

	.collective__list {
		gap: 10px;
		padding-block: 0;
	}

	.collective__panel {
		width: 100%;
		aspect-ratio: 3 / 2;
	}

	.text-block .section-label,
	.text-block .section-title {
		margin-bottom: 24px;
	}

	.testimonial__card {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding: 24px;
		border-radius: 17.485px;
	}

	.testimonial__quote-col {
		gap: 16px;
		padding-left: 28px;
	}

	.testimonial__quote {
		font-size: 18px;
		line-height: 1.45;
	}

	.testimonial__quote::before {
		left: 0;
		top: -4px;
		font-size: 34px;
	}

	.testimonial__mark {
		font-size: 34px;
		vertical-align: -4px;
	}

	.testimonial__source {
		font-size: 14px;
	}

	.testimonial__photo {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.team-feature .section-label,
	.team-feature .section-title,
	.team-feature .section-intro {
		margin-bottom: 24px;
	}

	.dark-cta .section-label,
	.dark-cta .section-title,
	.dark-cta .section-intro {
		margin-bottom: 24px;
	}

	.dark-cta__button .wp-block-button__link {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}
}

@media (max-width: 1199px) and (min-width: 782px) {
	.case-list,
	.case-summary,
	.case-split,
	.case-approach,
	.contact-section {
		padding-block: 64px;
	}

	.case-result {
		padding-block: 80px;
	}

	.case-row {
		min-height: 0;
		padding: 48px;
	}

	.case-row__title {
		font-size: 25px;
	}

	.case-summary__grid {
		gap: 24px;
	}

	.case-highlight__number {
		font-size: 48px;
	}

	.case-highlight__title {
		font-size: 22px;
	}

	.case-split__grid,
	.case-result .case-split__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
		gap: 40px;
	}

	.case-split__question {
		font-size: 24px;
	}

	.case-steps {
		gap: 20px;
	}

	.case-step {
		min-height: 0;
		padding: 40px 24px 28px;
	}

	.case-step__title {
		font-size: 24px;
	}

	.case-step__body {
		font-size: 14px;
	}

	.contact-grid {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 40px;
	}

	.contact-card {
		width: 360px;
		padding: 32px;
	}

	.contact-avatars {
		flex-wrap: wrap;
	}
}

@media (max-width: 781px) {
	.case-list,
	.case-summary,
	.case-split,
	.case-approach,
	.case-result,
	.contact-section {
		padding: 56px 24px;
	}

	.case-list__rows {
		gap: 24px;
	}

	.case-row {
		min-height: 0;
		padding: 32px 24px;
		border-radius: 17.485px;
	}

	.case-row__logo {
		height: 48px;
	}

	.case-row__logo--defensie {
		width: 137px;
	}

	.case-row__logo--salta {
		width: 126px;
	}

	.case-row__title {
		margin-bottom: 12px;
		font-size: 20px;
	}

	.case-row__body {
		margin-bottom: 12px;
		font-size: 14px;
		line-height: 20px;
	}

	.case-row__link {
		font-size: 14px;
		line-height: 20px;
	}

	.page-hero__logo {
		width: 180px;
		height: 63px;
		margin-bottom: 18px;
	}

	.page-hero--case .page-hero__eyebrow {
		margin-bottom: 18px;
	}

	.page-hero__meta {
		margin-top: 18px;
		font-size: 14px;
		line-height: 20px;
	}

	.case-summary .section-label {
		margin-bottom: 24px;
	}

	.case-summary__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.case-highlight__number {
		margin-bottom: 12px;
		font-size: 42px;
	}

	.case-highlight__title {
		font-size: 20px;
	}

	.case-split__grid,
	.case-result .case-split__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.case-split__question {
		margin-top: 0;
		font-size: 20px;
	}

	.case-approach .section-title {
		margin-bottom: 24px;
	}

	.case-steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.case-step {
		min-height: 0;
		padding: 32px 24px 24px;
		border-radius: 17.485px;
	}

	.case-step__title {
		margin-bottom: 12px;
		font-size: 20px;
	}

	.case-step__body {
		font-size: 14px;
		line-height: 20px;
	}

	.contact-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.contact-card {
		width: 100%;
		min-height: 0;
		gap: 24px;
		padding: 24px;
		border-radius: 17.485px;
	}

	.contact-form__title,
	.contact-card__title {
		font-size: 22px;
	}

	.contact-form .gform_button {
		min-height: 44px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}

	.contact-form__note,
	.contact-card__note {
		font-size: 14px;
		line-height: 20px;
	}

	.contact-detail__value {
		font-size: 16px;
	}

	.contact-avatars {
		flex-wrap: wrap;
		gap: 6px;
	}

	.contact-avatar {
		width: 40px;
		height: 40px;
	}
}

/* Bij drie smalle kolommen wordt de teamkaart te laag voor de bio in de
   hoverstaat. Onder deze breedte gaat het raster naar twee kolommen. */
@media (max-width: 1100px) and (min-width: 782px) {
	.team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Ontwerpcontrole 31 augustus: alleen subpagina's, homepage blijft intact. */
body:not(.home) .primary-navigation a[aria-current] {
	color: var(--wp--preset--color--brand-magenta);
}

.collective__button .wp-block-button__link {
	padding: 16px 35px;
	font-size: 18px;
	line-height: 1.5;
}

.contact-card {
	background-image: linear-gradient(122.752deg, #ccbaf2 0%, #f5b8d9 50%, #facc9e 100%);
}

@media (min-width: 1201px) {
	.page-hero--over-ons .page-hero__columns {
		min-height: 210px;
	}
	.page-hero--cases .page-hero__eyebrow,
	.page-hero--contact .page-hero__eyebrow {
		margin-bottom: 28px;
	}
	.page-hero--cases .page-hero__lead,
	.page-hero--contact .page-hero__lead {
		margin-top: 28px;
	}
	.page-hero {
		background-image: url("assets/images/qa/design-gradient.webp");
		background-size: auto 555.56%;
		background-position: center 58.5365%;
	}
	.step-card:nth-child(n),
	.case-step:nth-child(n),
	.case-row:nth-child(n),
	.case-result,
	.testimonial__card {
		background-image: url("assets/images/qa/design-gradient.webp");
	}
	.step-card { background-size: 497.137% 432.321%; }
	.step-card:nth-child(1) { background-position: 35.427% 56.368%; }
	.step-card:nth-child(2) { background-position: 62.151% 56.368%; }
	.step-card:nth-child(3) { background-position: 88.36% 56.905%; }
	.case-step { background-size: 386.1% 561.8%; }
	.case-step:nth-child(1) { background-position: 34.278% 52.677%; }
	.case-step:nth-child(2) { background-position: 62.754% 52.677%; }
	.case-step:nth-child(3) { background-position: 91.227% 52.677%; }
	.case-row { background-size: 497.12% 1751.16%; }
	.case-row:nth-child(1) { background-position: 50% 46.685%; }
	.case-row:nth-child(2) { background-position: 50% 53.301%; }
	.case-row:nth-child(3) { background-position: 50% 53.301%; }
	.case-result { background-size: 140.34% 561.8%; background-position: 75.831% 52.677%; }
	.testimonial__card { align-items: center; background-size: 140.45% 333.33%; background-position: 49.988% 57.142%; }
}

@media (max-width: 781px) {
	.error-links,
	.legal-section {
		padding-block: 56px;
	}

	.legal-text {
		font-size: 16px;
	}

	.legal-text h2 {
		margin-top: 40px;
		font-size: 24px;
	}

	.error-links__list {
		font-size: 16px;
	}
}

/* reCAPTCHA blijft actief; de vermelding staat bij het formulier. */
.grecaptcha-badge {
	visibility: hidden;
}
.recaptcha-notice {
	font-size: 12px;
	line-height: 1.5;
	color: #555;
	margin-top: 16px;
}

/* Klantbeschrijvingen op het Cases-overzicht. */
.client-stories { margin:0; padding-block:100px; background:var(--wp--preset--color--gray-100); }
.client-stories__inner { display:flex; flex-direction:column; gap:48px; }
.client-stories__head { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.client-stories .section-label { margin:0; font-size:20px; line-height:24px; padding:10px 20px; background:#7c7c7c; }
.client-stories .section-title { margin:0; font-size:55px; line-height:66px; letter-spacing:0; }
.client-stories__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.client-story { display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0; min-height:661px; margin:0; padding:35px; border-radius:25px; background:var(--wp--preset--color--white); }
.client-story__logo { display:flex; align-items:center; width:220px; max-width:100%; height:64px; flex-shrink:0; margin:0; }
.client-story__logo img { display:block; object-fit:contain; width:176px; height:52px; }
.client-story__logo--hva img { width:220px; height:46.378px; }
.client-story__logo--adecco img { width:176px; height:44px; }
.client-story__expertise { width:100%; min-height:50px; margin:0; font-size:18px; font-weight:500; line-height:25px; letter-spacing:0; }
.client-story__body, .client-story__intro { width:100%; margin:0; font-size:18px; line-height:27px; }
@media (min-width:782px) and (max-width:1199px) {
 .client-stories { padding-block:72px; }
 .client-stories .section-title { font-size:44px; line-height:1.2; }
 .client-story { padding:24px; }
 .client-story__expertise { font-size:16px; line-height:24px; }
 .client-story__body, .client-story__intro { font-size:16px; line-height:24px; }
}
@media (max-width:781px) {
 .client-stories { padding-block:54px; }
 .client-stories__inner { gap:35px; }
 .client-stories .section-label { padding:8px 12px; font-size:12px; line-height:18px; }
 .client-stories .section-title { font-size:32px; line-height:38px; }
 .client-stories__cards { grid-template-columns:1fr; }
 .client-story { min-height:0; padding:24px; gap:18px; }
 .client-story__expertise { min-height:0; font-size:16px; line-height:24px; }
 .client-story__body, .client-story__intro { font-size:16px; line-height:24px; }
}

.client-stories__intro { display:grid; grid-template-columns:minmax(0,960fr) minmax(0,520fr); align-items:start; gap:48px; margin:0; }
.client-stories__copy { display:flex; flex-direction:column; gap:18px; min-width:0; }
.client-stories__copy p { margin:0; font-size:18px; line-height:27px; }
.client-stories__quote { margin:0; padding:35px; border-radius:25px; background:#f5b8d9; }
.client-stories__quote p { margin:0; font-size:28px; line-height:38px; font-weight:500; }
@media (max-width:1199px) {
 .client-stories__intro { gap:24px; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
 .client-stories__quote { padding:24px; }
 .client-stories__quote p { font-size:22px; line-height:30px; }
}
@media (max-width:781px) {
 .client-stories__intro { grid-template-columns:1fr; }
 .client-stories__copy p { font-size:16px; line-height:24px; }
}

/* Diensten: één overzicht met de vijf bestaande expertises en training. */
@media (min-width:1400px) {
 .primary-navigation .wp-block-navigation__container { gap:35px; }
}
.page-hero--diensten { background-image:url("assets/images/qa/design-gradient.webp"); }
.diensten-overview { margin:0; padding:105px 0 115px; background:#f3f3f3; }
.diensten-overview__inner > .section-label { margin:0 0 23px; }
.diensten-overview__lead { max-width:850px; margin:24px 0 0; font-size:20px; line-height:1.55; }
.diensten-overview__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:55px; }
.diensten-card { min-height:238px; margin:0; padding:36px; border-radius:25px; background:#fff; }
.diensten-card__number { margin:0 0 29px; color:#666; font-family:var(--wp--preset--font-family--mono); font-size:14px; }
.diensten-card h3 { margin:0 0 12px; font-size:28px; font-weight:500; line-height:1.2; }
.diensten-card > p:last-child { max-width:500px; margin:0; font-size:18px; line-height:1.5; }
.diensten-training { margin:0; padding:105px 0 115px; background:#fff; }
.diensten-training__inner > .section-label { margin:0 0 23px; }
.diensten-training__inner > .section-title { max-width:900px; margin-bottom:30px; }
.diensten-training__inner > p:not(.section-label) { max-width:870px; margin:0 0 18px; font-size:18px; line-height:1.6; }
.diensten-training__quote { max-width:870px; margin:35px 0; padding:30px 35px; border:0; border-radius:25px; background:#f5b8d9; }
.diensten-training__quote p { margin:0; font-size:25px; font-weight:500; line-height:1.4; }
.diensten-training__inner > .text-link { margin-top:25px !important; }
.diensten-cta { margin:0; padding:90px 0; background:#171717; color:#fff; }
.diensten-cta__inner { display:flex; flex-direction:column; align-items:flex-start; }
.diensten-cta .section-label { margin:0 0 22px; }
.diensten-cta h2 { max-width:850px; margin:0; font-size:55px; font-weight:500; line-height:1.1; }
.diensten-cta p:not(.section-label) { max-width:750px; margin:24px 0 30px; font-size:18px; line-height:1.55; }
.diensten-cta .wp-block-button__link { border-radius:45px; padding:15px 35px; }
@media (max-width:781px) {
 .diensten-overview,.diensten-training { padding:60px 0 70px; }
 .diensten-overview__lead { font-size:16px; }
 .diensten-overview__grid { grid-template-columns:1fr; gap:15px; margin-top:35px; }
 .diensten-card { min-height:0; padding:25px; }
 .diensten-card__number { margin-bottom:20px; font-size:12px; }
 .diensten-card h3 { font-size:22px; }
 .diensten-card > p:last-child,.diensten-training__inner > p:not(.section-label) { font-size:16px; line-height:1.5; }
 .diensten-training__quote { padding:24px; }
 .diensten-training__quote p { font-size:19px; }
 .diensten-cta { padding:65px 0; }
 .diensten-cta h2 { font-size:34px; }
 .diensten-cta p:not(.section-label) { font-size:16px; }
}
