/*
 * keuken.css — Duumaa Keuken module styles
 * Translated 1:1 from design handoff (styles.css + styles-v2.css + styles-detail.css)
 * All class names prefixed with keuken- to avoid collisions with app.css.
 * Source: app/assets/css/keuken.css (outside Vite dist)
 */

/* ============================================================
   TOKENS
   ============================================================ */
:root {
	--keuken-terra: #bd6c3c;
	--keuken-terra-deep: #a85b2f;
	--keuken-terra-soft: #cf8a5a;
	--keuken-cream: #f4efe7;
	--keuken-cream-2: #ece4d7;
	--keuken-paper: #ffffff;
	--keuken-ink: #221d18;
	--keuken-ink-soft: #75695c;
	--keuken-line: #e7e0d4;
	--keuken-charcoal: #23262a;
	--keuken-charcoal-2: #2c2f33;
	--keuken-brown: #38271f;
	--keuken-radius: 10px;
	--keuken-radius-lg: 18px;
	--keuken-maxw: 1220px;
	--keuken-gut: clamp(20px, 5vw, 60px);
}

/* ============================================================
   SECTION WRAPPER
   ============================================================ */
.keuken-section {
	padding: clamp(72px, 10vw, 72px) 0;
}
.keuken-section--cream {
	background: var(--keuken-cream);
}
.keuken-section--paper {
	background: var(--keuken-paper);
}
.keuken-section--dark {
	background: var(--keuken-charcoal);
	color: #fff;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.keuken-h-xl {
	font-size: clamp(46px, 6.6vw, 88px);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.06;
	margin: 0;
}
.keuken-h-lg {
	font-size: clamp(32px, 4.4vw, 56px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.06;
	margin: 0;
}
.keuken-h-md {
	font-size: clamp(23px, 2.6vw, 32px);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0;
}
.keuken-lead {
	font-size: clamp(16px, 1.25vw, 19px);
	color: var(--keuken-ink-soft);
	max-width: 56ch;
	line-height: 1.75;
	margin: 0;
}
.keuken-muted {
	color: var(--keuken-ink-soft);
}
.keuken-link {
	color: var(--keuken-terra);
}

/* ============================================================
   KICKER
   ============================================================ */
.keuken-kicker {
	display: block;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--keuken-terra);
	margin-bottom: 16px;
}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.keuken-head {
	margin-bottom: clamp(44px, 6vw, 72px);
}
.keuken-head .keuken-kicker {
	margin-bottom: 14px;
}
.keuken-head .keuken-lead {
	margin-top: 22px;
}
.keuken-head--center {
	text-align: center;
}
.keuken-head--center .keuken-lead {
	margin-inline: auto;
}
.keuken-head--left {
	text-align: left;
}
.keuken-head--flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
	margin-bottom: clamp(44px, 6vw, 72px);
}
.keuken-head--flex .keuken-lead {
	margin-top: 18px;
}
.keuken-section__head {
	text-align: center;
	margin-bottom: clamp(44px, 6vw, 72px);
}

.keuken-link-more {
	font-weight: 600;
	font-size: 15px;
	color: var(--keuken-ink);
	white-space: nowrap;
	text-decoration: none;
}
.keuken-link-more:hover {
	color: var(--keuken-terra);
}

/* ============================================================
   BADGE PILL
   ============================================================ */
.keuken-badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border: 1.5px solid var(--keuken-line);
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--keuken-ink);
	background: var(--keuken-paper);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.keuken-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	font-size: 15px;
	padding: 15px 28px;
	border-radius: 999px;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: 0.18s ease;
	white-space: nowrap;
	text-decoration: none;
}
.keuken-btn svg {
	width: 16px;
	height: 16px;
}
.keuken-btn--primary {
	background: var(--keuken-terra);
	color: #fff;
	border-color: var(--keuken-terra);
}
.keuken-btn--primary:hover {
	background: var(--keuken-terra-deep);
	border-color: var(--keuken-terra-deep);
}
.keuken-btn--ghost {
	background: transparent;
	color: var(--keuken-ink);
	border-color: rgba(34, 29, 24, 0.28);
}
.keuken-btn--ghost:hover {
	border-color: var(--keuken-ink);
}
.keuken-btn--ghost-light {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}
.keuken-btn--ghost-light:hover {
	background: #fff;
	color: var(--keuken-ink);
}
.keuken-btn--on-dark {
	background: #fff;
	color: var(--keuken-ink);
	border-color: #fff;
}
.keuken-btn--on-dark:hover {
	background: var(--keuken-cream);
}

/* ============================================================
   STARS
   ============================================================ */
.keuken-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--keuken-terra);
}
.keuken-stars svg {
	width: 16px;
	height: 16px;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.keuken-crumb {
	background: var(--keuken-paper);
	border-bottom: 1px solid var(--keuken-line);
}
.keuken-crumb .container {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 15px 0;
	font-size: 13.5px;
	color: var(--keuken-ink-soft);
	flex-wrap: wrap;
}
.keuken-crumb a {
	color: var(--keuken-ink-soft);
	text-decoration: none;
}
.keuken-crumb a:hover {
	color: var(--keuken-terra);
}
.keuken-crumb svg {
	width: 13px;
	height: 13px;
	opacity: 0.5;
}
.keuken-crumb__cur {
	color: var(--keuken-ink);
	font-weight: 600;
}

/* ============================================================
   HERO — single keuken (dark, text left + image right)
   ============================================================ */
.keuken-hero {
	padding: clamp(44px, 6vw, 82px) 0 clamp(64px, 8vw, 108px);
}
.keuken-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1.04fr;
	gap: clamp(36px, 5vw, 76px);
	align-items: center;
}
.keuken-hero__copy .keuken-h-xl {
	margin: 0 0 26px;
}
.keuken-hero__copy .keuken-lead {
	margin-bottom: 36px;
	max-width: 44ch;
}
.keuken-hero__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
.keuken-hero__trust {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 30px;
	flex-wrap: wrap;
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
}
.keuken-hero__trust .keuken-stars svg {
	width: 17px;
	height: 17px;
}
.keuken-hero__media {
	position: relative;
}
.keuken-hero__frame {
	position: relative;
	aspect-ratio: 5/6;
	border-radius: var(--keuken-radius-lg);
	overflow: hidden;
}
.keuken-hero__frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.keuken-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
	height: 72px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--keuken-terra);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
	transition:
		transform 0.2s ease,
		background 0.2s ease;
	z-index: 2;
}
.keuken-play svg {
	width: 26px;
	height: 26px;
	margin-left: 3px;
}
.keuken-play:hover {
	transform: translate(-50%, -50%) scale(1.06);
	background: #fff;
}
.keuken-video-cap {
	position: absolute;
	left: 20px;
	bottom: 20px;
	background: rgba(28, 24, 20, 0.72);
	color: #fff;
	font-size: 13.5px;
	font-weight: 500;
	padding: 8px 14px;
	border-radius: 999px;
	z-index: 2;
}

/* dhero grid — vorm hero (plattegrond links/rechts + tekst) */
.keuken-dhero__grid {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: clamp(36px, 5vw, 76px);
	align-items: center;
}
/* media-left: body blijft eerst in de DOM (a11y), rtl-trick draait de visuele volgorde om */
.keuken-dhero__grid.media-left {
	direction: rtl;
}
.keuken-dhero__grid.media-left > * {
	direction: ltr;
}
.keuken-dhero__body .keuken-hero__actions {
	margin-top: 30px;
}
.keuken-dhero__media {
	position: relative;
}
.keuken-dhero__img {
	position: relative;
	border-radius: var(--keuken-radius-lg);
	overflow: hidden;
	aspect-ratio: 4/3;
}
.keuken-dhero__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* dhero plan (diagram) */
.keuken-dhero__plan {
	position: relative;
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	background: var(--keuken-paper);
	aspect-ratio: 4/3;
	display: grid;
	place-items: center;
	padding: 30px;
}
.keuken-dhero__plan svg,
.keuken-dhero__plan img {
	width: 62%;
	height: 62%;
	object-fit: contain;
}
.keuken-dhero__plan-cap {
	position: absolute;
	left: 20px;
	bottom: 16px;
	font-size: 12px;
	color: var(--keuken-ink-soft);
	font-style: italic;
}
.keuken-dhero__plan-note {
	position: absolute;
	right: 20px;
	bottom: 16px;
	font-size: 12px;
	color: var(--keuken-terra);
	font-style: italic;
}

/* ============================================================
   HERO — single stijl (centered + full-width band)
   ============================================================ */
.keuken-dhero {
	padding: clamp(40px, 5vw, 72px) 0 clamp(48px, 6vw, 80px);
}
.keuken-dhero--center {
	text-align: center;
	padding-bottom: 0;
}
.keuken-dhero--center .keuken-dhero__inner {
	max-width: 760px;
	margin: 0 auto;
	padding-bottom: clamp(48px, 6vw, 80px);
}
.keuken-dhero--no-band {
	padding-bottom: clamp(48px, 6vw, 80px);
}
.keuken-dhero--center .keuken-h-xl {
	margin-top: 20px;
	margin-bottom: 0;
}
.keuken-dhero--center .keuken-lead {
	margin-top: 24px;
}
.keuken-dhero--center .keuken-hero__actions {
	justify-content: center;
	margin-top: 36px;
}
.keuken-dhero--center .keuken-dhero__trust {
	margin-top: 32px;
	justify-content: center;
}
.keuken-dhero__trust {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 26px;
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	flex-wrap: wrap;
	justify-content: flex-start;
}
.keuken-dhero__trust .keuken-stars svg {
	width: 16px;
	height: 16px;
}
.keuken-dhero__band {
	margin-top: clamp(38px, 5vw, 60px);
}
.keuken-dhero__band img {
	width: 100%;
	aspect-ratio: 21/9;
	object-fit: cover;
	border-radius: var(--keuken-radius-lg);
	display: block;
}

/* ============================================================
   USP CARDS (Waarom Duumaa)
   ============================================================ */
.keuken-usp-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 24px);
}
.keuken-usp-cards--3 {
	grid-template-columns: repeat(3, 1fr);
}
.keuken-usp-cards--4 {
	grid-template-columns: repeat(4, 1fr);
}

.keuken-usp-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: 28px 26px;
}
.keuken-usp-card__check,
.keuken-usp-card__cbox {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--keuken-terra);
	display: grid;
	place-items: center;
	margin-bottom: 20px;
}
.keuken-usp-card__check svg,
.keuken-usp-card__cbox svg {
	width: 19px;
	height: 19px;
	color: #fff;
}
.keuken-usp-card h3 {
	font-size: 18px;
	margin-bottom: 10px;
	line-height: 1.2;
}
.keuken-usp-card p {
	font-size: 14px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0;
}
.keuken-usp-card p em {
	color: var(--keuken-ink);
	font-style: italic;
}

/* ============================================================
   SPLIT (De stijl / De Vorm)
   ============================================================ */
.keuken-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
/* flip = media on left, body on right */
.keuken-split--flip .keuken-split__media {
	order: -1;
}
.keuken-split__body .keuken-badge-pill {
	margin-bottom: 16px;
}
.keuken-split__body .keuken-kicker {
	margin-bottom: 14px;
}
.keuken-split__body .keuken-h-lg {
	margin-top: 0;
	margin-bottom: 0;
}
.keuken-split__body .keuken-lead {
	margin-top: 22px;
}
.keuken-split__body .keuken-muted {
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.7;
}
.keuken-split__body .keuken-hero__actions {
	margin-top: 30px;
}
.keuken-split__media img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: var(--keuken-radius-lg);
	display: block;
}

/* ============================================================
   FEATURE CARDS (Kenmerken)
   ============================================================ */
.keuken-feat-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 24px);
}
.keuken-feat-card__thumb {
	aspect-ratio: 4/3;
	border-radius: var(--keuken-radius);
	overflow: hidden;
	margin-bottom: 18px;
}
.keuken-feat-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	display: block;
}
.keuken-feat-card:hover .keuken-feat-card__thumb img {
	transform: scale(1.05);
}
.keuken-feat-card h3 {
	font-size: 19px;
	margin-bottom: 9px;
}
.keuken-feat-card p {
	font-size: 14px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0;
}

/* ============================================================
   MATERIALEN
   ============================================================ */
.keuken-mat-section .keuken-section__head {
	text-align: left;
	margin-bottom: clamp(28px, 4vw, 44px);
}
.keuken-mat-section .keuken-section__head .keuken-lead {
	margin-top: 16px;
}
.keuken-mat-section {
}
.keuken-mat-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
.keuken-mat-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
	margin-top: 24px;
}
.keuken-mat-pill {
	padding: 10px 20px;
	border: 1px solid var(--keuken-line);
	border-radius: 999px;
	background: var(--keuken-paper);
	font-size: 14.5px;
	color: var(--keuken-ink);
	cursor: pointer;
	transition: 0.16s;
}
.keuken-mat-pill:hover {
	border-color: var(--keuken-terra);
	color: var(--keuken-terra);
}
.keuken-mat-pill.active {
	background: var(--keuken-ink);
	border-color: var(--keuken-ink);
	color: #fff;
}
.keuken-mat-pill.active:hover {
	color: #fff;
}

.keuken-mat-brands {
	margin-top: 8px;
	padding-top: 28px;
}
.keuken-mat-brands__label {
	display: block;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--keuken-ink-soft);
}
.keuken-mat-brand-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}
.keuken-mat-brand-pills span {
	padding: 8px 16px;
	border: 1px solid var(--keuken-line);
	border-radius: 999px;
	font-weight: 600;
	font-size: 13.5px;
	color: #9a8f7e;
}
.keuken-mat-brands__note {
	margin-top: 12px;
	font-size: 13px;
	color: var(--keuken-ink-soft);
}
.keuken-mat-media {
	position: relative;
}
.keuken-mat-media img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: var(--keuken-radius-lg);
	display: block;
}
.keuken-mat-media__placeholder {
	width: 100%;
	aspect-ratio: 4/3;
	background: var(--keuken-cream);
	border-radius: var(--keuken-radius-lg);
}
.keuken-mat-media__cap {
	margin-top: 12px;
	font-size: 13px;
	color: var(--keuken-ink-soft);
	font-style: italic;
	text-align: right;
}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.keuken-proces {
	background: var(--keuken-cream);
}
.keuken-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0;
	counter-reset: step;
}
.keuken-step {
	position: relative;
	padding: 0 24px;
}
.keuken-step:first-child {
	padding-left: 0;
}
.keuken-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 23px;
	left: 62%;
	right: -18%;
	height: 2px;
	background: repeating-linear-gradient(
		90deg,
		var(--keuken-terra) 0 5px,
		transparent 5px 11px
	);
	opacity: 0.55;
}
.keuken-step__num {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: var(--keuken-terra);
	color: #fff;
	font-weight: 700;
	font-size: 20px;
	display: grid;
	place-items: center;
	margin-bottom: 22px;
	position: relative;
	z-index: 1;
}
.keuken-step__title {
	font-size: 18px;
	margin-bottom: 10px;
	line-height: 1.2;
}
.keuken-step__text {
	font-size: 14px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0;
}

/* ============================================================
   MID CTA
   ============================================================ */
.keuken-midcta {
	text-align: center;
}
.keuken-midcta p {
	color: var(--keuken-ink-soft);
	font-size: 15.5px;
	margin-bottom: 22px;
}
.keuken-midcta__acts {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ============================================================
   PRICE
   ============================================================ */
.keuken-price-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(36px, 5vw, 72px);
	align-items: center;
}
.keuken-prijs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 24px);
	align-items: start;
}
.keuken-prijs-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: clamp(28px, 3vw, 40px);
	display: flex;
	flex-direction: column;
}
.keuken-prijs-card--feature {
	background: var(--keuken-ink);
	color: #fff;
	border-color: var(--keuken-ink);
}
.keuken-prijs-card__tier h3 {
	font-size: 20px;
	margin: 0 0 6px;
}
.keuken-prijs-card--feature .keuken-prijs-card__tier h3 {
	color: #fff;
}
.keuken-prijs-card__amount {
	font-weight: 700;
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1;
	letter-spacing: -0.02em;
	margin: 18px 0 6px;
	color: var(--keuken-ink);
}
.keuken-prijs-card--feature .keuken-prijs-card__amount {
	color: #fff;
}
.keuken-prijs-card__amount small {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--keuken-ink-soft);
	display: block;
	margin-bottom: 4px;
}
.keuken-prijs-card--feature .keuken-prijs-card__amount small {
	color: #b7b0a6;
}
.keuken-prijs-card > .keuken-muted {
	font-size: 14.5px;
	margin: 0 0 22px;
	line-height: 1.6;
}
.keuken-prijs-card--feature > .keuken-muted {
	color: #c9c1b6;
}
.keuken-prijs-list {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}
.keuken-prijs-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
}
.keuken-prijs-card--feature .keuken-prijs-list li {
	color: #c9c1b6;
}
.keuken-prijs-list li svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--keuken-terra);
	margin-top: 2px;
}
.keuken-prijs-card--feature .keuken-prijs-list li svg {
	color: #a89680;
}

/* ============================================================
   PROJECTEN GRID
   ============================================================ */
.keuken-head--flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(32px, 4vw, 52px);
}
.keuken-head--flex > div {
	margin-bottom: 0;
}
.keuken-link-more {
	font-size: 15px;
	font-weight: 600;
	color: var(--keuken-terra);
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
}
.keuken-link-more:hover {
	text-decoration: underline;
}

.keuken-proj-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 24px);
}
.keuken-proj {
	display: block;
	text-decoration: none;
	color: var(--keuken-ink);
}
.keuken-proj__thumb {
	aspect-ratio: 4/3;
	border-radius: var(--keuken-radius-lg);
	overflow: hidden;
	margin-bottom: 14px;
}
.keuken-proj__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.keuken-proj:hover .keuken-proj__thumb img {
	transform: scale(1.04);
}
.keuken-proj__cat {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--keuken-terra);
	margin-bottom: 6px;
}
.keuken-proj h3 {
	font-size: clamp(16px, 1.6vw, 18px);
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.keuken-proj h3 svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	transition: transform 0.2s;
}
.keuken-proj:hover h3 svg {
	transform: translateX(4px);
}

/* ============================================================
   TEAM GRID
   ============================================================ */
.keuken-team-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(20px, 2.6vw, 32px);
}
.keuken-team-card {
	text-align: center;
}
.keuken-team-card__img {
	aspect-ratio: 3/4;
	border-radius: var(--keuken-radius-lg);
	overflow: hidden;
	margin-bottom: 16px;
}
.keuken-team-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.keuken-team-card h3 {
	font-size: 18px;
	margin: 0 0 5px;
}
.keuken-team-card span {
	font-size: 14px;
	color: var(--keuken-ink-soft);
}
.keuken-team-card--placeholder .keuken-team-card__img {
	background: var(--keuken-line);
}
.keuken-prijs-intro {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(36px, 5vw, 72px);
	align-items: center;
	margin-bottom: clamp(44px, 5vw, 66px);
}

/* ============================================================
   BRAND STRIP (verwacht section)
   ============================================================ */
.keuken-brand-strip {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--keuken-line);
}
.keuken-brand-strip__cap {
	font-size: 13px;
	color: var(--keuken-ink-soft);
	margin-bottom: 16px;
}
.keuken-brand-strip__logos {
	display: flex;
	align-items: center;
	gap: clamp(22px, 4vw, 46px);
	flex-wrap: wrap;
}
.keuken-brand-strip__logos span {
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.02em;
	color: #b3a896;
}

/* ============================================================
   STIJL CARDS (landingspagina stijlen sectie)
   ============================================================ */
.keuken-style-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.6vw, 32px);
}
.keuken-style-item {
	text-decoration: none;
	color: inherit;
	display: block;
}
.keuken-style-item__thumb {
	aspect-ratio: 4/3;
	border-radius: var(--keuken-radius);
	overflow: hidden;
	margin-bottom: 18px;
}
.keuken-style-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.keuken-style-item:hover .keuken-style-item__thumb img {
	transform: scale(1.04);
}
.keuken-style-item h3 {
	font-size: 21px;
	margin: 0 0 8px;
}
.keuken-style-item p {
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0 0 14px;
}
.keuken-bekijk {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--keuken-terra);
}
.keuken-bekijk svg {
	width: 15px;
	height: 15px;
	transition: transform 0.2s;
}
.keuken-style-item:hover .keuken-bekijk svg {
	transform: translateX(4px);
}

.keuken-check-list {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.keuken-check-list li {
	display: flex;
	gap: 15px;
	align-items: center;
	font-size: 16px;
}
.keuken-check-list__ic {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--keuken-terra);
	flex: none;
	display: grid;
	place-items: center;
	margin-top: 1px;
}
.keuken-check-list__ic svg {
	width: 16px;
	height: 16px;
	color: #fff;
}

.keuken-prijs-card-accent {
	background: var(--keuken-ink);
	color: #fff;
	border-radius: var(--keuken-radius-lg);
	padding: clamp(30px, 4vw, 42px);
}
.keuken-prijs-card-accent .keuken-kicker {
	color: var(--keuken-terra-soft);
}
.keuken-prijs-card-accent__amt {
	font-weight: 700;
	font-size: clamp(40px, 5vw, 58px);
	line-height: 1;
	letter-spacing: -0.02em;
	margin: 6px 0 18px;
}
.keuken-prijs-card-accent__amt small {
	font-size: 16px;
	font-weight: 500;
	color: #b7b0a6;
	margin-left: 8px;
	letter-spacing: 0;
}
.keuken-prijs-card-accent p {
	color: #c9c1b6;
	font-size: 15px;
	line-height: 1.65;
	margin-bottom: 26px;
}
.keuken-prijs-note {
	text-align: center;
	margin-top: 30px;
	font-size: 13.5px;
	color: var(--keuken-ink-soft);
}

/* ============================================================
   REVIEWS
   ============================================================ */
.keuken-rev-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 1.8vw, 24px);
}
.keuken-rev-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius);
	padding: 26px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.keuken-rev-card p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--keuken-ink);
	margin: 0;
}
.keuken-rev-card__who {
	margin-top: auto;
	font-weight: 600;
	font-size: 14.5px;
}

/* ============================================================
   FAQ
   ============================================================ */
.keuken-faq-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 clamp(36px, 5vw, 72px);
}
.keuken-faq-list {
	border-top: 1px solid var(--keuken-line);
}
.keuken-faq-item {
	border-bottom: 1px solid var(--keuken-line);
}
.keuken-faq-q {
	width: 100%;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 2px;
	font-weight: 400;
	font-size: 19px;
	color: var(--keuken-ink);
}
.keuken-faq-q:hover {
	color: var(--keuken-terra);
}
.keuken-faq-ico {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1.5px solid var(--keuken-line);
	flex: none;
	display: grid;
	place-items: center;
	color: var(--keuken-terra);
	transition: 0.2s ease;
}
.keuken-faq-q[aria-expanded="true"] .keuken-faq-ico {
	background: var(--keuken-terra);
	border-color: var(--keuken-terra);
	color: #fff;
	transform: rotate(45deg);
}
.keuken-faq-ico svg {
	width: 16px;
	height: 16px;
}
.keuken-faq-a {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}
.keuken-faq-q[aria-expanded="true"] + .keuken-faq-a {
	max-height: 340px;
}
.keuken-faq-a p {
	padding: 0 2px 26px;
	font-size: 15.5px;
	color: var(--keuken-ink-soft);
	max-width: 62ch;
	line-height: 1.7;
}

/* ============================================================
   RELATED / OTHER STIJLEN (rel-grid)
   ============================================================ */
.keuken-rel-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 24px);
}
.keuken-rel-grid--6 {
	grid-template-columns: repeat(6, 1fr);
}
.keuken-rel-card {
	display: block;
	text-decoration: none;
	color: inherit;
}
.keuken-rel-card__thumb {
	aspect-ratio: 4/3;
	border-radius: var(--keuken-radius);
	overflow: hidden;
	margin-bottom: 14px;
	background: var(--keuken-cream);
}
.keuken-rel-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	display: block;
}
.keuken-rel-card:hover .keuken-rel-card__thumb img {
	transform: scale(1.05);
}
.keuken-rel-card h3 {
	font-size: 17px;
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
}
.keuken-rel-card h3 svg {
	width: 15px;
	height: 15px;
	color: var(--keuken-terra);
	opacity: 0;
	transform: translateX(-4px);
	transition: 0.2s;
}
.keuken-rel-card:hover h3 svg {
	opacity: 1;
	transform: translateX(0);
}

/* ============================================================
   PROJECTS (dproj)
   ============================================================ */
.keuken-dproj-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.4vw, 30px);
}
.keuken-dproj {
	display: block;
	text-decoration: none;
	color: inherit;
}
.keuken-dproj__thumb {
	aspect-ratio: 4/3;
	border-radius: var(--keuken-radius);
	overflow: hidden;
	margin-bottom: 16px;
}
.keuken-dproj__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	display: block;
}
.keuken-dproj:hover .keuken-dproj__thumb img {
	transform: scale(1.04);
}
.keuken-dproj__lbl {
	display: block;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--keuken-terra);
}
.keuken-dproj h3 {
	font-size: 20px;
	margin-top: 7px;
}

/* ============================================================
   CTA (bottom)
   ============================================================ */
.keuken-cta {
	background: var(--keuken-terra);
	color: #fff;
}
.keuken-cta .container {
	text-align: center;
	padding: clamp(72px, 9vw, 120px) 0;
}
.keuken-cta .keuken-badge-pill {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
	margin-bottom: 22px;
}
.keuken-cta h2 {
	font-size: clamp(38px, 5vw, 66px);
	max-width: 16ch;
	margin: 0 auto 20px;
	letter-spacing: -0.02em;
	color: #fff;
	font-weight: 700;
}
.keuken-cta p {
	font-size: clamp(17px, 1.5vw, 20px);
	max-width: 46ch;
	margin: 0 auto 36px;
	color: rgba(255, 255, 255, 0.94);
}
.keuken-cta__actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */
.keuken-sticky-cta {
	display: none;
}
@media (max-width: 760px) {
	.keuken-sticky-cta {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		background: var(--keuken-ink);
		color: #fff;
		padding: 12px 18px;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
	}
	.keuken-sticky-cta span {
		font-weight: 600;
		font-size: 14px;
	}
	.keuken-sticky-cta .keuken-btn {
		padding: 11px 20px;
	}
}

/* ============================================================
   KEUZEHULP
   ============================================================ */
.keuken-keuze-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
.keuken-keuze-grid--flip .keuken-keuze-grid__media {
	order: -1;
}
.keuken-keuze-grid__media img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: var(--keuken-radius-lg);
	display: block;
}
.keuken-choice-list {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.keuken-choice-list li {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	font-size: 15.5px;
}
.keuken-choice-list__box {
	width: 24px;
	height: 24px;
	border-radius: 7px;
	border: 1.5px solid var(--keuken-line);
	flex: none;
	display: grid;
	place-items: center;
	margin-top: 1px;
}
.keuken-choice-list__box svg {
	width: 14px;
	height: 14px;
	color: var(--keuken-terra);
}
.keuken-choice-list__box--no {
	border-style: dashed;
}
.keuken-choice-list__box--no svg {
	color: var(--keuken-ink-soft);
}
.keuken-keuze-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 24px;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--keuken-terra);
	text-decoration: none;
}
.keuken-keuze-link svg {
	width: 15px;
	height: 15px;
}

/* ============================================================
   VARIANTEN
   ============================================================ */
.keuken-variant-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.6vw, 32px);
}
.keuken-variant-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	display: block;
}
.keuken-variant-card__thumb {
	aspect-ratio: 16/9;
}
.keuken-variant-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.keuken-variant-card__body {
	padding: 28px 30px 30px;
}
.keuken-variant-card__body h3 {
	font-size: 21px;
	margin-bottom: 10px;
}
.keuken-variant-card__body p {
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0;
}
.keuken-meer {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 16px;
	font-weight: 600;
	font-size: 14px;
	color: var(--keuken-terra);
	text-decoration: none;
}
.keuken-meer svg {
	width: 14px;
	height: 14px;
}

/* ============================================================
   GERELATEERDE INDELINGEN
   ============================================================ */
.keuken-usp-card--link {
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s;
}
.keuken-usp-card--link:hover {
	border-color: var(--keuken-terra);
}

/* ============================================================
   LAYOUT/INDELINGEN CARDS
   ============================================================ */
.keuken-mid-cta {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: clamp(36px, 5vw, 56px);
}

.keuken-layouts-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.keuken-layout-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: 28px;
	transition:
		box-shadow 0.2s,
		transform 0.2s;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
}
.keuken-layout-card:hover {
	box-shadow: 0 16px 38px rgba(33, 28, 23, 0.08);
	transform: translateY(-3px);
}
.keuken-layout-card__diagram {
	height: 130px;
	display: grid;
	place-items: center;
	margin-bottom: 24px;
}
.keuken-layout-card__diagram-box {
	width: 96px;
	height: 96px;
	background: var(--keuken-cream);
	border-radius: var(--keuken-radius);
	overflow: hidden;
	display: grid;
	place-items: center;
}
/* SVG-inhoud heeft vaak veel lucht in de eigen viewBox; hier zoomen we
   'm CSS-only in zodat het icoon dichter bij de randen van het vlak komt,
   zonder de SVG-content zelf aan te passen. */
.keuken-layout-card__diagram-box svg {
	width: 96px;
	height: 96px;
	transform: scale(1.3);
}
.keuken-layout-card h3 {
	font-size: 19px;
	line-height: 1.25;
	margin: 0 0 10px;
}
.keuken-layout-card p {
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	line-height: 1.65;
	margin: 0;
	flex: 1;
}
.keuken-layout-card .keuken-meer {
	margin-top: 20px;
}

/* ============================================================
   VAKMANSCHAP (prod steps)
   ============================================================ */
.keuken-prod-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(14px, 1.6vw, 22px);
}
.keuken-prod-step__thumb {
	aspect-ratio: 3/4;
	border-radius: var(--keuken-radius);
	overflow: hidden;
	margin-bottom: 18px;
}
.keuken-prod-step__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.keuken-prod-step__nr {
	display: block;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--keuken-terra);
}
.keuken-prod-step h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin: 8px 0 8px;
}
.keuken-prod-step p {
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	line-height: 1.6;
	margin: 0;
}
.keuken-prod-quote {
	margin-top: clamp(40px, 5vw, 60px);
	background: var(--keuken-cream);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: clamp(28px, 4vw, 44px);
	text-align: center;
}
.keuken-prod-quote p {
	font-weight: 600;
	font-style: italic;
	font-size: clamp(20px, 2.4vw, 28px);
	line-height: 1.4;
	letter-spacing: -0.01em;
	max-width: 30ch;
	margin: 0 auto;
	color: var(--keuken-ink);
}
.keuken-prod-quote__by {
	display: block;
	margin-top: 16px;
	font-size: 14px;
	color: var(--keuken-terra);
	font-style: normal;
	letter-spacing: 0.04em;
}

/* ============================================================
   DETAILS GRID (vakmanschap alt)
   ============================================================ */
.keuken-details-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
.keuken-details-grid .keuken-kicker {
	display: block;
	margin-bottom: 14px;
}
.keuken-details-grid .keuken-h-lg {
	margin: 0 0 20px;
}
.keuken-details-grid .keuken-lead {
	margin: 0 0 36px;
}
.keuken-details-grid .keuken-hero__actions {
	margin-top: 0;
}

.keuken-details-grid__media img {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	border-radius: var(--keuken-radius-lg);
	display: block;
}

/* ============================================================
   CHIPS + CONTACT
   ============================================================ */
/* ============================================================
   WERKGEBIED / CONTACT GRID
   ============================================================ */
.keuken-werk-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 6vw, 96px);
	align-items: start;
}

.keuken-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
	margin-top: 28px;
}
.keuken-chips span,
.keuken-chips a {
	display: inline-block;
	padding: 9px 18px;
	border: 1px solid var(--keuken-line);
	border-radius: 999px;
	background: var(--keuken-paper);
	font-size: 14.5px;
	color: var(--keuken-ink);
	text-decoration: none;
	transition:
		border-color 0.2s,
		background 0.2s;
}
.keuken-chips a:hover {
	border-color: var(--keuken-terra);
	color: var(--keuken-terra);
}
.keuken-chips a.is-active,
.keuken-chips a[aria-current],
.keuken-chips span.is-active {
	background: var(--keuken-terra);
	border-color: var(--keuken-terra);
	color: #fff;
}

.keuken-werk-grid {
	grid-template-columns: 1.1fr 0.9fr;
}

.keuken-contact-card {
	background: var(--keuken-paper);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: clamp(28px, 3.4vw, 40px);
	align-self: start;
	box-shadow: 0 24px 54px rgba(33, 28, 23, 0.08);
}
.keuken-contact-card h3 {
	font-size: clamp(18px, 1.8vw, 22px);
	margin: 0 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--keuken-line);
}
.keuken-contact-card .keuken-btn {
	width: 100%;
	justify-content: center;
	margin-top: 28px;
}
.keuken-contact-row {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid var(--keuken-line);
}
.keuken-contact-row:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}
.keuken-contact-row__ic {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: var(--keuken-cream);
	flex: none;
	display: grid;
	place-items: center;
	color: var(--keuken-terra);
}
.keuken-contact-row__ic svg {
	width: 18px;
	height: 18px;
}
.keuken-contact-row div strong {
	display: block;
	font-size: 15px;
	font-weight: 600;
}
.keuken-contact-row div span {
	font-size: 13.5px;
	color: var(--keuken-ink-soft);
	margin-top: 2px;
	display: block;
}

/* ============================================================
   WHY GRID
   ============================================================ */
.keuken-why-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(28px, 4vw, 48px) clamp(40px, 6vw, 80px);
	margin-top: clamp(36px, 4vw, 52px);
}
.keuken-why-item {
	border-top: 2px solid var(--keuken-ink);
	padding-top: 24px;
}
.keuken-why-item__n {
	font-weight: 700;
	font-size: 14px;
	color: var(--keuken-terra);
	letter-spacing: 0.04em;
}
.keuken-why-item h3 {
	font-size: 20px;
	line-height: 1.22;
	margin: 16px 0 12px;
}
.keuken-why-item p {
	font-size: 14.5px;
	color: var(--keuken-ink-soft);
	line-height: 1.66;
	margin: 0;
}

/* ============================================================
   GARANTIE CARD
   ============================================================ */
.keuken-garantie-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px 40px;
	flex-wrap: wrap;
	background: var(--keuken-ink);
	color: #fff;
	border-radius: var(--keuken-radius-lg);
	padding: clamp(34px, 4vw, 52px) clamp(30px, 4vw, 56px);
}
.keuken-garantie-card__content {
	display: flex;
	align-items: center;
	gap: 24px;
	flex: 1;
	min-width: 0;
}
.keuken-garantie-card__icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	flex: none;
	display: grid;
	place-items: center;
	background: rgba(189, 108, 60, 0.18);
	color: var(--keuken-terra-soft);
}
.keuken-garantie-card__icon svg {
	width: 26px;
	height: 26px;
}
.keuken-garantie-card h3 {
	font-size: 22px;
	margin: 0 0 6px;
}
.keuken-garantie-card p {
	color: #c5bdb2;
	font-size: 15px;
	max-width: 54ch;
	margin: 0;
	line-height: 1.6;
}
.keuken-btn--on-dark {
	background: #fff;
	border: 1.5px solid #fff;
	color: var(--keuken-ink);
	white-space: nowrap;
	flex-shrink: 0;
}
.keuken-btn--on-dark:hover {
	background: var(--keuken-cream);
	border-color: var(--keuken-cream);
}

@media (max-width: 760px) {
	.keuken-garantie-card {
		flex-direction: column;
		align-items: flex-start;
	}
	.keuken-btn--on-dark {
		width: 100%;
		justify-content: center;
	}
}

/* ============================================================
   CROSSSELL
   ============================================================ */
.keuken-crosssell {
}
.keuken-crosssell .container > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	background: var(--keuken-cream);
	border: 1px solid var(--keuken-line);
	border-radius: var(--keuken-radius-lg);
	padding: clamp(32px, 4vw, 48px) clamp(30px, 4vw, 56px);
	flex-wrap: wrap;
}
.keuken-crosssell__title {
	font-size: 24px;
	margin-bottom: 8px;
}
.keuken-crosssell__inner p {
	color: var(--keuken-ink-soft);
	font-size: 15.5px;
	max-width: 64ch;
	margin: 0;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1080px) {
	.keuken-style-cards {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-layouts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-usp-cards--4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-feat-cards {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 38px 26px;
	}
	.keuken-step::after {
		display: none;
	}
	.keuken-step {
		padding: 0;
	}
	.keuken-rev-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-rel-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-dproj-grid {
		grid-template-columns: 1fr;
		max-width: 520px;
		margin-inline: auto;
	}
	.keuken-prod-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px 18px;
	}
	.keuken-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-prijs-intro {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 760px) {
	.keuken-hero__grid {
		grid-template-columns: 1fr;
	}
	.keuken-dhero__grid {
		grid-template-columns: 1fr;
	}
	.keuken-dhero__grid.media-left {
		direction: ltr;
	}
	.keuken-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.keuken-dhero--center .keuken-hero__actions {
		align-items: center;
	}
	.keuken-split {
		grid-template-columns: 1fr;
	}
	.keuken-split--flip .keuken-split__media {
		order: -1;
	}
	.keuken-keuze-grid {
		grid-template-columns: 1fr;
	}
	.keuken-keuze-grid--flip .keuken-keuze-grid__media {
		order: -1;
	}
	.keuken-mat-block {
		grid-template-columns: 1fr;
	}
	.keuken-mat-media {
		order: -1;
	}
	.keuken-price-grid,
	.keuken-prijs-grid {
		grid-template-columns: 1fr;
	}
	.keuken-details-grid {
		grid-template-columns: 1fr;
	}
	.keuken-werk-grid {
		grid-template-columns: 1fr;
	}
	.keuken-faq-cols {
		grid-template-columns: 1fr;
	}
	.keuken-variant-grid {
		grid-template-columns: 1fr;
	}
	.keuken-why-grid {
		grid-template-columns: 1fr;
	}
	.keuken-style-cards {
		grid-template-columns: 1fr;
	}
	.keuken-layouts-grid {
		grid-template-columns: 1fr;
	}
	.keuken-rel-grid--6 {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-feat-cards {
		grid-template-columns: 1fr;
	}
	.keuken-usp-cards--4 {
		grid-template-columns: 1fr;
	}
	.keuken-dhero__band img {
		aspect-ratio: 16/10;
	}
	.keuken-prod-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-rev-grid {
		grid-template-columns: 1fr;
	}
	.keuken-steps {
		grid-template-columns: 1fr;
	}
	.keuken-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-prijs-grid {
		grid-template-columns: 1fr;
	}
	.keuken-proj-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.keuken-mat-section .keuken-section__head {
		text-align: left;
	}
	.keuken-head--center {
		text-align: left;
	}
	.keuken-mid-cta {
		flex-direction: column;
		align-items: stretch;
	}
	.keuken-mid-cta .keuken-btn {
		justify-content: center;
	}
	.keuken-prijs-intro {
		grid-template-columns: 1fr;
	}
	.keuken-proj-grid {
		grid-template-columns: 1fr;
	}
	.keuken-head--flex {
		flex-direction: column;
		align-items: flex-start;
	}
}
