/* ame.tdgdigital.com — "Uit de mist." Huisstijl Slokker Bouwgroep: blauw #0795D2 + inkt, koppen in Eurostile.
   Motief: het peilmerk (▽ op een lijn) van de bouwtekening. Maten in rem; vanaf 1440 px schaalt alles mee. */
@font-face{font-family:"SBG Euro";src:url(/fonts/eurostile6.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Jakarta";src:url(/fonts/jakarta.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --inkt:#10202b; --inkt-2:#1b3242; --papier:#f5f3ef; --mist:#e7edf0; --beton:#cfd5d8; --lijn:#b9c3c9;
  --blauw:#0795d2; --blauw-tekst:#05699a; --blauw-diep:#0a5d8c; --wit:#fff; --zacht:#5b6a74;
  --rand:max(1.25rem,5vw); --kop-h:4.75rem;
  --disp:"SBG Euro","Arial Black",Arial,sans-serif; --tekst:"Jakarta",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--kop-h)}
@media (min-width:1440px){html{font-size:clamp(100%,1.1111vw,200%)}:where(button,input,select,textarea){font-size:.8333rem}}
body{margin:0;background:var(--papier);color:var(--inkt);font-family:var(--tekst);font-size:1.125rem;line-height:1.6}
img,video,svg{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
p,li,dd{hyphens:manual;overflow-wrap:break-word;-webkit-hyphenate-limit-before:4;-webkit-hyphenate-limit-after:4;hyphenate-limit-chars:9 4 4}
h1,h2,h3{hyphens:manual;overflow-wrap:normal;text-wrap:balance;margin:0}
p{margin:0 0 1em}
a{color:var(--blauw-tekst);text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--blauw);outline-offset:3px}
a[href^=mailto],a[href^=tel]{hyphens:none;white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--papier);padding:.5rem 1rem}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rand{padding-inline:var(--rand)}
.ic{width:1.25em;height:1.25em;flex:none}
.klein{font-size:.9rem;color:var(--zacht)}

/* ---------- knoppen */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:3.25rem;padding:.8rem 1.5rem;border:0;border-radius:.25rem;
  background:var(--blauw);color:var(--wit);font:600 1.05rem/1.2 var(--tekst);text-decoration:none;cursor:pointer;transition:background-color .2s}
.knop:hover{background:var(--blauw-diep)}
.knop-klein{min-height:2.75rem;padding:.5rem 1.1rem;font-size:.95rem}
.knop-tekst{display:inline-flex;align-items:center;gap:.45em;min-height:2.75rem;font-weight:600;color:inherit;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:.1rem}
.knop-tekst:hover .ic{transform:translateX(.2rem)}.knop-tekst .ic{transition:transform .2s}
.knop-lijn{display:inline-flex;align-items:center;gap:.5em;min-height:2.75rem;padding:.5rem 1.1rem;border:2px solid currentColor;border-radius:.25rem;
  background:none;color:inherit;font:600 .98rem/1.2 var(--tekst);text-decoration:none;cursor:pointer}
.knop-lijn:hover{background:var(--inkt);color:var(--wit);border-color:var(--inkt)}
.knop-rond{display:inline-grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;border:2px solid currentColor;background:none;color:inherit;cursor:pointer}
.knop-rond:hover{background:var(--inkt);color:var(--wit)}
.ic-terug{transform:scaleX(-1)}

/* ---------- motief: peilmerk */
.peil{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;font:600 .95rem/1.2 var(--tekst);color:var(--blauw-tekst);letter-spacing:.01em}
.peil::after{content:"";height:1px;width:min(9rem,20vw);background:currentColor;opacity:.5}
.peil-teken{width:1.15rem;height:auto;aspect-ratio:22/14;fill:var(--blauw)}
.peil-licht{color:#bfe7fa}.peil-licht .peil-teken{fill:#bfe7fa}
.peil a{color:inherit;text-decoration:none}
.sectie-kop{font:700 clamp(2.1rem,4.9vw,4.8rem)/1.04 var(--disp);letter-spacing:-.008em;margin-bottom:1.4rem;max-width:22ch}
.lead{font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1.55;max-width:48rem}

/* ---------- kop */
.kop{position:fixed;inset:0 0 auto;z-index:50;height:var(--kop-h);display:flex;align-items:center;gap:1.5rem;padding-inline:var(--rand);
  background:var(--papier);color:var(--inkt);border-bottom:1px solid rgba(16,32,43,.08);transition:background-color .35s,color .35s,border-color .35s}
.kop-merk{display:flex;align-items:center;gap:1rem;color:inherit;text-decoration:none;min-height:2.75rem;flex-shrink:0}
.kop-logo{width:auto;height:1.85rem}
.kop-logo-wit{display:none}
.kop-naam{display:flex;flex-direction:column;font:700 1.15rem/1 var(--disp);letter-spacing:-.01em;padding-left:1rem;border-left:1px solid currentColor}
.kop-naam small{font:500 .78rem/1.3 var(--tekst);letter-spacing:.02em;opacity:.75}
.kop-nav{margin-left:auto}
.kop-nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.kop-nav a{display:inline-flex;align-items:center;min-height:2.75rem;min-width:2.75rem;padding:0 .7rem;color:inherit;text-decoration:none;font-weight:600;font-size:.98rem}
.kop-nav a:hover{color:var(--blauw)}
.kop-updates{flex-shrink:0}
.kop-menu{display:none;flex-shrink:0;width:2.9rem;height:2.9rem;margin-left:auto;border:0;background:none;color:inherit;cursor:pointer;position:relative}
.kop-menu-streep,.kop-menu-streep::before,.kop-menu-streep::after{position:absolute;left:.65rem;right:.65rem;height:2px;background:currentColor;content:"";transition:transform .25s}
.kop-menu-streep{top:50%}.kop-menu-streep::before{left:0;right:0;top:-.42rem}.kop-menu-streep::after{left:0;right:0;top:.42rem}
.kop-menu[aria-expanded=true] .kop-menu-streep{background:transparent}
.kop-menu[aria-expanded=true] .kop-menu-streep::before{transform:translateY(.42rem) rotate(45deg)}
.kop-menu[aria-expanded=true] .kop-menu-streep::after{transform:translateY(-.42rem) rotate(-45deg)}
.kop-film:not(.kop-vast):not(.kop-open){background:linear-gradient(rgba(10,20,28,.55),rgba(10,20,28,0));color:var(--wit);border-color:transparent}
.kop-film:not(.kop-vast):not(.kop-open) .kop-logo-wit{display:block}
.kop-film:not(.kop-vast):not(.kop-open) .kop-logo-blauw{display:none}
.kop-film:not(.kop-vast):not(.kop-open) .kop-nav a:hover{color:#bfe7fa}
.lade{position:fixed;inset:var(--kop-h) 0 0;background:var(--papier);color:var(--inkt);padding:1.5rem var(--rand) 2rem;overflow-y:auto}
.lade ul{list-style:none;margin:0 0 1.5rem;padding:0}
.lade a{display:flex;align-items:center;min-height:3.4rem;border-bottom:1px solid var(--lijn);color:inherit;text-decoration:none;font:700 1.45rem/1.1 var(--disp)}
.lade li:last-child a{font:600 1.1rem/1.2 var(--tekst);color:var(--blauw-tekst)}
@media (max-width:1180px){.kop-nav{display:none}.kop-menu{display:block}.kop-updates{margin-left:auto}.kop-menu{margin-left:0}}
@media (max-width:560px){.kop-updates{display:none}.kop-menu{margin-left:auto}.kop-naam{font-size:1rem;padding-left:.75rem}.kop-logo{height:1.45rem}.kop-merk{gap:.75rem}}
@media (max-width:359px){.kop-naam small{display:none}.kop-logo{height:1.25rem}}

/* ---------- hero */
.hero{position:relative;min-height:max(100svh,36rem);background:var(--inkt);color:var(--wit);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero-beeld{position:absolute;inset:0;z-index:-1}
.hero-poster,.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero-film{opacity:0;transition:opacity .8s}
.hero-film.speelt{opacity:1}
.hero-beeld::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,18,26,.78) 0%,rgba(8,18,26,.45) 38%,rgba(8,18,26,0) 62%),linear-gradient(0deg,rgba(8,18,26,.7) 0%,rgba(8,18,26,0) 45%)}
.hero-onderschrift{position:absolute;right:var(--rand);top:calc(var(--kop-h) + 1.25rem);margin:0;font-size:.92rem;font-weight:600;z-index:1;
  padding:.35rem .75rem;background:rgba(8,18,26,.55);border-radius:.2rem}
.hero-onderschrift span{display:none}
.hero-onderschrift[data-staat=oud] [data-fase=oud],.hero-onderschrift[data-staat=nieuw] [data-fase=nieuw]{display:inline}
.hero-onderschrift:not([data-staat]){display:none}
.hero-onderschrift em{font-style:normal;opacity:.75;font-weight:500}
.hero-opnieuw{position:absolute;right:var(--rand);top:calc(var(--kop-h) + 4.2rem);z-index:1;min-height:2.75rem;padding:.4rem .9rem;border:1px solid rgba(255,255,255,.6);
  border-radius:.2rem;background:rgba(8,18,26,.35);color:var(--wit);font:600 .9rem var(--tekst);cursor:pointer}
.hero-tekst{position:relative;padding:0 var(--rand) clamp(2.5rem,7svh,5.5rem);max-width:min(100%,60rem)}
.hero-boven{font-weight:600;font-size:1rem;letter-spacing:.02em;color:#bfe7fa;margin-bottom:.9rem}
.hero-titel{font:700 clamp(3rem,8.4vw,9.2rem)/.95 var(--disp);letter-spacing:-.012em;margin:0 0 1.4rem}
.hero-titel .w{display:inline-block;white-space:nowrap}
.hero-titel,.hero-lead,.hero-boven,.hero-knoppen{opacity:0;transform:translateY(1.2rem);transition:opacity .9s,transform .9s}
.hero.toon .hero-titel,.hero.toon .hero-lead,.hero.toon .hero-boven,.hero.toon .hero-knoppen{opacity:1;transform:none}
.hero.toon .hero-titel{transition-delay:.15s}.hero.toon .hero-lead{transition-delay:.35s}.hero.toon .hero-knoppen{transition-delay:.55s}
.hero-lead{font-size:clamp(1.12rem,1.45vw,1.4rem);max-width:38rem;margin-bottom:1.8rem;text-wrap:pretty}
.hero-knoppen{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem}
.hero-nu{position:absolute;right:var(--rand);bottom:clamp(2.5rem,7svh,5.5rem);display:grid;gap:.15rem;width:min(21rem,30vw);padding:1.1rem 1.25rem;
  background:var(--papier);color:var(--inkt);text-decoration:none;border-radius:.25rem;border-top:4px solid var(--blauw)}
.hero-nu:hover{background:var(--wit)}
.hero-nu-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--blauw-tekst)}
.hero-nu-kop{font:700 1.3rem/1.15 var(--disp);letter-spacing:-.01em}
.hero-nu-datum{font-size:.9rem;color:var(--zacht)}
.stip{width:.6rem;height:.6rem;border-radius:50%;background:var(--blauw);flex:none;box-shadow:0 0 0 0 rgba(7,149,210,.6);animation:stip 2.2s infinite}
@keyframes stip{70%{box-shadow:0 0 0 .55rem rgba(7,149,210,0)}100%{box-shadow:0 0 0 0 rgba(7,149,210,0)}}
/* telefoon en staande tablet: film bovenin, tekst eronder op effen grond */
@media (max-width:760px),(orientation:portrait) and (max-width:1100px){
  .hero{flex-direction:column;align-items:stretch;min-height:0}
  .hero-beeld{position:relative;height:min(62svh,120vw);flex:none}
  .hero-beeld::after{background:linear-gradient(0deg,var(--inkt) 0%,rgba(16,32,43,0) 28%),linear-gradient(180deg,rgba(8,18,26,.55) 0%,rgba(8,18,26,0) 30%)}
  .hero-poster,.hero-film{object-position:62% 50%}
  .hero-onderschrift{top:auto;bottom:1.25rem;right:auto;left:var(--rand);font-size:.85rem}
  .hero-opnieuw{top:calc(var(--kop-h) + .75rem);bottom:auto;right:var(--rand);font-size:.85rem}
  .hero-tekst{padding-top:1.25rem;padding-bottom:1.75rem;max-width:none}
  .hero-titel .w{display:block}
  .hero-nu{position:relative;right:auto;bottom:auto;width:auto;margin:0 var(--rand) 2.25rem}
}
@media (max-width:760px){.hero-titel{font-size:calc((100vw - 2*var(--rand))/5.2);margin-bottom:1.1rem}.hero-knoppen .knop{width:100%}}
@media (orientation:landscape) and (max-height:520px){
  .hero{min-height:100svh}.hero-titel{font-size:min(12vw,19svh)}.hero-lead{display:none}.hero-nu{display:none}.hero-tekst{padding-bottom:1.25rem}
  .hero-onderschrift,.hero-opnieuw{display:none}
}

/* ---------- het plan */
.plan{padding:clamp(4.5rem,10vw,9rem) 0 clamp(4rem,8vw,7rem);background:var(--papier)}
.aanzicht{margin:clamp(2.5rem,5vw,4.5rem) 0 0}
.aanzicht-beeld{margin:0 var(--rand);position:relative;overflow:hidden}
.ab-doek{position:relative}
.ab-doek img{width:100%;height:auto;mix-blend-mode:multiply}
.aanzicht-beeld figcaption{font-size:.88rem;color:var(--zacht);margin-top:.6rem}
.geb-pin{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:3.4rem;height:3.4rem;border-radius:50%;border:3px solid var(--wit);
  background:var(--inkt);color:var(--wit);font:700 1.35rem/1 var(--disp);cursor:pointer;display:grid;place-items:center;box-shadow:0 .4rem 1.2rem rgba(16,32,43,.25);
  transition:background-color .2s,transform .2s}
.geb-pin[aria-pressed=true]{background:var(--blauw)}
.geb-pin:hover{transform:scale(1.08)}
.geb-pin::after{content:"";position:absolute;inset:-.55rem;border-radius:50%;border:2px solid var(--blauw);opacity:0}
.geb-pin[aria-pressed=true]::after{opacity:.55;animation:pin 2.4s infinite}
@keyframes pin{0%{transform:scale(.85);opacity:.6}100%{transform:scale(1.35);opacity:0}}
.geb-kaarten{padding:1.75rem var(--rand) 0}
.geb-kaart{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:.2rem 2.5rem;align-items:start;max-width:62rem;animation:kaart-in .45s}
@keyframes kaart-in{from{opacity:0;transform:translateY(.6rem)}}
.geb-getal{grid-row:1/3;display:flex;flex-direction:column;margin:0;font-weight:600;color:var(--blauw-tekst)}
.geb-getal span{font:700 clamp(5rem,11vw,9rem)/.85 var(--disp);letter-spacing:-.01em;color:var(--inkt)}
.geb-kaart h3{font:700 1.5rem/1.2 var(--disp);margin:.4rem 0 .5rem}
.geb-kaart p:last-child{font-size:1.15rem;max-width:36rem}
.plan-twee{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(4rem,8vw,7rem)}
.plan-film{margin:0;position:relative;overflow:hidden;border-radius:.2rem}
.plan-film::before{content:"";display:block;padding-top:71.4%}
.plan-poster,.plan-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plan-film figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem .7rem;color:var(--wit);font-size:.85rem;background:linear-gradient(0deg,rgba(8,18,26,.65),transparent)}
.plan-tekst p{font-size:1.15rem}
.programma{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-weight:600}
.programma li{display:flex;align-items:center;gap:.5rem}
.programma li::before{content:"";width:.7rem;height:.45rem;background:var(--blauw);clip-path:polygon(0 0,100% 0,50% 100%)}
.lus-video{opacity:0;transition:opacity .6s}
[data-lus].speelt{opacity:1}
.plan-video,.film-lus{opacity:0;transition:opacity .8s}
@media (max-width:760px){
  .ab-doek{width:175%;margin-left:-38%}
  .geb-pin{width:3rem;height:3rem;font-size:1.2rem}
  .geb-kaart{grid-template-columns:1fr;gap:.2rem}
  .geb-getal{grid-row:auto}
  .plan-twee{grid-template-columns:1fr}
}

/* ---------- de bouw (signatuur) */
.bouw{position:relative;overflow-x:clip;padding:clamp(4.5rem,9vw,8rem) 0 clamp(3.5rem,7vw,6rem);background-color:var(--mist);
  background-image:linear-gradient(rgba(5,105,154,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(5,105,154,.07) 1px,transparent 1px);
  background-size:2rem 2rem}
.bouw-kop{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.doorsnede{position:relative;margin:0 var(--rand)}
.ds-stempel{position:absolute;left:0;top:0;display:grid;gap:.2rem;pointer-events:none;z-index:1}
.ds-datum{font:700 clamp(1.6rem,3.4vw,3.3rem)/1 var(--disp);letter-spacing:-.01em}
.ds-fase{font-weight:600;color:var(--blauw-tekst);font-size:clamp(.95rem,1.3vw,1.15rem)}
.ds-svg{width:100%;height:auto;aspect-ratio:1200/640;overflow:hidden}
@media (max-width:599px){.ds-svg{aspect-ratio:760/620}.ds-tekst{font-size:22px}.ds-tekst-klein{font-size:18px}.tl-moment{width:.8rem;height:.8rem;border-width:2px}}
.ds-arcering{stroke:rgba(16,32,43,.16);stroke-width:1.2}
.ds-ondergrond{opacity:.9}
.ds-peil{stroke:var(--inkt);stroke-width:2.2}
.ds-peilmerk path{fill:var(--blauw)}
.ds-peilmerk text,.ds-label{font:600 15px var(--tekst);fill:var(--zacht)}
.ds-mens circle,.ds-mens path{fill:none;stroke:var(--inkt);stroke-width:2;stroke-linecap:round}
.ds-mens circle{fill:var(--inkt)}
/* getekend (gebeurd) vs gestippeld (nog te gebeuren) */
.ds-lijn{fill:none;stroke:var(--inkt);stroke-width:2}
.ds-vlak{fill:#fbfaf7;stroke:var(--inkt);stroke-width:2}
.ds-vlak-oud{fill:#d9cfc6;stroke:var(--inkt);stroke-width:2}
.ds-raam{fill:#4f6270}
.ds-raam-leeg{fill:#2a3842}
.ds-asbest-lijn{stroke:rgba(16,32,43,.32);stroke-width:2.2}
.ds-gevel-b{fill:#e1cfa9;stroke:var(--inkt);stroke-width:2}
.ds-gevel-a{fill:#6f625c;stroke:var(--inkt);stroke-width:2}
.ds-ruw{fill:#c9cdcf;stroke:var(--inkt);stroke-width:2}
.ds-toekomst{fill:none;stroke:var(--blauw);stroke-width:1.6;stroke-dasharray:7 6}
.ds-toekomst-vol{fill:rgba(7,149,210,.1);stroke:var(--blauw);stroke-width:1.6;stroke-dasharray:7 6}
.ds-toekomst-gevel{fill:rgba(7,149,210,.26);stroke:var(--blauw);stroke-width:1.6;stroke-dasharray:7 6}
.ds-giek{fill:none;stroke:#e9b400;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.ds-rups{fill:var(--inkt)}
.ds-toekomst-raam{fill:none;stroke:var(--blauw);stroke-width:1;stroke-dasharray:3 3;opacity:.6}
.ds-bron{stroke:var(--blauw-tekst);stroke-width:3;stroke-linecap:round}
.ds-paal{stroke:#7a8790;stroke-width:9}
.ds-fundering{fill:#8f989d;stroke:var(--inkt);stroke-width:2}
.ds-puin{fill:#b9aca1;stroke:var(--inkt);stroke-width:1.6}
.ds-kraan{fill:none;stroke:#e9b400;stroke-width:3}
.ds-kraan-vlak{fill:#e9b400}
.ds-kraan.toekomst{stroke:var(--blauw);stroke-dasharray:6 5}
.ds-boom{fill:#5f8a5a;stroke:var(--inkt);stroke-width:1.5}
.ds-boom-stam{stroke:var(--inkt);stroke-width:3}
.ds-tekst{font:700 18px var(--disp);fill:var(--inkt)}
.ds-tekst-klein{font:600 14px var(--tekst);fill:var(--zacht)}
/* tijdlijn */
.tijdlijn{position:relative;height:4.5rem;margin:1.5rem 0 .5rem}
.tijdlijn::before{content:"";position:absolute;left:0;right:0;top:1.6rem;height:4px;border-radius:2px;
  background:linear-gradient(90deg,var(--inkt) var(--vandaag,50%),transparent var(--vandaag,50%)),repeating-linear-gradient(90deg,var(--blauw) 0 8px,transparent 8px 14px)}
.tl-momenten{list-style:none;margin:0;padding:0;position:absolute;inset:0;pointer-events:none}
.tl-moment{position:absolute;left:calc(var(--t)*100%);top:1.6rem;translate:-50% -45%;width:1rem;height:1rem;padding:0;border-radius:50%;border:3px solid var(--mist);
  background:var(--inkt);cursor:pointer;pointer-events:auto;z-index:2}
.tl-moment.tl-plan,.tl-moment.tl-verwacht{background:var(--mist);border:2px dashed var(--blauw)}
.tl-moment.actief{background:var(--blauw);box-shadow:0 0 0 4px rgba(7,149,210,.25)}
.tl-jaren{position:absolute;left:0;right:0;top:2.8rem;height:1.4rem;font:600 .85rem/1 var(--tekst);color:var(--zacht)}
.tl-jaren span{position:absolute;left:calc(var(--t)*100%);border-left:1px solid var(--lijn);padding-left:.35rem}
.tl-vandaag{position:absolute;left:var(--vandaag,50%);top:.1rem;bottom:1.9rem;width:2px;background:var(--inkt);font-style:normal}
.tl-vandaag span{position:absolute;bottom:100%;left:50%;translate:-50% -.15rem;font:600 .8rem/1 var(--tekst);white-space:nowrap}
.tl-schuif{-webkit-appearance:none;appearance:none;position:absolute;left:calc(-1*min(1.4rem,var(--rand) - 2px));width:calc(100% + 2*min(1.4rem,var(--rand) - 2px));top:0;height:3.2rem;margin:0;background:transparent;cursor:grab;z-index:3;touch-action:pan-y}
.tl-schuif::-webkit-slider-runnable-track{height:3.2rem;background:transparent}
.tl-schuif::-moz-range-track{height:3.2rem;background:transparent}
.tl-schuif::-webkit-slider-thumb{-webkit-appearance:none;width:2.8rem;height:3.2rem;border:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 64'%3E%3Cpath d='M28 2v16' stroke='%2310202b' stroke-width='3'/%3E%3Cpath d='M28 18c-9 0-13 7-13 13 0 8 6 13 13 13 6 0 10-4 11-9' fill='none' stroke='%2310202b' stroke-width='6' stroke-linecap='round'/%3E%3Ccircle cx='28' cy='14' r='6' fill='%230795d2'/%3E%3C/svg%3E") center/contain no-repeat;cursor:grab}
.tl-schuif::-moz-range-thumb{width:2.8rem;height:3.2rem;border:0;border-radius:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 64'%3E%3Cpath d='M28 2v16' stroke='%2310202b' stroke-width='3'/%3E%3Cpath d='M28 18c-9 0-13 7-13 13 0 8 6 13 13 13 6 0 10-4 11-9' fill='none' stroke='%2310202b' stroke-width='6' stroke-linecap='round'/%3E%3Ccircle cx='28' cy='14' r='6' fill='%230795d2'/%3E%3C/svg%3E") center/contain no-repeat}
.tl-schuif:focus-visible{outline:none}
.tl-schuif:focus-visible::-webkit-slider-thumb{outline:3px solid var(--blauw);outline-offset:2px}
.tl-bediening{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem}
.tl-bediening [data-tl-stap="1"]{margin-left:auto}
.moment{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;margin-top:clamp(2rem,4vw,3rem)}
.moment-tekst{border-left:4px solid var(--blauw);padding-left:clamp(1rem,2vw,1.75rem);min-height:12rem}
.moment-datum{font-weight:600;color:var(--blauw-tekst);margin-bottom:.4rem}
.moment-datum .label-plan{display:inline-block;margin-left:.5rem;padding:.05rem .45rem;border:1.5px dashed var(--blauw);border-radius:.2rem;font-size:.82rem;color:var(--blauw-tekst)}
.moment-kop{font:700 clamp(1.5rem,2.4vw,2.2rem)/1.1 var(--disp);letter-spacing:-.01em;margin-bottom:.8rem}
.moment-tekst p{max-width:44rem}
.moment-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0}
.moment-links a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;font-weight:600}
.moment-foto{margin:0;position:relative;overflow:hidden;border-radius:.2rem;background:var(--beton)}
.moment-foto::before{content:"";display:block;padding-top:66%}
.moment-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bouw-voet{margin-top:clamp(2rem,4vw,3rem)}
.updates{margin-top:1rem;border-top:1px solid var(--lijn)}
.updates summary{display:flex;align-items:center;min-height:3.25rem;font-weight:600;cursor:pointer}
.updates ul{list-style:none;margin:0;padding:0;columns:2 22rem;column-gap:3rem}
.updates a{display:flex;align-items:center;gap:.75rem;min-height:2.9rem;color:inherit;text-decoration:none;border-bottom:1px solid var(--lijn);break-inside:avoid}
.updates a span{font:700 1rem var(--disp);min-width:9.5rem}
@media (max-width:420px){.updates a{flex-wrap:wrap;column-gap:.6rem;padding:.4rem 0}.updates a span{min-width:0;flex-basis:100%}}
.updates a .ic{margin-left:auto;color:var(--blauw)}
@media (max-width:760px){
  .ds-stempel{position:static;margin-bottom:.4rem}
  .moment{grid-template-columns:1fr}
  .moment-tekst{min-height:0}
  .tl-bediening{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem}
  .tl-bediening [data-tl-stap="-1"]{grid-area:1/1}.tl-bediening [data-tl-afspelen]{grid-area:1/2;justify-content:center}
  .tl-bediening [data-tl-stap="1"]{grid-area:1/3;margin-left:0}.tl-bediening [data-tl-vandaag-knop]{grid-area:2/1/3/4;justify-content:center}
}

/* ---------- film */
.film{background:var(--inkt);color:var(--wit);padding:clamp(4.5rem,9vw,8rem) 0}
.film .lead{color:#d5e1e8}
.film-speler{position:relative;margin:clamp(2rem,4vw,3rem) var(--rand) 0;overflow:hidden;border-radius:.2rem;background:#000}
.film-speler::before{content:"";display:block;padding-top:56.25%}
.film-poster,.film-lus,.film-echt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-echt{object-fit:contain;background:#000}
.film-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1.1rem;border:0;background:linear-gradient(0deg,rgba(8,18,26,.55),rgba(8,18,26,.05));
  color:var(--wit);font:700 clamp(1.15rem,2vw,1.6rem)/1.2 var(--disp);text-align:left;cursor:pointer}
.film-start small{display:block;font:500 .95rem var(--tekst);opacity:.85}
.film-start-rond{display:grid;place-items:center;width:clamp(4rem,7vw,6rem);height:clamp(4rem,7vw,6rem);border-radius:50%;background:var(--blauw);transition:transform .25s}
.film-start-rond svg{width:42%;fill:var(--wit);margin-left:8%}
.film-start:hover .film-start-rond{transform:scale(1.07)}
.film-speler figcaption{position:absolute;left:1rem;bottom:.7rem;font-size:.85rem;opacity:.85;pointer-events:none}
.film-speler.speelt figcaption{display:none}
.film-leeg{margin-top:clamp(3rem,6vw,5rem)}
.film-leeg h3{font:700 clamp(1.4rem,2.2vw,2rem)/1.1 var(--disp);margin-bottom:1.2rem}
.leeg-strook{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.2rem)}
.leeg-strook img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:grayscale(.35);border-radius:.15rem}
@media (max-width:760px){.leeg-strook{grid-template-columns:repeat(3,72vw);overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1*var(--rand));padding-right:var(--rand)}
  .leeg-strook li{scroll-snap-align:start}.film-start{flex-direction:column;text-align:center;gap:.6rem}.film-start small{font-size:.85rem}}

/* ---------- courant */
.courant{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--papier)}
.cou-kaarten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3.5vw,3.5rem);margin-top:clamp(1rem,2vw,2rem)}
.cou-link{display:grid;color:inherit;text-decoration:none}
.cou-link figure{margin:0 0 1.2rem;overflow:hidden;border-radius:.2rem;position:relative}
.cou-link figure::before{content:"";display:block;padding-top:62%}
.cou-link figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cou-link:hover figure img{transform:scale(1.03)}
.cou-nr{display:flex;align-items:baseline;gap:.75rem;margin:0 0 .4rem;font-weight:600;color:var(--blauw-tekst)}
.cou-nr span{font:700 clamp(3rem,5vw,4.5rem)/.8 var(--disp);color:var(--blauw)}
.cou-link h3{font:700 clamp(1.35rem,2vw,1.85rem)/1.15 var(--disp);letter-spacing:-.015em;margin-bottom:.6rem;max-width:28ch}
.cou-meta{color:var(--zacht);font-size:1rem}
.cou-link .knop-tekst{justify-self:start}
.citaat{margin:clamp(4rem,8vw,7rem) 0 0}
.citaat blockquote{margin:0;position:relative;padding-top:2.2rem}
.citaat blockquote::before{content:"";position:absolute;left:0;top:0;width:2.6rem;height:1.6rem;background:var(--blauw);clip-path:polygon(0 0,100% 0,50% 100%)}
.citaat p{font:700 clamp(1.9rem,4.6vw,4.4rem)/1.08 var(--disp);letter-spacing:-.01em;max-width:24ch;margin:0 0 1.2rem;text-wrap:balance;hyphens:manual}
.citaat figcaption{font-size:1.1rem}
@media (max-width:760px){.cou-kaarten{grid-template-columns:1fr}}

/* ---------- buren */
.buren{background:var(--blauw-diep);color:var(--wit);padding:clamp(4.5rem,9vw,8rem) 0}
.buren .lead{color:#e3f2fa}
.buren-binnen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.nu-bord{margin-top:2rem;padding:1.25rem 1.4rem;border:1.5px solid rgba(255,255,255,.45);border-radius:.25rem}
.nu-regel{display:flex;align-items:center;gap:.7rem;margin:0 0 .55rem;font-weight:600;font-size:1.08rem}
.nu-regel .stip{background:#fff;animation:none}
.nu-regel.aan .stip{background:#9ff0b0;box-shadow:0 0 0 0 rgba(159,240,176,.6);animation:stip-groen 2.2s infinite}
@keyframes stip-groen{70%{box-shadow:0 0 0 .55rem rgba(159,240,176,0)}100%{box-shadow:none}}
.nu-regel.uit .stip{background:transparent;border:2px solid #fff}
.buren-plan{margin:1.5rem 0 0}.buren-plan img{width:100%;border-radius:.25rem;background:#fff}.buren-plan figcaption{font-size:.9rem;color:#cfe6f3;margin-top:.6rem}
.nu-klein{font-size:.9rem;color:#cfe6f3;margin:.8rem 0 0}
.last-keuzes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.last-keuze{width:100%;min-height:6.2rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:1rem 1.05rem;
  border:1.5px solid rgba(255,255,255,.55);border-radius:.25rem;background:transparent;color:var(--wit);font:600 1.05rem/1.2 var(--tekst);text-align:left;cursor:pointer;transition:background-color .2s,color .2s}
.last-keuze .ic{width:1.7rem;height:1.7rem}
.last-keuze:hover{background:rgba(255,255,255,.1)}
.last-keuze[aria-pressed=true]{background:var(--wit);color:var(--inkt);border-color:var(--wit)}
.last-keuze[aria-pressed=true] .ic{color:var(--blauw)}
.last-antwoord{margin-top:1rem;padding:clamp(1.25rem,2.5vw,2rem);background:var(--wit);color:var(--inkt);border-radius:.25rem;animation:kaart-in .4s}
.last-antwoord h3{font:700 1.5rem/1.15 var(--disp);margin-bottom:.7rem}
.last-actie{display:grid;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--lijn)}
.last-actie p{margin:0}
.last-actie .knop{justify-self:start}
.last-actie .nood{font-weight:700;color:#a3261b}
.last-foto{margin-top:1rem;width:100%;border-radius:.2rem}
@media (max-width:1000px){.buren-binnen{grid-template-columns:1fr}}
@media (max-width:520px){.last-keuzes{grid-template-columns:repeat(2,minmax(0,1fr))}.last-keuze{min-height:5.4rem}}

/* ---------- contact */
.contact{padding:clamp(4.5rem,9vw,8rem) 0;background:var(--papier);border-top:1px solid rgba(16,32,43,.08)}
.contact-binnen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.aanmeld-form{display:grid;gap:.4rem;margin-top:1.5rem;max-width:34rem}
.aanmeld-form label{font-weight:600;margin-top:.6rem}
.aanmeld-form label small{font-weight:400;color:var(--zacht)}
.aanmeld-form input{min-height:3.25rem;padding:.6rem .9rem;border:1.5px solid var(--inkt);border-radius:.2rem;background:var(--wit);font:1.05rem var(--tekst);color:var(--inkt)}
.aanmeld-form .knop{justify-self:start;margin-top:1rem}
.aanmeld-ok{margin-top:1rem;padding:1rem 1.2rem;background:var(--mist);border-left:4px solid var(--blauw)}
.aanmeld-ok small{display:block;color:var(--zacht);margin-top:.35rem}
.aanmeld-fout{color:#a3261b;font-weight:600}
.contact-kop{font:700 clamp(1.6rem,2.6vw,2.4rem)/1.1 var(--disp);letter-spacing:-.01em;margin-bottom:1.5rem}
.contact-lijst{list-style:none;margin:0;padding:0;display:grid;gap:0}
.contact-lijst li{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--lijn)}
.contact-lijst li .ic{width:1.6rem;height:1.6rem;color:var(--blauw);margin-top:.15rem}
.contact-lijst span{display:grid;gap:.1rem}
.contact-lijst strong{font:700 1.15rem var(--disp)}
.contact-lijst a{font-size:1.15rem;font-weight:600;display:inline-flex;min-height:2.75rem;align-items:center}
@media (max-width:400px){.contact-lijst a[href^=mailto]{white-space:normal;overflow-wrap:anywhere;font-size:1.05rem}}
.contact-lijst small{color:var(--zacht);font-size:.92rem}
.contact-kort{padding:clamp(3.5rem,7vw,6rem) 0}
.contact-kort .contact-binnen{align-items:center}
@media (max-width:860px){.contact-binnen{grid-template-columns:1fr}}

/* ---------- voet */
.voet{background:var(--inkt);color:#cfdbe2;padding:clamp(3.5rem,6vw,5rem) var(--rand) 2rem;font-size:1rem}
.voet-binnen{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem}
.voet-merk img{height:2.1rem;width:auto;margin-bottom:1.2rem}
.voet-merk a{display:inline-block}
.voet-merk p{max-width:30rem}
.voet address{font-style:normal}
.voet strong{color:var(--wit)}
.voet a{color:var(--wit)}
.voet address a{display:inline-flex;min-height:2.75rem;align-items:center}
.voet-links{list-style:none;margin:0;padding:0}
.voet-links a{display:flex;align-items:center;min-height:2.75rem;text-decoration:none}
.voet-links a:hover{text-decoration:underline}
.voet-klein{margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);font-size:.88rem;color:#9fb1bc}
.voet-klein a{display:inline-flex;min-height:2.75rem;align-items:center}
@media (max-width:860px){.voet-binnen{grid-template-columns:1fr}}

/* ---------- courantpagina */
.p-courant main{padding-top:var(--kop-h)}
.cp-kop{background:var(--inkt);color:var(--wit);padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.cp-kop .peil{color:#bfe7fa}
.cp-nr{position:absolute;right:var(--rand);bottom:-.12em;margin:0;font:700 clamp(10rem,30vw,26rem)/.8 var(--disp);color:var(--blauw);opacity:.9;letter-spacing:-.05em}
.cp-titel{font:700 min(clamp(2.4rem,6vw,5.6rem),calc((100vw - 2*var(--rand))/8.7))/1 var(--disp);letter-spacing:-.01em;position:relative}
.cp-datum{margin:1rem 0 0;font-weight:600;color:#bfe7fa;position:relative}
.cp-binnen{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(3rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem) clamp(2rem,5vw,5rem)}
.cp-intro{grid-column:1/-1;font-size:clamp(1.2rem,1.7vw,1.6rem);line-height:1.5;max-width:52rem}
.cp-foto{grid-column:1/-1;margin:0}
.cp-foto img{width:100%;max-height:78svh;object-fit:cover;border-radius:.2rem}
.cp-deel h2{font:700 clamp(1.5rem,2.4vw,2.2rem)/1.1 var(--disp);letter-spacing:-.01em;margin-bottom:1rem}
.cp-deel p{font-size:1.12rem}
.cp-foto2{margin:1.5rem 0 0}
.cp-foto2 img{width:100%;border-radius:.2rem}
.cp-naam{font:700 clamp(2.4rem,4.5vw,4rem)/1 var(--disp);color:var(--blauw);margin-bottom:.9rem}
.cp-naam span{display:block;font:600 1rem var(--tekst);color:var(--zacht);margin-top:.35rem}
.cp-citaat{margin:2rem 0 0;padding-left:1.25rem;border-left:4px solid var(--blauw)}
.cp-citaat p{font:700 clamp(1.4rem,2.2vw,2rem)/1.2 var(--disp);letter-spacing:-.015em;hyphens:manual}
.cp-citaat footer{font-weight:600}
.cp-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding-top:2rem;border-top:1px solid var(--lijn)}
@media (max-width:760px){.cp-binnen{grid-template-columns:1fr}}

/* ---------- inloop */
.rv{opacity:0;transform:translateY(1.5rem);transition:opacity .8s,transform .8s}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}.hero-titel,.hero-lead,.hero-boven,.hero-knoppen{opacity:1;transform:none}}
