#qwt-milieu { --black: #000000; --green: #20be72; --font: 'Open Sans', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Segoe UI', Helvetica, Arial, sans-serif; }
#qwt-milieu * { box-sizing: border-box; }
#qwt-milieu { margin: 0; background: var(--black); color: #ffffff; font-family: var(--font); -webkit-font-smoothing: antialiased; }
#qwt-milieu p, #qwt-milieu h1, #qwt-milieu h2 { margin: 0; }
#qwt-milieu .opening { position: relative; height: 380vh; background: var(--black); }
#qwt-milieu .opening__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
#qwt-milieu .opening__glow { position: absolute; inset: 0; background: radial-gradient(120% 90% at 0% 0%, #1f6b50 0%, rgba(31,107,80,0) 60%), linear-gradient(135deg, #17533e 0%, #0b2a20 45%, #020806 100%); opacity: 0; animation: gloed 3.2s ease-out 1.4s forwards; }
@keyframes gloed { to { opacity: 1; } }
#qwt-milieu .opening__word { position: relative; opacity: calc(1 - var(--p-woord, 0)); filter: blur(calc(var(--p-woord, 0) * 14px)) brightness(calc(1 - var(--p-woord, 0) * 0.45)); transform: translateY(calc(var(--p-woord, 0) * 24px)); }
#qwt-milieu .opening__word span { display: block; font-size: clamp(88px, 17vw, 260px); font-weight: 700; letter-spacing: -0.04em; line-height: 1; padding-bottom: 0.08em; background: linear-gradient(180deg, #b6f3d6 0%, #4fd39b 30%, #2b7a5a 65%, #1f6b50 100%); background-size: 100% 300%; background-position: 0% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; opacity: 0; filter: blur(14px); transform: translateY(24px); animation: woord-in 2s cubic-bezier(.2,.7,.2,1) 0.3s forwards, woord-licht 3.2s ease-out 1.4s forwards; }
@keyframes woord-in { to { opacity: 1; filter: blur(0); transform: none; } }
@keyframes woord-licht { to { background-position: 0% 0%; } }
#qwt-milieu .opening__img { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: translate(-50%, -50%); border-radius: 28px; overflow: hidden; opacity: 0; background: linear-gradient(135deg, #2a2f2d 0%, #121614 100%); will-change: width, height, transform, opacity; }
#qwt-milieu .opening__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#qwt-milieu .opening__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.45); font-size: 15px; letter-spacing: 0.02em; }
#qwt-milieu .opening__shade { position: absolute; left: 0; right: 0; bottom: -2px; height: 90%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.12) 25%, rgba(0,0,0,0.34) 50%, rgba(0,0,0,0.52) 65%, rgba(0,0,0,0.72) 80%, rgba(0,0,0,0.9) 92%, #000000 100%); opacity: var(--p-titel, 0); }
#qwt-milieu .opening__title { position: absolute; left: 50%; bottom: max(64px, 10vh); width: min(18ch, calc(100% - 48px)); transform: translate(-50%, calc((1 - var(--p-titel, 0)) * 28px)); font-size: clamp(36px, 5.5vw, 76px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; text-align: center; opacity: var(--p-titel, 0); }
#qwt-milieu .verhaal { position: relative; padding: clamp(140px, 18vh, 220px) 0; background: linear-gradient(180deg, rgba(0,0,0,1) 0.0%, rgba(0,0,0,0.896) 4.0%, rgba(0,0,0,0.648) 8.0%, rgba(0,0,0,0.352) 12.0%, rgba(0,0,0,0.104) 16.0%, rgba(0,0,0,0) 20.0%), linear-gradient(180deg, rgba(0,0,0,0) 80.0%, rgba(0,0,0,0.104) 84.0%, rgba(0,0,0,0.352) 88.0%, rgba(0,0,0,0.648) 92.0%, rgba(0,0,0,0.896) 96.0%, rgba(0,0,0,1) 100.0%), radial-gradient(88% 80% at 84% 38%, rgba(0,62,19,1.000) 0%, rgba(0,62,19,0.972) 10%, rgba(0,62,19,0.896) 20%, rgba(0,62,19,0.784) 30%, rgba(0,62,19,0.648) 40%, rgba(0,62,19,0.500) 50%, rgba(0,62,19,0.352) 60%, rgba(0,62,19,0.216) 70%, rgba(0,62,19,0.104) 80%, rgba(0,62,19,0.028) 90%, rgba(0,62,19,0.000) 100%), radial-gradient(82% 74% at 14% 64%, rgba(0,52,15,0.900) 0%, rgba(0,52,15,0.875) 10%, rgba(0,52,15,0.806) 20%, rgba(0,52,15,0.706) 30%, rgba(0,52,15,0.583) 40%, rgba(0,52,15,0.450) 50%, rgba(0,52,15,0.317) 60%, rgba(0,52,15,0.194) 70%, rgba(0,52,15,0.094) 80%, rgba(0,52,15,0.025) 90%, rgba(0,52,15,0.000) 100%), radial-gradient(130% 70% at 50% 50%, rgba(0,46,13,0.950) 0%, rgba(0,46,13,0.923) 10%, rgba(0,46,13,0.851) 20%, rgba(0,46,13,0.745) 30%, rgba(0,46,13,0.616) 40%, rgba(0,46,13,0.475) 50%, rgba(0,46,13,0.334) 60%, rgba(0,46,13,0.205) 70%, rgba(0,46,13,0.099) 80%, rgba(0,46,13,0.027) 90%, rgba(0,46,13,0.000) 100%), #000000; }
#qwt-milieu .verhaal__wrap { z-index: 1; }
@media (min-width: 600px) {
  #qwt-milieu .verhaal::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(12% 6% at 24% 38%, rgba(0,0,0,0.550) 0%, rgba(0,0,0,0.535) 10%, rgba(0,0,0,0.493) 20%, rgba(0,0,0,0.431) 30%, rgba(0,0,0,0.356) 40%, rgba(0,0,0,0.275) 50%, rgba(0,0,0,0.194) 60%, rgba(0,0,0,0.119) 70%, rgba(0,0,0,0.057) 80%, rgba(0,0,0,0.015) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(9% 5% at 62% 22%, rgba(0,0,0,0.500) 0%, rgba(0,0,0,0.486) 10%, rgba(0,0,0,0.448) 20%, rgba(0,0,0,0.392) 30%, rgba(0,0,0,0.324) 40%, rgba(0,0,0,0.250) 50%, rgba(0,0,0,0.176) 60%, rgba(0,0,0,0.108) 70%, rgba(0,0,0,0.052) 80%, rgba(0,0,0,0.014) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(11% 6% at 80% 60%, rgba(0,0,0,0.550) 0%, rgba(0,0,0,0.535) 10%, rgba(0,0,0,0.493) 20%, rgba(0,0,0,0.431) 30%, rgba(0,0,0,0.356) 40%, rgba(0,0,0,0.275) 50%, rgba(0,0,0,0.194) 60%, rgba(0,0,0,0.119) 70%, rgba(0,0,0,0.057) 80%, rgba(0,0,0,0.015) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(8% 4% at 42% 76%, rgba(0,0,0,0.450) 0%, rgba(0,0,0,0.437) 10%, rgba(0,0,0,0.403) 20%, rgba(0,0,0,0.353) 30%, rgba(0,0,0,0.292) 40%, rgba(0,0,0,0.225) 50%, rgba(0,0,0,0.158) 60%, rgba(0,0,0,0.097) 70%, rgba(0,0,0,0.047) 80%, rgba(0,0,0,0.013) 90%, rgba(0,0,0,0.000) 100%); }
  #qwt-milieu .verhaal--slot::after { background: radial-gradient(11% 6% at 14% 56%, rgba(0,0,0,0.550) 0%, rgba(0,0,0,0.535) 10%, rgba(0,0,0,0.493) 20%, rgba(0,0,0,0.431) 30%, rgba(0,0,0,0.356) 40%, rgba(0,0,0,0.275) 50%, rgba(0,0,0,0.194) 60%, rgba(0,0,0,0.119) 70%, rgba(0,0,0,0.057) 80%, rgba(0,0,0,0.015) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(9% 5% at 50% 28%, rgba(0,0,0,0.500) 0%, rgba(0,0,0,0.486) 10%, rgba(0,0,0,0.448) 20%, rgba(0,0,0,0.392) 30%, rgba(0,0,0,0.324) 40%, rgba(0,0,0,0.250) 50%, rgba(0,0,0,0.176) 60%, rgba(0,0,0,0.108) 70%, rgba(0,0,0,0.052) 80%, rgba(0,0,0,0.014) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(8% 4% at 86% 34%, rgba(0,0,0,0.450) 0%, rgba(0,0,0,0.437) 10%, rgba(0,0,0,0.403) 20%, rgba(0,0,0,0.353) 30%, rgba(0,0,0,0.292) 40%, rgba(0,0,0,0.225) 50%, rgba(0,0,0,0.158) 60%, rgba(0,0,0,0.097) 70%, rgba(0,0,0,0.047) 80%, rgba(0,0,0,0.013) 90%, rgba(0,0,0,0.000) 100%), radial-gradient(12% 6% at 66% 80%, rgba(0,0,0,0.550) 0%, rgba(0,0,0,0.535) 10%, rgba(0,0,0,0.493) 20%, rgba(0,0,0,0.431) 30%, rgba(0,0,0,0.356) 40%, rgba(0,0,0,0.275) 50%, rgba(0,0,0,0.194) 60%, rgba(0,0,0,0.119) 70%, rgba(0,0,0,0.057) 80%, rgba(0,0,0,0.015) 90%, rgba(0,0,0,0.000) 100%); }
}
@media (min-width: 600px) {
  #qwt-milieu .verhaal { background: linear-gradient(180deg, rgb(0,0,0) 0.0%, rgb(0,1,1) 2.0%, rgb(1,4,2) 4.0%, rgb(2,8,6) 6.0%, rgb(4,14,11) 8.0%, rgb(6,21,16) 10.0%, rgb(8,28,21) 12.0%, rgb(11,36,27) 14.0%, rgb(13,44,33) 16.0%, rgb(15,52,39) 18.0%, rgb(17,60,45) 20.0%, rgb(20,67,50) 22.0%, rgb(21,74,56) 24.0%, rgb(23,80,60) 26.0%, rgb(25,84,63) 28.0%, rgb(25,87,65) 30.0%, rgb(25,88,66) 32.0%, rgb(25,88,66) 38.0%, rgb(25,87,65) 41.9%, rgb(25,84,63) 45.8%, rgb(23,80,60) 49.6%, rgb(21,74,56) 53.5%, rgb(20,67,50) 57.4%, rgb(17,60,45) 61.3%, rgb(15,52,39) 65.1%, rgb(13,44,33) 69.0%, rgb(11,36,27) 72.9%, rgb(8,28,21) 76.8%, rgb(6,21,16) 80.6%, rgb(4,14,11) 84.5%, rgb(2,8,6) 88.4%, rgb(1,4,2) 92.3%, rgb(0,1,1) 96.1%, rgb(0,0,0) 100.0%); }
  #qwt-milieu .verhaal::after { display: none; }
}
@media (max-width: 599px) {
  #qwt-milieu .verhaal { padding: 120px 0 140px; background: linear-gradient(180deg, rgb(0,0,0) 0.0%, rgb(0,1,1) 2.0%, rgb(1,4,2) 4.0%, rgb(2,8,6) 6.0%, rgb(4,14,11) 8.0%, rgb(6,21,16) 10.0%, rgb(8,28,21) 12.0%, rgb(11,36,27) 14.0%, rgb(13,44,33) 16.0%, rgb(15,52,39) 18.0%, rgb(17,60,45) 20.0%, rgb(20,67,50) 22.0%, rgb(21,74,56) 24.0%, rgb(23,80,60) 26.0%, rgb(25,84,63) 28.0%, rgb(25,87,65) 30.0%, rgb(25,88,66) 32.0%, rgb(25,88,66) 38.0%, rgb(25,87,65) 41.9%, rgb(25,84,63) 45.8%, rgb(23,80,60) 49.6%, rgb(21,74,56) 53.5%, rgb(20,67,50) 57.4%, rgb(17,60,45) 61.3%, rgb(15,52,39) 65.1%, rgb(13,44,33) 69.0%, rgb(11,36,27) 72.9%, rgb(8,28,21) 76.8%, rgb(6,21,16) 80.6%, rgb(4,14,11) 84.5%, rgb(2,8,6) 88.4%, rgb(1,4,2) 92.3%, rgb(0,1,1) 96.1%, rgb(0,0,0) 100.0%); }
  #qwt-milieu .verhaal::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.08; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='k'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23k)'/></svg>"); }
  #qwt-milieu .verhaal__wrap { z-index: 1; }
}
#qwt-milieu .verhaal__wrap { position: relative; width: min(calc(100% - 48px), 980px); margin-inline: auto; }
#qwt-milieu .verhaal__tekst { font-size: clamp(28px, 3.6vw, 52px); font-weight: 600; line-height: 1.14; letter-spacing: -0.015em; color: #c2f2db; opacity: 0; transform: translateY(40px); transition: opacity 1.2s ease, transform 1.2s cubic-bezier(.2,.7,.2,1); }
#qwt-milieu .verhaal__tekst.is-zichtbaar { opacity: 1; transform: none; }
#qwt-milieu .duurzaam { background: #000000; color: #f5f5f7; padding: clamp(96px, 14vh, 160px) 0; overflow: hidden; }
#qwt-milieu .kaarten { --rand: max(24px, calc((100% - 1160px) / 2)); display: flex; gap: 20px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0 var(--rand) 8px; scroll-padding-inline: var(--rand); scrollbar-width: none; }
#qwt-milieu .kaarten > .kaart-blok { flex: 0 0 clamp(270px, 26vw, 372px); scroll-snap-align: start; }
#qwt-milieu .zonder-animatie, #qwt-milieu .zonder-animatie *:not(.puf) { animation-duration: 0s !important; animation-delay: 0s !important; transition-duration: 0s !important; transition-delay: 0s !important; }
#qwt-milieu .past-alles { justify-content: flex-start; }
#qwt-milieu .kaarten.past-alles > .kaart-blok { flex-grow: 1; }
#qwt-milieu .rij-past .rij__knoppen, #qwt-milieu .rij-past .schuifbalk { display: none; }
#qwt-milieu .duurzaam .rij__knop { background: #e8e8ed; color: #1d1d1f; }
#qwt-milieu .duurzaam .rij__knop:hover { background: #dcdce1; }
#qwt-milieu .kaart-blok { opacity: 0; transform: translateY(40px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
#qwt-milieu .kaart-blok:nth-child(2) { transition-delay: 0.12s; }
#qwt-milieu .kaart-blok:nth-child(3) { transition-delay: 0.24s; }
#qwt-milieu .kaart-blok.is-zichtbaar { opacity: 1; transform: none; }
#qwt-milieu .kaart { position: relative; aspect-ratio: 365 / 512; border-radius: 28px; overflow: hidden; color: #ffffff; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12% 10%; text-align: center; }
#qwt-milieu .kaart--zee { background: radial-gradient(120% 90% at 30% 20%, #2f6178 0%, #173b4f 55%, #0d2433 100%); }
#qwt-milieu .kaart--grijs { background: radial-gradient(70% 55% at 50% 45%, #333438 0%, #1d1e21 70%); }
#qwt-milieu .kaart--groen { background: #0b3b2e; }
#qwt-milieu .deco { position: absolute; inset: 0; pointer-events: none; }
#qwt-milieu .kaart__zin { position: relative; z-index: 1; }
#qwt-milieu .deco__fabriek { position: absolute; left: 27%; bottom: 0; width: 46%; height: auto; fill: rgba(0,0,0,0.38); }
#qwt-milieu .puf { position: absolute; left: 59%; bottom: 16%; width: 22%; aspect-ratio: 1; margin-left: -11%; border-radius: 50%; background: radial-gradient(circle, rgba(225,235,240,0.55) 0%, rgba(225,235,240,0.25) 40%, rgba(225,235,240,0) 70%); opacity: 0; animation: opstijgen 8.4s linear infinite; animation-delay: calc(var(--i) * -1.4s); }
@keyframes opstijgen { 0% { transform: translate(0, 0) scale(0.35); opacity: 0; } 12% { opacity: 0.85; } 100% { transform: translate(-60%, -320%) scale(2.8); opacity: 0; } }
#qwt-milieu .element { position: absolute; left: var(--x); bottom: var(--b); width: 17%; aspect-ratio: 1; border-radius: 14%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #1d1d1f; box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 6px 16px rgba(0,0,0,0.35); transform: rotate(var(--r)); opacity: 0; }
#qwt-milieu .is-zichtbaar .element { animation: vallen 1.5s linear both; animation-delay: calc(0.35s + var(--i) * 0.28s); }
@keyframes vallen { 0% { transform: translateY(-950%) rotate(calc(var(--r) + var(--spin, 40deg))); opacity: 0; animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 6% { opacity: 1; } 52% { transform: translateY(0) rotate(calc(var(--r) + var(--spin, 40deg) * 0.06)); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); } 64% { transform: translateY(-20%) rotate(calc(var(--r) - var(--spin, 40deg) * 0.08)); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 76% { transform: translateY(0) rotate(calc(var(--r) + var(--spin, 40deg) * 0.015)); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); } 84% { transform: translateY(-5%) rotate(calc(var(--r) - var(--spin, 40deg) * 0.02)); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 92% { transform: translateY(0) rotate(var(--r)); animation-timing-function: ease-out; } 100% { transform: translateY(0) rotate(var(--r)); opacity: 1; } }
#qwt-milieu .is-zichtbaar .element--li { animation-name: vallen-li; animation-duration: 2.6s; }
@keyframes vallen-li { 0% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1 - 950%)) rotate(calc(var(--r) + var(--spin, 40deg))); opacity: 0; animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 4% { opacity: 1; } 30% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1)) rotate(calc(var(--r) + var(--spin, 40deg) * 0.06)); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); } 37% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1 - 20%)) rotate(calc(var(--r) - var(--spin, 40deg) * 0.08)); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 44% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1)) rotate(calc(var(--r) + var(--spin, 40deg) * 0.015)); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); } 49% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1 - 5%)) rotate(calc(var(--r) - var(--spin, 40deg) * 0.02)); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); } 54% { transform: translate(calc(var(--sx, 0px) * -1), calc(var(--sy, 0px) * -1)) rotate(var(--r)); animation-timing-function: cubic-bezier(0.6, 0, 0.9, 0.6); } 90% { transform: translate(0, 0) rotate(var(--r)); animation-timing-function: ease-out; } 95% { transform: translate(calc(var(--sx, 0px) * -0.04), calc(var(--sy, 0px) * -0.04)) rotate(var(--r)); animation-timing-function: ease-in; } 100% { transform: translate(0, 0) rotate(var(--r)); opacity: 1; } }
#qwt-milieu .element small { position: absolute; left: 10%; top: 7%; font-size: clamp(7px, 0.6vw, 10px); font-weight: 600; opacity: 0.75; }
#qwt-milieu .element b { font-size: clamp(17px, 1.7vw, 26px); font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
#qwt-milieu .element i { font-style: normal; font-size: clamp(6px, 0.55vw, 9px); font-weight: 600; margin-top: 2px; opacity: 0.8; }
#qwt-milieu .element--cu { background: linear-gradient(140deg, #f2b68a 0%, #c57a45 45%, #8e4f27 100%); }
#qwt-milieu .element--au { background: linear-gradient(140deg, #fff1b0 0%, #e2b53c 45%, #a8791a 100%); }
#qwt-milieu .element--li { background: linear-gradient(140deg, #f4f5f7 0%, #c9ccd2 50%, #9a9ea6 100%); }
#qwt-milieu .element--al { background: linear-gradient(140deg, #eef0f3 0%, #b9bec6 50%, #8d939c 100%); }
#qwt-milieu .element--co { background: linear-gradient(140deg, #d7deea 0%, #8b9ab3 50%, #5b6a84 100%); }
#qwt-milieu .woord-groen { transition: color 0.8s ease 0.5s; }
#qwt-milieu .is-zichtbaar .woord-groen { color: #00d85a; }
#qwt-milieu .is-zichtbaar .kaart__zin--wissel { animation: tekstweg 0.85s cubic-bezier(0.7, 0, 0.84, 0) 2.3s both; }
@keyframes tekstweg { to { opacity: 0; transform: scale(0.3); filter: blur(12px); letter-spacing: -0.1em; } }
#qwt-milieu .kringlogo { position: absolute; left: 50%; top: 50%; width: 58%; height: auto; transform: translate(-50%, -50%); overflow: visible; filter: drop-shadow(0 8px 26px rgba(0,216,90,0.35)); }
#qwt-milieu .kringlogo__draai, #qwt-milieu .kringlogo__pijl { transform-box: view-box; transform-origin: 66.146px 64.118px; }
#qwt-milieu .kringlogo__pijl { opacity: 0; }
#qwt-milieu .is-zichtbaar .kringlogo__pijl { animation: pijlerin 0.95s cubic-bezier(0.2, 0.8, 0.25, 1.15) both; animation-delay: calc(2.85s + var(--n) * 0.14s); }
@keyframes pijlerin { from { opacity: 0; transform: rotate(-220deg) scale(0.15); } 35% { opacity: 1; } to { opacity: 1; transform: rotate(0deg) scale(1); } }
#qwt-milieu .is-zichtbaar .kringlogo__draai { animation: logodraai 1.3s cubic-bezier(0.65, 0, 0.35, 1) 4.2s both; }
@keyframes logodraai { from { transform: rotate(0deg); } to { transform: rotate(120deg); } }
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .puf { animation: none; opacity: 0.4; transform: translate(-30%, -150%) scale(1.6); }
  #qwt-milieu .puf:nth-child(n+4) { display: none; }
  #qwt-milieu .element, #qwt-milieu .is-zichtbaar .element { animation: none; opacity: 1; }
  #qwt-milieu .woord-groen { transition: none; }
  #qwt-milieu .is-zichtbaar .kaart__zin--wissel { animation: none; }
  #qwt-milieu .kringlogo { display: none; }
}
#qwt-milieu .kaart__zin { font-size: clamp(32px, 3.4vw, 46px); font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; text-shadow: 0 2px 24px rgba(0,0,0,0.5); }
#qwt-milieu .kaart-uitleg { font-size: 17px; font-weight: 600; line-height: 1.45; color: #a1a1a6; margin: 26px 4% 0; }
#qwt-milieu .kaart-uitleg strong { color: #f5f5f7; font-weight: 600; }
#qwt-milieu .kringloop { background: #ffffff; color: #1d1d1f; padding: clamp(200px, 28vh, 340px) 0 clamp(240px, 32vh, 380px); }
#qwt-milieu .kringloop__kop { width: min(calc(100% - 48px), 980px); margin: 0 auto; text-align: center; }
#qwt-milieu .kringloop__titel { font-size: clamp(44px, 6.2vw, 92px); font-weight: 700; line-height: 1.02; letter-spacing: -0.035em; position: relative; z-index: 0; }
#qwt-milieu .markeer { position: relative; display: inline-block; padding: 0 0.12em; margin: 0 -0.04em; }
#qwt-milieu .markeer::before { content: ""; position: absolute; inset: 0.04em 0 0.02em; background: #20be72; border-radius: 0.14em; transform: scaleX(0); transform-origin: left center; transition: transform 0.9s cubic-bezier(.2,.7,.2,1) 0.2s; z-index: -1; }
#qwt-milieu .is-zichtbaar .markeer::before { transform: scaleX(1); }
#qwt-milieu .duo { width: min(calc(100% - 48px), 1160px); margin: clamp(56px, 9vh, 96px) auto 0; display: grid; grid-template-columns: 1fr; gap: 48px 20px; }
#qwt-milieu .duo__beeld { aspect-ratio: 3 / 2; border-radius: 24px; background: #ffffff; box-shadow: 0 6px 30px rgba(0,0,0,0.08); overflow: hidden; display: flex; align-items: center; justify-content: center; }
#qwt-milieu .duo__beeld img { width: 100%; height: 100%; object-fit: contain; display: block; }
#qwt-milieu .duo__label { font-size: 17px; font-weight: 700; margin: 24px 4px 0; }
#qwt-milieu .duo__tekst { font-size: 16px; line-height: 1.7; color: #1d1d1f; margin: 8px 4px 0; }
#qwt-milieu .groen { background: linear-gradient(#20be72, #20be72) no-repeat left center / 0% 100%; transition: background-size 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.6s; color: #000000; font-weight: 700; padding: 1px 5px; border-radius: 4px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
#qwt-milieu .is-zichtbaar .groen { background-size: 100% 100%; }
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .groen { transition: none; background-size: 100% 100%; }
}
#qwt-milieu .rij { background: #ffffff; color: #1d1d1f; padding: 0 0 clamp(140px, 20vh, 240px); }
#qwt-milieu .rij__baan { --rand: max(24px, calc((100% - 1160px) / 2)); display: flex; gap: 20px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 24px var(--rand) 36px; scroll-padding-inline: var(--rand); scrollbar-width: none; }
#qwt-milieu .rij__baan::-webkit-scrollbar { display: none; }
#qwt-milieu .rij__item { flex: 0 0 clamp(300px, 32vw, 456px); scroll-snap-align: start; display: flex; flex-direction: column; }
#qwt-milieu .rij__kop { width: min(calc(100% - 48px), 1160px); margin: 0 auto 16px; font-size: clamp(36px, 4.4vw, 56px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; color: #1d1d1f; }
#qwt-milieu .omkaart { position: relative; aspect-ratio: 456 / 354; border-radius: 28px; background: #ffffff; box-shadow: 0 6px 30px rgba(0,0,0,0.1); display: flex; flex-direction: column; padding: 36px 36px 112px; flex: 1 0 auto; box-sizing: border-box; }
#qwt-milieu .omkaart__klik { position: absolute; inset: 0; z-index: 5; border: 0; padding: 0; background: transparent; cursor: pointer; border-radius: inherit; }
#qwt-milieu .omkaart__klik:focus-visible { outline: 2px solid #20be72; outline-offset: -4px; }
#qwt-milieu .omkaart__icoon { position: absolute; left: 36px; bottom: 30px; width: 60px; height: 60px; }
#qwt-milieu .omkaart__icoon svg { width: 100%; height: 100%; stroke-width: 4.5; }
#qwt-milieu .omkaart__lead { display: block; color: #20be72; }
#qwt-milieu .omkaart__titelvak, #qwt-milieu .omkaart__detail { display: grid; transition: grid-template-rows 0.38s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.24s ease; }
#qwt-milieu .omkaart__titelvak { grid-template-rows: 1fr; opacity: 1; }
#qwt-milieu .omkaart__titelvak > * { min-height: 0; overflow: hidden; }
#qwt-milieu .omkaart__titel { margin: 0; padding-bottom: 0.14em; font-size: clamp(26px, 2.4vw, 36px); font-weight: 700; line-height: 1.12; letter-spacing: -0.015em; color: #1d1d1f; }
#qwt-milieu .omkaart__detail { grid-template-rows: 0fr; opacity: 0; }
#qwt-milieu .omkaart__detail > * { min-height: 0; overflow: hidden; }
#qwt-milieu .omkaart__tekst { margin: 0; padding: 0 8px 0.2em 0; font-size: clamp(18px, 1.5vw, 22px); font-weight: 650; line-height: 1.42; letter-spacing: -0.01em; color: #6e6e73; }
#qwt-milieu .omkaart__tekst strong { font-weight: 700; color: #1d1d1f; }
#qwt-milieu .omkaart__plus { position: absolute; right: 36px; bottom: 36px; z-index: 4; pointer-events: none; width: 52px; height: 52px; border-radius: 50%; background: #000000; color: #ffffff; display: flex; align-items: center; justify-content: center; transition: transform 0.28s ease; }
#qwt-milieu .omkaart__plus svg { width: 24px; height: 24px; }
#qwt-milieu .omkaart.is-open .omkaart__titelvak { grid-template-rows: 0fr; opacity: 0; }
#qwt-milieu .omkaart.is-open .omkaart__detail { grid-template-rows: 1fr; opacity: 1; transition: grid-template-rows 0.38s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.24s ease 0.12s; }
#qwt-milieu .omkaart.is-open .omkaart__plus { transform: rotate(45deg); }
#qwt-milieu .vervaagd { display: inline-block; filter: blur(9px); opacity: 0.55; }
#qwt-milieu .is-zichtbaar .vervaagd { animation: ontvagen 1.1s cubic-bezier(0.4, 0, 0.2, 1) 0.9s both; }
@keyframes ontvagen { from { filter: blur(9px); opacity: 0.55; } to { filter: blur(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .vervaagd, #qwt-milieu .is-zichtbaar .vervaagd { animation: none; filter: none; opacity: 1; }
}
#qwt-milieu .rij__knoppen { width: min(calc(100% - 48px), 1160px); margin: 28px auto 0; display: flex; justify-content: flex-end; gap: 14px; }
#qwt-milieu .rij__knop { width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer; background: #1d1d1f; color: #f5f5f7; display: flex; align-items: center; justify-content: center; transition: background 160ms ease, opacity 160ms ease; }
#qwt-milieu .rij__knop:hover { background: #333336; }
#qwt-milieu .rij__knop:disabled { opacity: 0.4; cursor: default; }
#qwt-milieu .rij__knop svg { width: 18px; height: 18px; }
@media (min-width: 760px) {
  #qwt-milieu .duo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#qwt-milieu .schuifbalk { display: none; justify-content: center; margin-top: 32px; }
#qwt-milieu .schuifbalk__baan { position: relative; width: 100px; height: 4px; border-radius: 980px; overflow: hidden; background: rgba(0,0,0,0.1); }
#qwt-milieu .duurzaam .schuifbalk__baan { background: rgba(255,255,255,0.18); }
#qwt-milieu .schuifbalk__duim { position: absolute; top: 0; left: 0; height: 100%; min-width: 24px; border-radius: 980px; background: #20be72; transition: left .05s linear; }
@media (max-width: 759px) {
  #qwt-milieu .kaarten, #qwt-milieu .duo, #qwt-milieu .rij__baan { width: 100%; display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 0 8vw; scroll-padding-inline: 0; scrollbar-width: none; }
  #qwt-milieu .rij__baan, #qwt-milieu .duo { padding: 24px 8vw 36px; }
  #qwt-milieu .kaarten::-webkit-scrollbar, #qwt-milieu .duo::-webkit-scrollbar { display: none; }
  #qwt-milieu .kaarten > .kaart-blok, #qwt-milieu .duo > .kaart-blok, #qwt-milieu .rij__item { flex: 0 0 84vw; scroll-snap-align: center; }
  #qwt-milieu .schuifbalk { display: flex; }
  #qwt-milieu .rij__knoppen { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .kaart-blok { opacity: 1; transform: none; transition: none; }
  #qwt-milieu .markeer::before { transition: none; transform: scaleX(1); }
  #qwt-milieu .verhaal__tekst { opacity: 1; transform: none; transition: none; }
  #qwt-milieu .opening__glow { animation: none; opacity: 1; }
  #qwt-milieu .opening__word span { animation: none; opacity: 1; filter: none; transform: none; background-position: 0% 0%; }
}
#qwt-milieu .verhaal { background: #ffffff; }
#qwt-milieu .verhaal::before, #qwt-milieu .verhaal::after { display: none; }
#qwt-milieu .verhaal .verhaal__tekst { color: #6e6e73; line-height: 1.06; }
#qwt-milieu .verhaal .verhaal__tekst strong { color: #1d1d1f; font-weight: 700; }
#qwt-milieu .onderstreept { text-decoration: underline; text-decoration-color: #20be72; text-decoration-thickness: 0.09em; text-underline-offset: 0.12em; text-decoration-skip-ink: none; }
#qwt-milieu .feiten { background: #000000; color: #f5f5f7; padding: clamp(96px, 14vh, 160px) 0; }
#qwt-milieu .feiten__kop { width: min(calc(100% - 48px), 1160px); margin: 0 auto; font-size: clamp(36px, 4.4vw, 56px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
#qwt-milieu .feiten__accent { color: #20be72; }
#qwt-milieu .feiten__tabs { width: fit-content; margin: 40px 0 0 max(24px, calc((100% - 1160px) / 2)); display: flex; gap: 4px; padding: 5px; border-radius: 980px; background: #1d1d1f; }
#qwt-milieu .feiten__tab { min-height: 44px; padding: 0 20px; border: 0; border-radius: 980px; cursor: pointer; background: transparent; color: #a1a1a6; font: inherit; font-size: 15px; font-weight: 600; transition: background 160ms ease, color 160ms ease; }
#qwt-milieu .feiten__tab:hover { color: #f5f5f7; }
#qwt-milieu .feiten__tab[aria-selected="true"] { background: #20be72; color: #ffffff; }
#qwt-milieu .feiten__baan { --rand: max(24px, calc((100% - 1160px) / 2)); display: flex; gap: clamp(32px, 4vw, 64px); margin-top: clamp(48px, 7vh, 80px); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0 var(--rand) 8px; scroll-padding-inline: var(--rand); scrollbar-width: none; }
#qwt-milieu .feiten__baan::-webkit-scrollbar { display: none; }
#qwt-milieu .feit { flex: 0 0 clamp(260px, 30vw, 420px); scroll-snap-align: start; }
#qwt-milieu .feit[hidden] { display: none; }
#qwt-milieu .feit__zin { font-size: clamp(22px, 2vw, 28px); font-weight: 700; line-height: 1.12; letter-spacing: -0.02em; color: #f5f5f7; }
#qwt-milieu .feit__bron { margin-top: 16px; font-size: 15px; line-height: 1.45; color: #86868b; }
#qwt-milieu .feiten .rij__knop { background: #e8e8ed; color: #1d1d1f; }
#qwt-milieu .feiten .rij__knop:hover { background: #dcdce1; }
#qwt-milieu .feiten .schuifbalk__baan { background: rgba(255,255,255,0.18); }
#qwt-milieu .feiten__baan.past-alles { justify-content: flex-start; }
#qwt-milieu .feiten + .duurzaam { padding-top: clamp(24px, 4vh, 48px); }
#qwt-milieu .slot__kop { position: relative; z-index: 0; margin: 0 0 36px; font-size: clamp(44px, 6.2vw, 92px); font-weight: 700; line-height: 1.16; letter-spacing: -0.035em; color: #1d1d1f; }
#qwt-milieu .slot__acties { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; margin-top: clamp(64px, 9vh, 96px); }
#qwt-milieu .slot__blok { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 88px; padding: 24px 28px; border-radius: 24px; background: #f5f5f7; color: #1d1d1f; text-decoration: none; font-size: clamp(18px, 1.5vw, 21px); font-weight: 600; letter-spacing: -0.01em; transition: background 160ms ease; }
#qwt-milieu .slot__blok:hover { background: #ebebef; }
#qwt-milieu .slot__blok:focus-visible { outline: 2px solid #20be72; outline-offset: 3px; }
#qwt-milieu .slot__pijl { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #000000; color: #ffffff; transition: transform 160ms ease; }
#qwt-milieu .slot__pijl svg { width: 22px; height: 22px; display: block; }
#qwt-milieu .slot__blok:hover .slot__pijl { transform: translateX(3px); }
#qwt-milieu .verhaal--slot { background: #ffffff; }
#qwt-milieu .verhaal--slot .verhaal__wrap { width: min(calc(100% - 48px), 1160px); }
#qwt-milieu .verhaal--slot .verhaal__tekst { max-width: 860px; font-size: clamp(20px, 2vw, 28px); line-height: 1.3; }
#qwt-milieu .slot__kop { line-height: 1.22; }
#qwt-milieu .slot__acties { max-width: 760px; }
@media (max-width: 599px) {
  #qwt-milieu .slot__blok { min-height: 64px; padding: 14px 18px; border-radius: 18px; font-size: 16px; }
  #qwt-milieu .slot__pijl { width: 36px; height: 36px; }
  #qwt-milieu .slot__pijl svg { width: 18px; height: 18px; }
}
@media (min-width: 600px) {
  #qwt-milieu .verhaal:not(.verhaal--slot) .verhaal__tekst { text-align: center; }
}
#qwt-milieu .verhaal--slot { background: #000000; }
#qwt-milieu .verhaal--slot .slot__kop { color: #f5f5f7; }
#qwt-milieu .verhaal--slot .verhaal__tekst { color: #86868b; }
#qwt-milieu .verhaal--slot .verhaal__tekst strong { color: #f5f5f7; }
#qwt-milieu .verhaal--slot .slot__blok { background: #1d1d1f; color: #f5f5f7; }
#qwt-milieu .verhaal--slot .slot__blok:hover { background: #2a2a2d; }
#qwt-milieu .verhaal--slot .slot__pijl { background: #f5f5f7; color: #000000; }
#qwt-milieu .streep { position: relative; display: inline-block; }
#qwt-milieu .streep__lijn { position: absolute; left: -2%; bottom: -0.14em; width: 104%; height: 0.22em; pointer-events: none; overflow: visible; }
#qwt-milieu .streep__lijn path { stroke-dasharray: 100; stroke-dashoffset: 100; }
#qwt-milieu .is-zichtbaar .streep__lijn path { stroke-dashoffset: 0; transition: stroke-dashoffset 0.8s cubic-bezier(.16, 1, .3, 1) 0.4s; }
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .streep__lijn path { stroke-dashoffset: 0; transition: none; }
}
#qwt-milieu .verhaal--slot { position: relative; overflow: hidden; }
#qwt-milieu .verhaal--slot .verhaal__wrap { position: relative; z-index: 1; }
#qwt-milieu .plant { display: none; }
@media (min-width: 1200px) {
  #qwt-milieu .plant { display: block; position: absolute; bottom: 0; right: max(24px, calc((100% - 1160px) / 2)); width: 300px; height: 450px; pointer-events: none; z-index: 0; }
  #qwt-milieu .verhaal--slot .verhaal__tekst, #qwt-milieu .slot__acties { max-width: min(760px, calc(100% - 360px)); }
}
#qwt-milieu .plant svg { width: 100%; height: 100%; overflow: visible; }
#qwt-milieu .plant__geheel { transform-box: view-box; transform-origin: 100px 330px; }
#qwt-milieu .is-zichtbaar .plant__geheel { animation: wiegen 9s ease-in-out 4s infinite; }
@keyframes wiegen { 0% { transform: rotate(0deg); } 25% { transform: rotate(1.2deg); } 75% { transform: rotate(-1.2deg); } 100% { transform: rotate(0deg); } }
#qwt-milieu .plant__geheel--klein { transform: scale(0.6); }
#qwt-milieu .is-zichtbaar .plant__geheel--klein { animation: wiegenKlein 7s ease-in-out 4.6s infinite; }
@keyframes wiegenKlein { 0% { transform: scale(0.6) rotate(0deg); } 25% { transform: scale(0.6) rotate(-1.6deg); } 75% { transform: scale(0.6) rotate(1.6deg); } 100% { transform: scale(0.6) rotate(0deg); } }
#qwt-milieu .lijn { fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
#qwt-milieu .lijn--groen { stroke: #20be72; }
#qwt-milieu .lijn--wit { stroke: #f5f5f7; }
#qwt-milieu .lijn--stengel { stroke-width: 3; }
#qwt-milieu .lijn--nerf { stroke: #f5f5f7; stroke-width: 1.6; opacity: 0.55; }
#qwt-milieu .is-zichtbaar .lijn { animation: tekenen var(--t, 0.6s) cubic-bezier(0.4, 0, 0.3, 1) var(--v, 0s) forwards; }
@keyframes tekenen { to { stroke-dashoffset: 0; } }
#qwt-milieu .vul { fill: var(--vul); fill-opacity: 0; }
#qwt-milieu .is-zichtbaar .vul { animation: tekenen var(--t, 0.6s) cubic-bezier(0.4, 0, 0.3, 1) var(--v, 0s) forwards, vullen 0.9s ease-out calc(var(--v, 0s) + var(--t, 0.6s)) forwards; }
@keyframes vullen { to { fill-opacity: var(--fo, 1); } }
#qwt-milieu .stip { opacity: 0; }
#qwt-milieu .is-zichtbaar .stip { animation: stipop 0.5s ease-out var(--v) forwards; }
@keyframes stipop { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #qwt-milieu .is-zichtbaar .plant__geheel, #qwt-milieu .is-zichtbaar .plant__geheel--klein, #qwt-milieu .is-zichtbaar .lijn, #qwt-milieu .is-zichtbaar .stip { animation: none; }
  #qwt-milieu .lijn { stroke-dashoffset: 0; }
  #qwt-milieu .stip { opacity: 1; }
  #qwt-milieu .vul { fill-opacity: var(--fo, 1); }
  #qwt-milieu .is-zichtbaar .vul { animation: none; }
}
@media (max-width: 699px) {
  #qwt-milieu .verhaal--slot { padding-bottom: 0; }
  #qwt-milieu .plant { display: block; width: clamp(200px, 60%, 260px); aspect-ratio: 2 / 3; margin: clamp(48px, 8vh, 80px) 8vw 0 auto; pointer-events: none; }
}
@media (min-width: 700px) and (max-width: 1199px) {
  #qwt-milieu .verhaal--slot { --plant-b: clamp(220px, 34vw, 340px); }
  #qwt-milieu .plant { display: block; position: absolute; bottom: 0; right: 24px; margin: 0; width: var(--plant-b); height: calc(var(--plant-b) * 1.5); pointer-events: none; z-index: 0; }
  #qwt-milieu .slot__acties { grid-template-columns: 1fr; max-width: min(480px, calc(100% - var(--plant-b) - 32px)); }
  #qwt-milieu .verhaal--slot .verhaal__tekst { max-width: calc(100% - var(--plant-b) - 32px); }
}
@media (min-width: 700px) and (max-width: 799px) {
  #qwt-milieu .verhaal--slot .verhaal__tekst { max-width: calc(100% - var(--plant-b) + 32px); }
}
@media (min-width: 700px) and (max-width: 759px) {
  #qwt-milieu .plant { right: 8vw; }
}
@media (max-width: 759px) {
  #qwt-milieu .verhaal__wrap, #qwt-milieu .verhaal--slot .verhaal__wrap, #qwt-milieu .feiten__kop, #qwt-milieu .kringloop__kop, #qwt-milieu .rij__kop, #qwt-milieu .rij__knoppen { width: calc(100% - 16vw); }
  #qwt-milieu .feiten__tabs { margin-left: 8vw; }
  #qwt-milieu .feiten__baan { --rand: 8vw; }
}

/* ── Aanvullingen voor gebruik binnen het thema (puur toevoegend) ── */
#qwt-milieu { line-height: normal; text-align: left; }
#qwt-milieu h1, #qwt-milieu h2, #qwt-milieu h3 { font-family: inherit; }
#qwt-milieu h1, #qwt-milieu h2, #qwt-milieu h3, #qwt-milieu h4, #qwt-milieu h5, #qwt-milieu h6 { color: inherit; }
/* Het thema gebruikt <i> voor iconen (eigen iconenfont); hier is het gewone cursieve tekst */
#qwt-milieu i { font-family: inherit !important; font-style: italic; }
/* Het thema geeft knoppen padding; de ronde pijlknoppen hebben die niet nodig (anders is er geen ruimte voor het pijltje) */
#qwt-milieu .rij__knop { padding: 0; }
#qwt-milieu h3 { margin: 0; }
#qwt-milieu button { font-family: inherit; }
#qwt-milieu a { text-decoration: none; }
#qwt-milieu .onderstreept { text-decoration: underline; text-decoration-color: #20be72; text-decoration-thickness: 0.09em; text-underline-offset: 0.12em; text-decoration-skip-ink: none; }
#qwt-milieu svg { max-width: none; }
/* Engels: het woord "Environment" is langer dan "Milieu", daarom een kleiner lettertype */
#qwt-milieu.qwt-en .opening__word span { font-size: clamp(40px, 11vw, 190px); }
/* Zonder script: alles gewoon zichtbaar */
@media (scripting: none) {
  #qwt-milieu .verhaal__tekst, #qwt-milieu .kaart-blok { opacity: 1; transform: none; }
  #qwt-milieu .opening { height: auto; }
  #qwt-milieu .opening__stage { position: relative; height: 70vh; }
}
