/* bro2.tdgdigital.com — "Het hele jaar buiten." Ranade + Manrope + IBM Plex Mono; papier, inkt, hout. */
@font-face{font-family:'Ranade';src:url(/fonts/display.woff2) format('woff2');font-weight:100 700;font-display:swap}
@font-face{font-family:'Ranade';src:url(/fonts/display-italic.woff2) format('woff2');font-weight:100 700;font-style:italic;font-display:swap}
@font-face{font-family:'Manrope';src:url(/fonts/tekst.woff2) format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Plex';src:url(/fonts/mono.woff2) format('woff2');font-weight:400;font-display:swap}

:root{--papier:#f5f2ec;--papier2:#ece7de;--inkt:#1c1c1a;--grijs:#6f6a62;--lijn:#d3ccbf;--hout:#a8713f;--hout-l:#c9955f;
  --display:'Ranade',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;--mono:'Plex',ui-monospace,Menlo,monospace;
  --rand:clamp(20px,5vw,84px);--kop-h:72px;--ease:cubic-bezier(.22,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--kop-h)}
body{margin:0;background:var(--papier);color:var(--inkt);font:400 clamp(16px,1.05vw,17.5px)/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;hyphens:auto}
img,video,svg{display:block;max-width:100%}img{height:auto}
a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0;hyphens:manual;text-wrap:balance}
h1 em,h2 em,p em{font-style:italic;color:var(--hout)}
p{margin:0 0 1em}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--inkt);color:#fff;padding:10px 16px}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--hout);outline-offset:3px}
.mono{font-family:var(--mono);font-size:.82em;letter-spacing:.02em}
.label{font:400 13px/1.4 var(--mono);color:var(--grijs);margin:0 0 1.1em;display:flex;align-items:center;gap:12px;hyphens:none}
.label::before{content:'';width:14px;height:14px;border:1px solid currentColor;border-radius:50%;flex:none;background:radial-gradient(circle,currentColor 0 2px,transparent 2.5px)}
.label a{text-decoration:none}
.knoppen{display:flex;flex-wrap:wrap;gap:12px}
.knop,.knop-lijn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:2px;font:600 14.5px/1 var(--sans);letter-spacing:.01em;text-decoration:none;border:1px solid var(--inkt);transition:background .3s,color .3s;white-space:nowrap}
.knop{background:var(--inkt);color:var(--papier)}.knop:hover{background:var(--hout);border-color:var(--hout)}
.knop-lijn{background:transparent;color:var(--inkt)}.knop-lijn:hover{background:var(--inkt);color:var(--papier)}
.knop-klein{min-height:44px;padding:0 18px;font-size:13.5px}
.licht-op-donker{color:var(--papier);border-color:var(--papier)}.licht-op-donker:hover{background:var(--papier);color:var(--inkt)}
.lees{display:inline-flex;align-items:center;gap:12px;font:600 14px/1 var(--sans);text-decoration:none;min-height:44px}
.lees .pijl{transition:transform .35s var(--ease)}a:hover .lees .pijl,.lees:hover .pijl{transform:translateX(6px)}
.sectie-kop{max-width:46rem;margin-bottom:clamp(36px,4vw,64px)}
.sectie-kop h2{font-size:clamp(40px,5.2vw,86px);margin-bottom:.35em}
.sectie-kop p{color:var(--grijs);max-width:38em}

/* kop */
.kop{position:fixed;inset:0 0 auto;z-index:50;height:var(--kop-h);color:#fff;transition:background .35s,color .35s,border-color .35s;border-bottom:1px solid transparent}
.kop-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--rand)}
.logo{display:flex;align-items:center;min-height:44px}.logo-svg{width:clamp(146px,12vw,180px);height:auto}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
.nav ul{display:flex;gap:clamp(14px,2vw,30px);list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font:500 14.5px/1 var(--sans);padding:14px 0;display:block}
.nav ul a:hover{color:var(--hout-l)}
.nav .knop-klein{background:transparent;color:inherit;border-color:currentColor}
.kop.vast,.sub .kop{background:var(--papier);color:var(--inkt);border-bottom-color:var(--lijn)}
.kop.vast .knop-klein:hover,.sub .kop .knop-klein:hover{background:var(--inkt);color:var(--papier)}
.menu-knop{display:none;width:48px;height:48px;flex-shrink:0;border:0;background:none;position:relative}
.menu-knop span:not(.vh){position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.menu-knop span:nth-child(1){top:19px}.menu-knop span:nth-child(2){top:28px}
.menu-knop[aria-expanded=true] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.menu-knop[aria-expanded=true] span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
@media (max-width:1020px){
  .menu-knop{display:block;z-index:3}
  .nav{position:fixed;inset:0;z-index:2;background:var(--papier);color:var(--inkt);flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:calc(var(--kop-h) + 20px) var(--rand) 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
  .nav ul{flex-direction:column;gap:0}.nav ul a{font:500 clamp(30px,8vw,44px)/1.2 var(--display);padding:6px 0}
  body.menu-open .nav{opacity:1;visibility:visible}body.menu-open .kop{color:var(--inkt)}
  body.menu-open .logo{position:relative;z-index:3}
}

/* opening: glazen schuifwand */
.wand{outline:none;position:fixed;inset:0;z-index:100;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;transition:opacity .9s var(--ease),visibility .9s}
.wand-gezien .wand{display:none}
.wand.weg{opacity:0;visibility:hidden}
body.wand-open{overflow:hidden}
.wand-paneel{position:absolute;top:0;bottom:0;width:calc(100% / 3 + 2px);border-left:7px solid #151513;border-right:1px solid rgba(255,255,255,.12);
  background:linear-gradient(115deg,rgba(255,255,255,.34),rgba(255,255,255,.16) 40%,rgba(255,255,255,.26));will-change:transform}
@supports (backdrop-filter:blur(4px)){.wand-paneel{background:linear-gradient(115deg,rgba(245,242,236,.42),rgba(245,242,236,.2) 45%,rgba(245,242,236,.32));-webkit-backdrop-filter:blur(22px) saturate(1.1);backdrop-filter:blur(22px) saturate(1.1)}}
.wand-paneel::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 42%,transparent 54%);pointer-events:none}
.p1{left:0;z-index:1}.p2{left:calc(100% / 3);z-index:2}.p3{left:calc(200% / 3);z-index:3}
.wand::before{content:'';position:absolute;left:0;right:0;top:0;height:9px;background:#151513;z-index:5}
.wand::after{content:'';position:absolute;left:0;right:0;bottom:0;height:9px;background:#151513;z-index:5}
.wand-greep{position:absolute;left:10px;top:72%;width:44px;height:140px;margin-top:-70px;border:0;background:none;cursor:grab;touch-action:none;display:grid;place-items:center}
.wand-greep span{width:6px;height:118px;border-radius:3px;background:#151513;box-shadow:0 1px 0 rgba(255,255,255,.3)}
.wand-greep:active{cursor:grabbing}
.wand-tekst{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:22px;text-align:center;color:var(--inkt);pointer-events:none;padding:0 24px;transition:opacity .4s}
.wand-tekst .logo-svg{width:min(320px,70vw)}
.wand-zin{font:500 clamp(30px,4.4vw,64px)/1.05 var(--display);margin:0;letter-spacing:-.02em}
.wand-hint{pointer-events:auto;border:0;background:none;font:400 13.5px/1 var(--mono);color:var(--inkt);min-height:44px;padding:0 10px;display:flex;align-items:center;gap:10px}
.wand-hint span{display:inline-block;animation:duw 1.8s var(--ease) infinite}
@keyframes duw{0%,100%{transform:translateX(0)}50%{transform:translateX(-8px)}}
.wand.schuift .wand-tekst{opacity:0}
.wand-over{position:absolute;z-index:6;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));border:0;background:none;font:400 12.5px/1 var(--mono);color:var(--inkt);opacity:.65;min-height:44px;padding:0 10px}

/* hero met weer */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:#2b2a27;overflow:hidden}
.hero-film{position:absolute;inset:0}
.hero-film img,.hero-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.6s var(--ease)}
.poster-zon,.v-zon{object-position:50% 100%}.poster-regen,.v-regen{object-position:50% 42%}
.hero-film video{opacity:0}
.hero[data-weer=zon] .v-zon.speelt,.hero[data-weer=regen] .v-regen.speelt{opacity:1}
.hero[data-weer=zon] .poster-regen,.hero[data-weer=regen] .poster-zon{opacity:0}
.hero[data-weer=zon] .v-regen,.hero[data-weer=regen] .v-zon{opacity:0!important}
.hero-sluier{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,18,.45),rgba(20,20,18,0) 24%,rgba(20,20,18,0) 48%,rgba(20,20,18,.72))}
.hero-tekst{position:relative;padding:0 var(--rand) clamp(48px,8vh,90px);width:100%}
.hero .label{color:rgba(255,255,255,.8)}
.hero h1{font-size:clamp(54px,9vw,150px);font-weight:500;line-height:.92;margin-bottom:.22em;letter-spacing:-.03em}
.weer{font:400 clamp(16px,1.3vw,20px)/1.45 var(--sans);max-width:40em;margin-bottom:1.6em;color:rgba(255,255,255,.9)}
.weer-nu{font-family:var(--mono);font-size:.82em;border:1px solid rgba(255,255,255,.45);padding:4px 9px;margin-right:8px;white-space:nowrap;display:inline-block}
.hero-acties{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.hero .knop{background:var(--papier);color:var(--inkt);border-color:var(--papier)}.hero .knop:hover{background:var(--hout);border-color:var(--hout);color:#fff}
.weerknop{display:inline-flex;border:1px solid rgba(255,255,255,.55)}
.weerknop button{border:0;background:transparent;color:#fff;min-height:48px;min-width:72px;padding:0 18px;font:500 14px/1 var(--sans);transition:background .3s,color .3s}
.weerknop button[aria-pressed=true]{background:#fff;color:var(--inkt)}
@media (max-width:700px){.hero-sluier{background:linear-gradient(180deg,rgba(20,20,18,.45),rgba(20,20,18,0) 22%,rgba(20,20,18,.25) 40%,rgba(20,20,18,.86) 70%)}}
@media (orientation:landscape) and (max-height:520px){.hero h1{font-size:min(11vw,18svh)}.hero-tekst{padding-bottom:22px}.weer{font-size:14.5px;margin-bottom:.8em}}

/* stelling */
.stelling{padding:clamp(90px,13vw,180px) var(--rand) clamp(70px,9vw,130px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:end;max-width:1600px;margin:0 auto}
.stelling-groot{font:500 clamp(34px,4.4vw,72px)/1.06 var(--display);letter-spacing:-.02em;margin:0;hyphens:manual}
.stelling-kol{color:var(--grijs)}
@media (max-width:900px){.stelling{grid-template-columns:1fr}}

/* seizoenen */
.seizoenen{padding:0 var(--rand) clamp(90px,11vw,160px);max-width:1600px;margin:0 auto}
.sz-rij{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.sz{margin:0}
.sz img{width:100%;aspect-ratio:3/4;object-fit:cover}
.sz figcaption{padding-top:16px;border-top:1px solid var(--lijn);margin-top:16px}
.sz-maand{font:400 12.5px var(--mono);color:var(--grijs);margin:0 0 .4em}
.sz h3{font-size:clamp(26px,2.2vw,36px);margin-bottom:.3em}
.sz figcaption p:last-child{color:var(--grijs);font-size:15px}
.sz.nu .sz-maand::after{content:' · nu';color:var(--hout)}
@media (max-width:900px){.sz-rij{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}}
@media (max-width:520px){.sz-rij{grid-template-columns:1fr}.sz img{aspect-ratio:4/3}}

/* tekenen (signatuur) */
.tekenen{background:var(--papier2);padding:clamp(90px,11vw,160px) var(--rand);border-top:1px solid var(--lijn);border-bottom:1px solid var(--lijn)}
.tk-kop{max-width:56rem}
.tk{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(240px,300px);gap:clamp(20px,2.4vw,40px);align-items:start;max-width:1600px;margin:0 auto}
.tk-bediening{display:grid;gap:22px;min-width:0}
.tk-groep{min-width:0;min-inline-size:0;border:0;margin:0;padding:0 0 20px;border-bottom:1px solid var(--lijn)}
.tk-groep legend{font:400 13px var(--mono);color:var(--grijs);margin-bottom:12px;padding:0}
.schuif{display:grid;gap:8px;margin-bottom:12px;font-size:14.5px}
.schuif span{display:flex;justify-content:space-between}.schuif output{font-family:var(--mono);font-size:13.5px}
.schuif{min-width:0;overflow:hidden}
.schuif input{width:100%;margin:0;accent-color:var(--inkt);min-height:36px;touch-action:pan-y}
.tk-keus{display:grid;gap:8px}
.keus,.vz{hyphens:none;display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:14.5px;border:1px solid var(--lijn);padding:0 14px;background:var(--papier);transition:border-color .3s}
.keus input,.vz input{width:18px;height:18px;margin:0;accent-color:var(--inkt)}
.keus:has(input:checked),.vz:has(input:checked){border-color:var(--inkt)}
.tk-vz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:370px){.tk-vz,.tk-hout{grid-template-columns:1fr}}
.tk-hout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hout{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;cursor:pointer;border:1px solid var(--lijn);padding:6px;background:var(--papier);min-height:58px}
.hout input{position:absolute;opacity:0;width:1px;height:1px}
.hout-staal{width:44px;height:44px;background-size:cover;background-position:center}
.hout-naam{hyphens:none;font-size:14px;line-height:1.2;display:grid}
.hout-naam small{font-size:11.5px;color:var(--grijs);hyphens:auto;overflow-wrap:anywhere}
.hout:has(input:checked){border-color:var(--inkt);box-shadow:inset 0 0 0 1px var(--inkt)}
.hout:has(input:focus-visible){outline:2px solid var(--hout);outline-offset:2px}
.tk-blad{background:var(--papier);border:1px solid var(--lijn);padding:clamp(14px,1.6vw,26px);position:relative;
  background-image:linear-gradient(var(--papier2) 1px,transparent 1px),linear-gradient(90deg,var(--papier2) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}
.tk-titel{display:flex;justify-content:space-between;font:400 12.5px var(--mono);color:var(--grijs);margin:0 0 6px}
.tk-gevel,.tk-plan{width:100%;height:auto;overflow:visible}
.tk-gevel{margin-bottom:18px}
.tk-plan{touch-action:none}
.tk-melding{font:400 12.5px var(--mono);color:var(--hout);min-height:1.4em;margin:6px 0 0}
.tk-uitkomst{position:sticky;top:calc(var(--kop-h) + 24px)}
.tk-samen{font:500 clamp(20px,1.6vw,24px)/1.3 var(--display);margin-bottom:1.2em}
.tk-samen .mono{display:block;font-size:13px;color:var(--grijs);margin-top:8px;font-family:var(--mono);letter-spacing:0}
.tk-lijkt{border-top:1px solid var(--lijn);padding-top:16px;margin-bottom:20px}
.tk-project{display:grid;gap:8px;text-decoration:none}
.tk-project img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:opacity .4s}
.tk-pnaam{font:500 20px/1.2 var(--display)}
.tk-acties{display:grid;gap:10px}
.tk-acties .knop,.tk-acties .knop-lijn{width:100%}
/* tekening */
.muur{fill:var(--inkt)}
.binnen{fill:var(--papier)}
.wandlijn{stroke:var(--inkt);stroke-width:1.2;fill:none}
.glas{stroke:var(--inkt);stroke-width:1;fill:#dfe8ea}
.symbool{stroke:var(--inkt);stroke-width:1.1;fill:none}
.symbool-vlak{fill:var(--papier2);stroke:var(--inkt);stroke-width:1}
.vuur{fill:var(--hout)}
.ruimte-tekst{font:400 11px var(--mono);fill:var(--grijs);text-anchor:middle}
.maat-lijn{stroke:var(--grijs);stroke-width:.9;fill:none}
.maat-tekst{font:400 12px var(--mono);fill:var(--inkt);text-anchor:middle}
.hoek{fill:var(--hout);stroke:#fff;stroke-width:2;cursor:nwse-resize}
.hoek-zone{fill:transparent;cursor:nwse-resize}
.gevel-grond{stroke:var(--inkt);stroke-width:1.4}
.gevel-dak{fill:var(--inkt)}
.gevel-glas{fill:#cfdcdf;stroke:var(--inkt);stroke-width:1.2}
.gevel-raamstijl{stroke:var(--inkt);stroke-width:2}
.gevel-gloed{fill:url(#gloed)}
@media (max-width:1180px){.tk{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.tk-uitkomst{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.tk-uitkomst>.label{grid-column:1/-1;margin:0}}
@media (max-width:1180px) and (orientation:portrait){.tk{grid-template-columns:1fr}.tk-blad{order:-1}.tk-bediening{grid-template-columns:1fr 1fr;column-gap:24px}}
@media (max-width:760px){.tk{grid-template-columns:1fr}.tk-blad{order:-1}.tk-bediening{grid-template-columns:1fr}.tk-uitkomst{grid-template-columns:1fr}.tk-hint{display:none}}

/* op schaal */
.schaal{padding:clamp(90px,11vw,160px) var(--rand);max-width:1600px;margin:0 auto}
.sc{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:clamp(30px,4vw,70px);align-items:start}
.schaal-svg{width:100%;height:auto;overflow:visible}
.schaal-smal{display:none}
@media (max-width:700px){.schaal-svg{display:none}.schaal-smal{display:block}}
.fp{fill:var(--papier2);stroke:var(--inkt);stroke-width:1.4;transition:fill .3s}
.fp-a{cursor:pointer;outline:none}
.fp-a:hover .fp,.fp-a:focus-visible .fp,.fp-a.aan .fp{fill:var(--hout-l)}
.fp-a:focus-visible .fp{stroke:var(--hout);stroke-width:3}
.fp-maat{font:400 13px var(--mono);fill:var(--grijs)}
.fp-u{fill:rgba(168,113,63,.15);stroke:var(--hout);stroke-dasharray:5 4;stroke-width:1.6}
.fp-maat-u{fill:var(--hout)}
.schaalstok path{stroke:var(--inkt);stroke-width:2}.schaalstok text{font:400 11px var(--mono);fill:var(--grijs)}
.sc-kaart{position:sticky;top:calc(var(--kop-h) + 24px);text-decoration:none;display:grid;gap:8px}
.sc-kaart img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sc-naam{font:500 clamp(22px,1.8vw,28px)/1.15 var(--display)}
@media (max-width:900px){.sc{grid-template-columns:1fr}.sc-kaart{position:static}}

/* werkwijze */
.werkwijze{padding:clamp(90px,11vw,160px) var(--rand);background:var(--inkt);color:var(--papier)}
.werkwijze .label{color:#a9a39a}.werkwijze .sectie-kop p{color:#b9b3a9}
.trip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin-bottom:clamp(50px,6vw,90px)}
.trip figure{margin:0}.trip img{width:100%;aspect-ratio:4/3;object-fit:cover}
.trip figcaption{padding-top:12px;font:500 20px var(--display)}.trip .mono{color:var(--hout-l);margin-right:8px}
.ww-lijst{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,30px);border-top:1px solid #3a3935;padding-top:28px}
.ww-lijst .nr{font:400 13px var(--mono);color:var(--hout-l)}
.ww-lijst h3{font-size:clamp(20px,1.6vw,26px);margin:.5em 0 .4em}
.ww-lijst p{color:#b9b3a9;font-size:14.5px}
@media (max-width:1000px){.ww-lijst{grid-template-columns:1fr 1fr}.trip{grid-template-columns:1fr}}
@media (max-width:560px){.ww-lijst{grid-template-columns:1fr}}

/* mensen */
.mensen{padding:clamp(90px,11vw,160px) var(--rand);max-width:1600px;margin:0 auto}
.team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin-bottom:clamp(50px,6vw,90px)}
.lid{margin:0}.lid img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.lid figcaption{hyphens:none;padding-top:10px;display:grid;font-size:14px;color:var(--grijs)}.lid b{font:500 19px var(--display);color:var(--inkt)}
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);border-top:1px solid var(--lijn);padding-top:30px}
.reviews blockquote{margin:0}.reviews p{font:500 clamp(18px,1.4vw,21px)/1.4 var(--display);hyphens:manual}
.reviews footer{font:400 12.5px var(--mono);color:var(--grijs)}
.score{grid-column:1/-1;font:400 13px var(--mono);color:var(--grijs)}.score b{font:500 26px var(--display);color:var(--inkt)}
@media (max-width:900px){.team{grid-template-columns:repeat(3,minmax(0,1fr))}.reviews{grid-template-columns:1fr}}
@media (max-width:520px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* slot + voet */
.slot{background:var(--inkt);color:var(--papier);text-align:center;padding:clamp(90px,11vw,160px) var(--rand);border-top:1px solid #3a3935}
.slot h2{font-size:clamp(42px,5.6vw,96px);margin-bottom:.3em}.slot p{color:#b9b3a9;max-width:34em;margin:0 auto 2em}
.slot .knoppen{justify-content:center}.slot .knop{background:var(--papier);color:var(--inkt);border-color:var(--papier)}
.voet{background:#141412;color:#b9b3a9;padding:clamp(56px,6vw,90px) var(--rand) 34px;font-size:14.5px}
.voet-in{max-width:1600px;margin:0 auto}.voet .logo-svg{width:180px;color:var(--papier)}
.voet-zin{font:500 24px var(--display);color:var(--papier);margin:18px 0 22px}
.voet address{font-style:normal;line-height:1.8}.voet address a{display:inline-flex;align-items:center;min-height:44px}
.voet-klein{border-top:1px solid #2c2b28;padding-top:22px;margin-top:22px;font-size:12.5px;color:#8a857c}.voet-klein a{display:inline-block;padding:4px 0}

/* project */
.pr-hero{position:relative;min-height:80svh;display:flex;align-items:flex-end;color:#fff;background:#2b2a27}
.pr-hero figure{position:absolute;inset:0;margin:0}.pr-hero img{width:100%;height:100%;object-fit:cover}
.pr-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,18,.4),transparent 30%,transparent 50%,rgba(20,20,18,.7))}
.pr-hero-tekst{position:relative;z-index:1;padding:0 var(--rand) clamp(40px,7vh,80px)}
.pr-hero .label{color:rgba(255,255,255,.85)}.pr-hero h1{font-size:clamp(44px,7vw,112px)}
.pr-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:clamp(36px,6vw,100px);padding:clamp(70px,9vw,130px) var(--rand);max-width:1500px;margin:0 auto}
.pr-lead{font:500 clamp(22px,2vw,30px)/1.35 var(--display);hyphens:manual}
.pr-tekst h2{font-size:clamp(26px,2.2vw,34px);margin:1.4em 0 .5em}
.pr-zij{position:sticky;top:calc(var(--kop-h) + 24px);align-self:start}
.pr-plan{width:100%;height:auto;margin-bottom:20px;overflow:visible}
.fp-groot{fill:var(--papier2);stroke:var(--inkt);stroke-width:2.5}
.maatlijn path{stroke:var(--grijs);stroke-width:1;fill:none}.maatlijn text{font:400 13px var(--mono);fill:var(--inkt);text-anchor:middle}
.maatlijn text.v{text-anchor:start;dominant-baseline:middle}
.pr-spec{margin:0 0 24px;border-top:1px solid var(--lijn)}.pr-spec div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--lijn);font-size:14.5px}
.pr-spec dt{font-family:var(--mono);font-size:12.5px;color:var(--grijs)}.pr-spec dd{margin:0;text-align:right}
.pr-gal{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.4vw,20px);padding:0 var(--rand) clamp(70px,9vw,120px);max-width:1600px;margin:0 auto}
.pr-gal figure{margin:0}.pr-gal img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pr-gal figure:nth-child(3n+1){grid-column:1/-1}.pr-gal figure:nth-child(3n+1) img{aspect-ratio:16/8}
.pr-volgende{border-top:1px solid var(--lijn);padding:clamp(36px,5vw,70px) var(--rand)}
.pr-volgende a{text-decoration:none;display:grid;gap:6px;max-width:1500px;margin:0 auto}.pr-volgende b{font:500 clamp(28px,3vw,48px)/1.1 var(--display)}
@media (max-width:900px){.pr-body{grid-template-columns:1fr}.pr-zij{position:static}.pr-gal{grid-template-columns:1fr}.pr-gal figure:nth-child(3n+1) img{aspect-ratio:3/2}}

/* contact */
.ct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);padding:calc(var(--kop-h) + clamp(50px,7vw,110px)) var(--rand) clamp(60px,8vw,110px);max-width:1500px;margin:0 auto}
.ct h1{font-size:clamp(46px,6vw,96px);margin-bottom:.35em}.ct-tekst>p{color:var(--grijs)}
.ct-adres{font:500 21px/1.6 var(--display);color:var(--inkt)!important}.ct-adres a{display:inline-flex;align-items:center;min-height:40px}
.ct-form{display:grid;gap:18px;align-content:start}
.ct-form label{display:grid;gap:6px;font:400 12.5px var(--mono);color:var(--grijs)}
.ct-form input,.ct-form textarea{width:100%;min-height:50px;border:0;border-bottom:1px solid var(--inkt);background:transparent;font:400 17px/1.4 var(--sans);color:var(--inkt);padding:8px 0}
.ct-form input:focus,.ct-form textarea:focus{outline:none;border-bottom-color:var(--hout)}
.ct-form .knop{justify-self:start}
.ct-schets{border:1px solid var(--inkt);padding:14px 16px;background:var(--papier2)}.ct-schets p{margin:0;font:500 18px/1.35 var(--display)}
.form-noot{font:400 12px var(--mono);color:var(--grijs);margin:0}
.ct-faq{padding:0 var(--rand) clamp(70px,9vw,120px);max-width:1500px;margin:0 auto}
.faq{max-width:58rem;border-top:1px solid var(--lijn)}
.faq details{border-bottom:1px solid var(--lijn)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font:500 clamp(19px,1.6vw,24px)/1.3 var(--display);position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 28px var(--sans);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{color:var(--grijs);padding-bottom:20px;max-width:46em}
@media (max-width:900px){.ct{grid-template-columns:1fr}}

.rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.rv.zicht{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
