/* Peterse Site — immersieve projectweergave. Kleuren via Avada-variabelen (--awb-colorN) + afgeleide --pz-tokens. */
:root {
	--pz-diep: #0f1a3d;
	--pz-diep-2: #18265a;
	--pz-licht-op-diep: #f4f1e8;
	--pz-gedempt-op-diep: rgba(244, 241, 232, .68);
	--pz-lijn: rgba(34, 34, 34, .12);
	--pz-lijn-op-diep: rgba(244, 241, 232, .16);
	--pz-zand: var(--awb-color1, #fff8e8);
	--pz-zand-2: var(--awb-color6, #fff8dd);
	--pz-pool: var(--awb-color4, #4355a8);
	--pz-roze: var(--awb-color5, #d684a2);
	--pz-tekst: var(--awb-color7, #4f4f4f);
	--pz-kopkleur: var(--awb-color8, #222);
	--pz-kopfont: Poppins, Arial, Helvetica, sans-serif;
	--pz-tekstfont: Outfit, Lato, Arial, Helvetica, sans-serif;
	--pz-ease: cubic-bezier(.2, .7, .2, 1);
	--pz-gutter: clamp(1rem, 4vw, 2.5rem);
	--pz-sectie: clamp(4rem, 10vw, 9rem);
	--pz-breed: 1140px;
}

/* ---------- Avada-samenspel op projectweergaven ---------- */
body.pz-immersief #main { padding: 0 !important; background: var(--pz-zand); }
body.pz-immersief #main > .fusion-row { max-width: none !important; padding: 0 !important; }
body.pz-immersief { overflow-x: clip; }
.pz-fullbleed { width: 100vw; margin-left: calc(50% - 50vw); }
body.pz-immersief .pz-fullbleed { width: auto; margin-left: 0; }
.pz-binnen { max-width: var(--pz-breed); margin-inline: auto; padding-inline: var(--pz-gutter); box-sizing: content-box; }

.pz-project, .pz-overzicht, .pz-homehero, .pz-rij, .pz-kaartsectie { font-family: var(--pz-tekstfont); color: var(--pz-tekst); }
.pz-project h1, .pz-project h2, .pz-overzicht h1, .pz-overzicht h2, .pz-homehero h1, .pz-rij h2, .pz-kaartsectie h2 {
	font-family: var(--pz-kopfont); font-weight: 600; letter-spacing: -.02em; margin: 0; text-transform: none;
}
.pz-project img, .pz-overzicht img, .pz-homehero img, .pz-rij img { display: block; max-width: 100%; }

/* ---------- Basiselementen ---------- */
.pz-meta { font-family: var(--pz-kopfont); font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: inherit; opacity: .82; margin: 0; }
.pz-meta--pil { display: inline-block; padding: .35em .95em; border: 1px solid currentColor; border-radius: 999px; opacity: 1; }
.pz-meta--pil a { color: inherit; text-decoration: none; }
.pz-sectiekop { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem); line-height: 1.12; color: var(--pz-kopkleur); }
.pz-knop {
	display: inline-flex; align-items: center; gap: .5em; min-height: 48px; padding: .8em 1.6em; border-radius: 999px;
	background: var(--pz-pool); color: var(--pz-zand) !important; font-family: var(--pz-kopfont); font-weight: 600; font-size: .95rem;
	text-decoration: none; border: 2px solid var(--pz-pool); transition: transform .3s var(--pz-ease), background .3s;
}
.pz-knop:hover { transform: translateY(-2px); background: #34449a; }
.pz-knop--lijn { background: transparent; color: inherit !important; border-color: currentColor; }
.pz-knop--lijn:hover { background: rgba(255,255,255,.08); }
.pz-knoppen { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.pz-link { color: var(--pz-pool); font-weight: 600; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .35s var(--pz-ease); padding-bottom: 2px; }
.pz-link:hover { background-size: 100% 2px; }
.pz-rondknop {
	width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--pz-lijn-op-diep); background: rgba(15, 26, 61, .55);
	color: var(--pz-licht-op-diep); font-size: 1.25rem; line-height: 1; cursor: pointer; display: grid; place-items: center;
	transition: background .25s, border-color .25s;
}
.pz-rondknop:hover { background: var(--pz-pool); border-color: var(--pz-pool); }
.pz-project :focus-visible, .pz-overzicht :focus-visible, .pz-homehero :focus-visible, .pz-rij :focus-visible, .pz-lightbox :focus-visible, .pz-kaart :focus-visible {
	outline: 3px solid var(--pz-pool); outline-offset: 3px; border-radius: 4px;
}
.pz-hero :focus-visible, .pz-inbeeld :focus-visible, .pz-homehero :focus-visible, .pz-lightbox :focus-visible, .pz-kaartsectie :focus-visible, .pz-volgende:focus-visible { outline-color: var(--pz-licht-op-diep); }

/* In beeld komen (alleen met JS en zonder reduced motion) */
.pz-js .pz-in { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--pz-ease), transform .7s var(--pz-ease); }
.pz-js .pz-in.is-zichtbaar { opacity: 1; transform: none; }

/* ---------- Projecthero ---------- */
.pz-hero { position: relative; background: var(--pz-diep); color: var(--pz-licht-op-diep); overflow: hidden; }
.pz-hero__titel { color: var(--pz-licht-op-diep); line-height: 1.02; margin: 1.25rem 0 0; }
.pz-hero__soort { display: block; font-size: clamp(1.25rem, 1rem + 1.2vw, 1.9rem); font-weight: 500; letter-spacing: -.01em; color: var(--pz-gedempt-op-diep); }
.pz-hero__plaats { display: block; font-size: clamp(2.75rem, 1.6rem + 5.2vw, 5.5rem); }
.pz-hero__in { font-weight: 400; font-size: .5em; vertical-align: .35em; color: var(--pz-roze); }
.pz-hero__lead { font-size: clamp(1.05rem, 1rem + .4vw, 1.3rem); line-height: 1.6; max-width: 34rem; margin: 1.5rem 0 0; color: var(--pz-gedempt-op-diep); }
.pz-scrollhint { display: inline-flex; gap: .6em; align-items: center; margin-top: 2.5rem; color: var(--pz-licht-op-diep) !important; text-decoration: none; font-family: var(--pz-kopfont); font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.pz-scrollhint span { display: inline-block; animation: pz-zweef 2.4s var(--pz-ease) infinite; }
@keyframes pz-zweef { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

.pz-hero--split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: min(88vh, 900px); max-width: 1680px; margin-inline: auto; }
body.pz-immersief .pz-hero--split { max-width: none; }
.pz-hero--split .pz-hero__tekst { order: -1; align-self: center; padding: clamp(2.5rem, 6vw, 6rem) clamp(1.5rem, 4vw, 4rem) clamp(2.5rem, 6vw, 6rem) max(var(--pz-gutter), calc((100vw - var(--pz-breed)) / 2)); max-width: 44rem; justify-self: stretch; box-sizing: border-box; }
.pz-hero--split .pz-hero__beeld { position: relative; min-height: 22rem; }
.pz-hero--split .pz-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pz-hero--split .pz-hero__beeld::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--pz-diep) 0, rgba(15,26,61,0) 22%); pointer-events: none; }

.pz-hero--vol { min-height: min(92vh, 980px); display: flex; align-items: flex-end; }
.pz-hero--vol .pz-hero__beeld { position: absolute; inset: 0; }
.pz-hero--vol .pz-hero__img { width: 100%; height: 100%; object-fit: cover; }
.pz-hero--vol .pz-hero__beeld::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,26,61,.92) 0, rgba(15,26,61,.35) 45%, rgba(15,26,61,0) 75%); }
.pz-hero--vol .pz-hero__tekst { position: relative; padding: clamp(2rem, 6vw, 5rem) var(--pz-gutter); max-width: var(--pz-breed); width: 100%; margin-inline: auto; }

/* ---------- Feitenstrook ---------- */
.pz-feiten { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin: 0; padding: 1.4rem var(--pz-gutter); background: var(--pz-zand-2); border-bottom: 1px solid var(--pz-lijn); }
.pz-feiten__item { padding: .4rem clamp(1rem, 3vw, 2.25rem); border-left: 1px solid var(--pz-lijn); }
.pz-feiten__item:first-child { border-left: 0; }
.pz-feiten dt { font-family: var(--pz-kopfont); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pz-roze); }
.pz-feiten dd { margin: .15rem 0 0; font-weight: 500; color: var(--pz-kopkleur); }

/* ---------- Verhaal ---------- */
.pz-verhaal { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(2rem, 6vw, 6rem); max-width: var(--pz-breed); margin-inline: auto; padding: var(--pz-sectie) var(--pz-gutter); box-sizing: content-box; scroll-margin-top: 90px; }
.pz-verhaal__tekst { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.75; max-width: 38rem; }
.pz-verhaal__tekst p:first-child::first-letter { font-family: var(--pz-kopfont); font-weight: 600; float: left; font-size: 3.4em; line-height: .9; padding: .06em .1em 0 0; color: var(--pz-pool); }
.pz-verhaal__cta { align-self: start; position: sticky; top: 120px; padding: 2rem; border-radius: 22px; background: var(--awb-color2, #ffeff5); }
.pz-verhaal__cta .pz-meta { color: var(--pz-roze); opacity: 1; }
.pz-verhaal__cta p { margin: .75rem 0 1.25rem; line-height: 1.6; }
.pz-verhaal__cta .pz-link { display: inline-block; margin-top: 1rem; }

/* ---------- Voor/na ---------- */
.pz-voorna-sectie { background: var(--pz-zand-2); padding: var(--pz-sectie) 0; }
.pz-voorna-sectie .pz-sectiekop { margin-bottom: 2rem; }
.pz-voorna { position: relative; margin: 0 0 2.5rem; border-radius: 18px; overflow: hidden; background: var(--pz-diep); user-select: none; }
.pz-voorna__laag img { width: 100%; height: auto; }
.pz-voorna__voor { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.pz-voorna__voor img { width: 100%; height: 100%; object-fit: cover; }
.pz-voorna::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: var(--pz-licht-op-diep); box-shadow: 0 0 0 1px rgba(0,0,0,.15); pointer-events: none; }
.pz-voorna::before { content: "↔"; position: absolute; top: 50%; left: var(--pos); z-index: 2; width: 48px; height: 48px; margin: -24px 0 0 -24px; border-radius: 50%; display: grid; place-items: center; background: var(--pz-licht-op-diep); color: var(--pz-diep); font-size: 1.2rem; pointer-events: none; }
.pz-voorna__schuif { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; z-index: 3; }
.pz-voorna__schuif:focus-visible + figcaption, .pz-voorna:focus-within { outline: 3px solid var(--pz-pool); outline-offset: 3px; }
.pz-voorna__label { position: absolute; top: 1rem; z-index: 1; padding: .3em .8em; border-radius: 999px; background: rgba(15,26,61,.7); color: var(--pz-licht-op-diep); font-family: var(--pz-kopfont); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.pz-voorna__label--voor { left: 1rem; } .pz-voorna__label--na { right: 1rem; }
.pz-voorna figcaption { position: relative; padding: .9rem 1.1rem; background: var(--pz-diep); color: var(--pz-gedempt-op-diep); font-size: .95rem; }

/* ---------- In beeld: hoofdstukken + filmstrip ---------- */
.pz-inbeeld { background: var(--pz-diep); color: var(--pz-licht-op-diep); padding: calc(var(--pz-sectie) * .8) 0 var(--pz-sectie); }
.pz-hoofdstuk + .pz-hoofdstuk { margin-top: clamp(3.5rem, 8vw, 7rem); }
.pz-hoofdstuk__kop { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; column-gap: 1.25rem; max-width: var(--pz-breed); margin: 0 auto 1.75rem; padding-inline: var(--pz-gutter); box-sizing: content-box; }
.pz-hoofdstuk__nr { font-family: var(--pz-kopfont); font-weight: 600; font-size: .9rem; color: var(--pz-roze); letter-spacing: .1em; }
.pz-hoofdstuk__kop h2 { color: var(--pz-licht-op-diep); font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem); }
.pz-hoofdstuk__kop p { grid-column: 2; margin: .35rem 0 0; color: var(--pz-gedempt-op-diep); }
.pz-hoofdstuk__telling { grid-row: 1; grid-column: 3; font-size: .85rem; color: var(--pz-gedempt-op-diep); }

.pz-filmstrip { position: relative; }
.pz-filmstrip__rij {
	display: flex; gap: clamp(.75rem, 1.5vw, 1.25rem); list-style: none; margin: 0; padding: .25rem max(var(--pz-gutter), calc((100vw - var(--pz-breed)) / 2)) 1.25rem;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: max(var(--pz-gutter), calc((100vw - var(--pz-breed)) / 2));
	scrollbar-width: thin; scrollbar-color: var(--pz-lijn-op-diep) transparent; overscroll-behavior-x: contain;
}
.pz-filmstrip__rij:focus-visible { outline: 3px solid var(--pz-licht-op-diep); outline-offset: -3px; }
.pz-filmstrip__item { flex: 0 0 auto; scroll-snap-align: start; margin: 0; }
.pz-filmstrip__item figure { margin: 0; }
.pz-filmstrip__link { display: block; border-radius: 14px; overflow: hidden; background: var(--pz-diep-2); cursor: zoom-in; }
.pz-filmstrip__img { height: clamp(16rem, 62vh, 40rem); width: auto !important; max-width: none !important; object-fit: cover; transition: transform .8s var(--pz-ease), opacity .4s; }
.pz-filmstrip__link:hover .pz-filmstrip__img { transform: scale(1.025); }
.pz-filmstrip__item figcaption { margin-top: .6rem; font-size: .9rem; color: var(--pz-gedempt-op-diep); max-width: 40ch; }
.pz-filmstrip__bediening { display: flex; align-items: center; gap: 1rem; max-width: var(--pz-breed); margin: .75rem auto 0; padding-inline: var(--pz-gutter); box-sizing: content-box; }
.pz-filmstrip__voortgang { flex: 1; height: 2px; background: var(--pz-lijn-op-diep); border-radius: 2px; overflow: hidden; }
.pz-filmstrip__voortgang span { display: block; height: 100%; width: var(--pz-voortgang, 10%); background: var(--pz-licht-op-diep); transition: width .2s linear; }
.pz-filmstrip__rij.is-slepen { cursor: grabbing; scroll-snap-type: none; }

/* ---------- Volgend project ---------- */
.pz-volgende { position: relative; display: flex; align-items: flex-end; min-height: clamp(20rem, 60vh, 38rem); overflow: hidden; text-decoration: none; background: var(--pz-diep); color: var(--pz-licht-op-diep) !important; }
.pz-volgende__beeld { position: absolute; inset: 0; }
.pz-volgende__beeld img { width: 100%; height: 100%; object-fit: cover; opacity: .62; transition: transform 1.2s var(--pz-ease), opacity .6s; }
.pz-volgende:hover .pz-volgende__beeld img { transform: scale(1.04); opacity: .75; }
.pz-volgende__beeld::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,26,61,.9), rgba(15,26,61,.1) 70%); }
.pz-volgende__tekst { position: relative; width: 100%; max-width: var(--pz-breed); margin-inline: auto; padding: clamp(2rem, 6vw, 4.5rem) var(--pz-gutter); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .5rem 2rem; }
.pz-volgende__titel { grid-column: 1; font-family: var(--pz-kopfont); font-weight: 600; font-size: clamp(1.9rem, 1.2rem + 3vw, 3.75rem); line-height: 1.05; letter-spacing: -.02em; }
.pz-volgende__pijl { grid-column: 2; grid-row: 1 / span 2; font-size: clamp(2rem, 4vw, 3.5rem); transition: transform .4s var(--pz-ease); }
.pz-volgende:hover .pz-volgende__pijl { transform: translateX(8px); }
.pz-terug { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; justify-content: center; padding: 2.5rem var(--pz-gutter) 3.5rem; }

/* ---------- Lightbox ---------- */
.pz-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(7, 12, 30, .97); color: var(--pz-licht-op-diep); }
.pz-lightbox::backdrop { background: rgba(7, 12, 30, .9); }
.pz-lightbox[open] { display: grid; place-items: center; }
.pz-lightbox__figuur { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .9rem; max-width: 94vw; }
.pz-lightbox__img { max-width: 94vw; max-height: 82vh; width: auto; height: auto; object-fit: contain; border-radius: 6px; transition: opacity .25s; }
.pz-lightbox__img.is-laden { opacity: .25; }
.pz-lightbox__onderschrift { display: flex; gap: 1.5rem; justify-content: space-between; width: 100%; font-size: .95rem; color: var(--pz-gedempt-op-diep); }
.pz-lightbox__teller { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pz-lightbox__sluit { position: fixed; top: 1rem; right: 1rem; }
.pz-lightbox__vorige, .pz-lightbox__volgende { position: fixed; top: 50%; margin-top: -24px; }
.pz-lightbox__vorige { left: 1rem; } .pz-lightbox__volgende { right: 1rem; }

/* ---------- Overzicht ---------- */
.pz-overzicht__kop { padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3rem); background: var(--pz-zand); }
.pz-overzicht__kop .pz-binnen { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 2rem 4rem; align-items: end; }
.pz-cijfers { display: grid; grid-template-columns: repeat(3, auto); gap: 1.5rem 2.25rem; justify-content: start; margin: 0; padding-bottom: .5rem; }
.pz-cijfers div { border-top: 2px solid var(--pz-kopkleur); padding-top: .75rem; }
.pz-cijfers dt { font-family: var(--pz-kopfont); font-weight: 600; font-size: clamp(2.2rem, 1.6rem + 2vw, 3.25rem); line-height: 1; color: var(--pz-pool); letter-spacing: -.02em; }
.pz-cijfers dd { margin: .4rem 0 0; font-size: .9rem; }
@media (max-width: 1000px) { .pz-overzicht__kop .pz-binnen { grid-template-columns: 1fr; } }
.pz-overzicht__kop .pz-meta--pil { color: var(--pz-roze); }
.pz-overzicht__kop h1 { font-size: clamp(2.75rem, 1.6rem + 5vw, 5.5rem); line-height: 1; color: var(--pz-kopkleur); margin-top: 1.25rem; }
.pz-overzicht__intro { max-width: 40rem; margin-top: 1.25rem; font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); line-height: 1.65; }
.pz-filters { display: flex; flex-wrap: wrap; gap: .6rem; padding-bottom: 2rem; }
.pz-chip { display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: .5em 1.15em; border-radius: 999px; border: 1px solid var(--pz-lijn); background: transparent; color: var(--pz-kopkleur) !important; text-decoration: none; font-weight: 500; transition: background .25s, color .25s, border-color .25s; }
.pz-chip span { font-size: .8em; opacity: .6; font-variant-numeric: tabular-nums; }
.pz-chip:hover { border-color: var(--pz-pool); }
.pz-chip[aria-current="true"] { background: var(--pz-pool); border-color: var(--pz-pool); color: var(--pz-zand) !important; }
.pz-mozaiek { list-style: none; margin: 0 auto; padding-bottom: var(--pz-sectie); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(14rem, 22vw, 20rem); grid-auto-flow: dense; gap: clamp(.75rem, 1.5vw, 1.25rem); }
.pz-tegel { position: relative; border-radius: 16px; overflow: hidden; background: var(--pz-diep); }
.pz-tegel--breed { grid-column: span 2; }
.pz-tegel--hoog { grid-row: span 2; }
.pz-tegel[hidden] { display: none; }
.pz-tegel a { position: absolute; inset: 0; display: block; color: var(--pz-licht-op-diep) !important; text-decoration: none; }
.pz-tegel__beeld, .pz-tegel__beeld img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.pz-tegel__beeld img { transition: transform 1s var(--pz-ease); }
.pz-tegel a:hover .pz-tegel__beeld img { transform: scale(1.04); }
.pz-tegel__beeld::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,26,61,.88) 0, rgba(15,26,61,.25) 45%, rgba(15,26,61,0) 70%); }
.pz-tegel__tekst { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.25rem; display: grid; gap: .3rem; }
.pz-tegel__titel { font-family: var(--pz-kopfont); font-weight: 600; font-size: clamp(1.05rem, .95rem + .45vw, 1.35rem); line-height: 1.2; letter-spacing: -.01em; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .4s var(--pz-ease); justify-self: start; padding-bottom: 2px; }
.pz-tegel a:hover .pz-tegel__titel, .pz-tegel a:focus-visible .pz-tegel__titel { background-size: 100% 2px; }

/* ---------- Kaart ---------- */
.pz-kaartsectie { background: var(--pz-diep); color: var(--pz-licht-op-diep); padding: var(--pz-sectie) 0; }
.pz-kaartsectie .pz-sectiekop { color: var(--pz-licht-op-diep); margin-bottom: 1rem; }
.pz-kaartsectie p { color: var(--pz-gedempt-op-diep); line-height: 1.7; max-width: 30rem; }
.pz-kaartsectie__raster { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.pz-kaart { margin: 0; }
.pz-kaart svg { width: 100%; height: auto; overflow: visible; font-family: var(--pz-tekstfont); }
.pz-kaart__ringen circle { fill: none; stroke: var(--pz-lijn-op-diep); stroke-dasharray: 3 5; }
.pz-kaart__ringen text { fill: var(--pz-gedempt-op-diep); font-size: 11px; letter-spacing: .06em; }
.pz-kaart__plaats circle { fill: var(--pz-roze); fill-opacity: .85; stroke: var(--pz-diep); stroke-width: 2; transition: fill-opacity .2s, transform .3s var(--pz-ease); transform-box: fill-box; transform-origin: center; }
.pz-kaart__plaats.is-basis circle { fill: #8fa0ea; }
.pz-kaart__plaats:hover circle, .pz-kaart__plaats:focus circle { fill-opacity: 1; transform: scale(1.12); }
.pz-kaart__naam { fill: var(--pz-licht-op-diep); font-size: 13px; font-weight: 500; paint-order: stroke; stroke: var(--pz-diep); stroke-width: 4px; stroke-linejoin: round; }
.pz-kaart__n { fill: var(--pz-diep); font-size: 11px; font-weight: 700; pointer-events: none; }
.pz-kaart figcaption { margin-top: 1rem; color: var(--pz-gedempt-op-diep); font-size: .72rem; }

.pz-afsluiter { text-align: center; padding-block: var(--pz-sectie); }
.pz-afsluiter h2 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.25rem); color: var(--pz-kopkleur); }
.pz-afsluiter p { max-width: 34rem; margin: 1rem auto 2rem; line-height: 1.7; }

/* ---------- Homehero ---------- */
.pz-homehero { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 7fr); min-height: min(80vh, 820px); background: var(--pz-diep); color: var(--pz-licht-op-diep); overflow: hidden; }
.pz-homehero__tekst { align-self: center; justify-self: stretch; max-width: 46rem; box-sizing: border-box; padding: clamp(2.5rem, 6vw, 6rem) clamp(1.5rem, 4vw, 4rem) clamp(2.5rem, 6vw, 6rem) max(var(--pz-gutter), calc((100vw - var(--pz-breed)) / 2)); }
.pz-homehero__tekst .pz-meta--pil { color: var(--pz-roze); }
.pz-homehero__titel { color: var(--pz-licht-op-diep) !important; font-size: clamp(2rem, 1.1rem + 2.3vw, 3.5rem) !important; line-height: 1.08 !important; margin-top: 1.25rem !important; }
.pz-homehero__lead { font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); line-height: 1.6; color: var(--pz-gedempt-op-diep); margin: 1.5rem 0 0 !important; max-width: 32rem; }
.pz-homehero .pz-knop--lijn { color: var(--pz-licht-op-diep) !important; }
.pz-homehero__beelden { position: relative; min-height: 24rem; }
.pz-homehero__dia { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--pz-ease); color: var(--pz-licht-op-diep) !important; text-decoration: none; }
.pz-homehero__dia.is-actief { opacity: 1; z-index: 1; }
.pz-homehero__dia img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 7s linear; }
.pz-homehero__dia.is-actief img { transform: scale(1); }
.pz-homehero__beelden::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, var(--pz-diep) 0, rgba(15,26,61,0) 20%), linear-gradient(0deg, rgba(15,26,61,.75) 0, rgba(15,26,61,0) 30%); }
.pz-homehero__onderschrift { position: absolute; right: 1.5rem; bottom: 1.25rem; z-index: 3; font-family: var(--pz-kopfont); font-weight: 600; font-size: .95rem; }

/* ---------- Rij uitgelichte projecten ---------- */
.pz-rij { padding: var(--pz-sectie) 0; background: var(--pz-zand); }
.pz-rij__kop { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.pz-filmstrip--kaarten .pz-filmstrip__rij { scrollbar-color: var(--pz-lijn) transparent; }
.pz-rijkaart { flex: 0 0 clamp(17rem, 34vw, 30rem); scroll-snap-align: start; }
.pz-rijkaart a { display: grid; gap: .5rem; text-decoration: none; color: var(--pz-kopkleur) !important; }
.pz-rijkaart__beeld { display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--pz-diep); margin-bottom: .5rem; }
.pz-rijkaart__beeld img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--pz-ease); }
.pz-rijkaart a:hover img { transform: scale(1.04); }
.pz-rijkaart .pz-meta { color: var(--pz-roze); opacity: 1; }
.pz-rijkaart__titel { font-family: var(--pz-kopfont); font-weight: 600; font-size: 1.2rem; line-height: 1.25; }
.pz-rij .pz-rondknop { background: transparent; color: var(--pz-kopkleur); border-color: var(--pz-lijn); }
.pz-rij .pz-rondknop:hover { background: var(--pz-pool); color: var(--pz-zand); }
.pz-rij .pz-filmstrip__voortgang { background: var(--pz-lijn); }
.pz-rij .pz-filmstrip__voortgang span { background: var(--pz-pool); }

/* ---------- Responsief ---------- */
@media (max-width: 1000px) {
	.pz-hero--split, .pz-homehero { grid-template-columns: 1fr; min-height: 0; }
	.pz-hero--split .pz-hero__beeld, .pz-homehero__beelden { order: -1; aspect-ratio: 4 / 3; min-height: 0; }
	.pz-hero--split .pz-hero__beeld::after { background: linear-gradient(0deg, var(--pz-diep) 0, rgba(15,26,61,0) 30%); }
	.pz-homehero__beelden::before { background: linear-gradient(0deg, var(--pz-diep) 0, rgba(15,26,61,0) 35%); }
	.pz-hero--split .pz-hero__tekst, .pz-homehero__tekst { justify-self: stretch; max-width: none; padding-top: 1.5rem; }
	.pz-verhaal { grid-template-columns: 1fr; }
	.pz-verhaal__cta { position: static; }
	.pz-kaartsectie__raster { grid-template-columns: 1fr; }
	.pz-mozaiek { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 719px) {
	.pz-mozaiek { grid-template-columns: 1fr; grid-auto-rows: 15rem; }
	.pz-tegel--breed { grid-column: auto; }
	.pz-tegel--hoog { grid-row: span 2; }
	.pz-inbeeld .pz-filmstrip__rij { flex-direction: column; overflow: visible; padding-inline: var(--pz-gutter); scroll-snap-type: none; }
	.pz-inbeeld .pz-filmstrip__img { width: 100% !important; height: auto; max-width: 100% !important; }
	.pz-inbeeld .pz-filmstrip__bediening { display: none !important; }
	.pz-hoofdstuk__kop { grid-template-columns: auto 1fr; }
	.pz-hoofdstuk__telling { grid-row: auto; grid-column: 2; }
	.pz-feiten { justify-content: flex-start; }
	.pz-feiten__item { border-left: 0; padding: .4rem 1rem .4rem 0; flex: 1 1 40%; }
	.pz-volgende__tekst { grid-template-columns: 1fr; }
	.pz-volgende__pijl { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pz-js .pz-in { opacity: 1; transform: none; transition: none; }
	.pz-project *, .pz-overzicht *, .pz-homehero *, .pz-rij *, .pz-lightbox * { animation: none !important; transition: none !important; }
	.pz-homehero__dia img { transform: none; }
}

/* ---------- Homesecties (core-blokken met pz-klassen; tekst blijft bewerkbaar in de editor) ---------- */
.home #main { padding-top: 0 !important; padding-bottom: 0 !important; }
.pz-sectie { padding-block: var(--pz-sectie) !important; margin: 0 !important; font-family: var(--pz-tekstfont); }
.pz-sectie > * { max-width: var(--pz-breed); margin-inline: auto !important; }
.pz-sectie .pz-sectiekop { margin-bottom: 1.25rem; }
.pz-lead { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height: 1.65; max-width: 44rem !important; margin-left: 0 !important; }
.pz-diensten { background: var(--pz-zand-2); }
.pz-diensten .pz-sectiekop, .pz-diensten .pz-lead { margin-left: 0 !important; }
.pz-diensten__raster { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-top: 2.5rem !important; }
.pz-diensten__raster .wp-block-column { border-top: 2px solid var(--pz-kopkleur); padding-top: 1.25rem; }
.pz-diensten h3 { font-family: var(--pz-kopfont); font-weight: 600; font-size: 1.35rem; margin: 0 0 .6rem; color: var(--pz-kopkleur); }
.pz-diensten p { line-height: 1.7; }
.pz-meer a { color: var(--pz-pool); font-weight: 600; text-decoration: none; }
.pz-meer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pz-waarom { background: var(--pz-zand); }
.pz-waarom__lijst { list-style: none; padding: 0 !important; margin-top: 2rem !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); counter-reset: pz-w; }
.pz-waarom__lijst li { counter-increment: pz-w; line-height: 1.6; padding-top: 3.2rem; position: relative; }
.pz-waarom__lijst li::before { content: counter(pz-w, decimal-leading-zero); position: absolute; top: 0; left: 0; font-family: var(--pz-kopfont); font-weight: 600; font-size: 2rem; color: var(--pz-roze); }
.pz-waarom__lijst strong { display: block; font-family: var(--pz-kopfont); font-weight: 600; color: var(--pz-kopkleur); font-size: 1.1rem; margin-bottom: .2rem; }
.pz-cta { background: var(--awb-color2, #ffeff5); text-align: center; }
.pz-cta p { line-height: 1.7; }
.pz-cta a:not(.pz-knop) { color: var(--pz-pool); font-weight: 600; }
.pz-cta__knop { margin-top: 1.75rem !important; }
@media (max-width: 900px) { .pz-waarom__lijst { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pz-waarom__lijst { grid-template-columns: 1fr; } }
.pz-hero__onderscheid { display: block; margin-top: .5rem; font-size: clamp(1.1rem, .95rem + .8vw, 1.6rem); font-weight: 500; letter-spacing: -.01em; color: var(--pz-gedempt-op-diep); }
@media (max-width: 1000px) { .pz-homehero__onderschrift { left: var(--pz-gutter); right: var(--pz-gutter); bottom: .9rem; font-size: .85rem; } }
