.dn{--k:3.3;--px:.5;--py:.5;background:0 0;padding:9% 7% 0 0;position:relative}.dn__vel{aspect-ratio:1560/1320;border:1px solid var(--line-strong);background-color:var(--surface);background-image:linear-gradient(color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px);contain:paint;background-position:-1px -1px;background-size:22px 22px;position:relative;overflow:hidden}.dn__laag{pointer-events:none;position:absolute;inset:3% 2% 0}.dn__leiders{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dn__leiders path{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;opacity:0}:is(.dn[data-actief=tuin] .dn__leiders [data-plek=tuin],.dn[data-actief=woonkamer] .dn__leiders [data-plek=woonkamer],.dn[data-actief=badkamer] .dn__leiders [data-plek=badkamer],.dn[data-actief=zolder] .dn__leiders [data-plek=zolder],.dn[data-actief=meterkast] .dn__leiders [data-plek=meterkast]){opacity:1}.dn__laag>svg{width:100%;height:100%;position:absolute;inset:0}.dn__laag .tek{--zoom:.55}@media (min-width:1024px){.dn__laag .tek{--zoom:.7}}.dn__hoek{z-index:1;border:1px solid var(--line-strong);background:var(--bg);font:500 .75rem/1 var(--mono-font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.35rem .55rem;position:absolute;top:10px;left:10px}.dn__markers{pointer-events:none;position:absolute;inset:3% 2% 0}.dn__mk{width:0;height:0;position:absolute}.dn__mknr,.dn__mkring{border-radius:50%;position:absolute;top:0;left:0}.dn__mknr{background:var(--ink);width:24px;height:24px;color:var(--bg);font:700 .75rem/1 var(--mono-font);place-items:center;margin:-12px 0 0 -12px;display:grid}.dn__mkring{border:2px solid var(--accent);opacity:0;width:56px;height:56px;margin:-28px 0 0 -28px;transform:scale(.6)}.dn[data-actief=tuin]{--px:var(--tuin-x);--py:var(--tuin-y)}.dn[data-actief=woonkamer]{--px:var(--woonkamer-x);--py:var(--woonkamer-y)}.dn[data-actief=badkamer]{--px:var(--badkamer-x);--py:var(--badkamer-y)}.dn[data-actief=zolder]{--px:var(--zolder-x);--py:var(--zolder-y)}.dn[data-actief=meterkast]{--px:var(--meterkast-x);--py:var(--meterkast-y)}:is(.dn[data-actief=tuin] .dn__mk[data-plek=tuin],.dn[data-actief=woonkamer] .dn__mk[data-plek=woonkamer],.dn[data-actief=badkamer] .dn__mk[data-plek=badkamer],.dn[data-actief=zolder] .dn__mk[data-plek=zolder],.dn[data-actief=meterkast] .dn__mk[data-plek=meterkast]) .dn__mknr{background:var(--accent);color:var(--accent-ink)}:is(.dn[data-actief=tuin] .dn__mk[data-plek=tuin],.dn[data-actief=woonkamer] .dn__mk[data-plek=woonkamer],.dn[data-actief=badkamer] .dn__mk[data-plek=badkamer],.dn[data-actief=zolder] .dn__mk[data-plek=zolder],.dn[data-actief=meterkast] .dn__mk[data-plek=meterkast]) .dn__mkring{opacity:1;transform:none}.dn__lens{z-index:2;width:44%;position:absolute;top:0;right:0}.dn__lensvel{aspect-ratio:1;border:2px solid var(--accent);background:var(--bg);box-shadow:0 0 0 6px var(--bg);border-radius:50%;position:relative;overflow:hidden;container-type:inline-size}.dn__lenslaag{width:calc(var(--k) * 100%);aspect-ratio:1560/1320;transform-origin:0 0;transform:translate(calc(var(--px) * -100%), calc(var(--py) * -100%));--u:calc(var(--k) * 100cqw / 1560);position:absolute;top:50%;left:50%}.dn__lenslaag>:is(svg,div){width:100%;height:100%;position:absolute;inset:0}.dn__lenslaag .tek{--zoom:1.15}.dn__kruis{pointer-events:none;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}.dn__kruis:before,.dn__kruis:after{content:"";background:var(--accent);position:absolute}.dn__kruis:before{width:2px;height:22px;top:0;left:10px}.dn__kruis:after{width:22px;height:2px;top:10px;left:0}.dn__lenslabel{text-align:right;white-space:nowrap;font:600 .75rem/1.3 var(--mono-font);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-right:.8rem;position:absolute;top:4%;right:100%}@media (max-width:479px){.dn__lenslabel{letter-spacing:.04em;margin-right:.5rem;top:0}}.dn__lenslabel span{display:none}:is(.dn[data-actief=tuin] .dn__lenslabel [data-plek=tuin],.dn[data-actief=woonkamer] .dn__lenslabel [data-plek=woonkamer],.dn[data-actief=badkamer] .dn__lenslabel [data-plek=badkamer],.dn[data-actief=zolder] .dn__lenslabel [data-plek=zolder],.dn[data-actief=meterkast] .dn__lenslabel [data-plek=meterkast]){display:inline}@media (prefers-reduced-motion:no-preference){:root:not([data-beweging=uit]) .dn__lenslaag{transition:transform .85s var(--ease-io);animation:dn-in 1.7s var(--ease-io) .45s backwards}:root:not([data-beweging=uit]) .dn__mkring{transition:opacity .3s ease, transform .45s var(--ease)}:root:not([data-beweging=uit]) .dn__leiders path{transition:opacity .35s .45s}:root:not([data-beweging=uit]) .dn__leiders{animation:.4s 2.05s backwards dn-leider}}@keyframes dn-leider{0%{opacity:0}}@keyframes dn-in{0%{transform:scale(calc(1 / var(--k))) translate(-50%, -50%)}}.dn-legenda{max-width:34rem}@media (min-width:1024px){.dn-legenda{margin-top:clamp(1.75rem,3vw,2.5rem)}}.dn-legenda__kop{font:500 .75rem/1.3 var(--mono-font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dn-legenda ol{border-top:1px solid var(--line-strong);margin:.6rem 0 0;padding:0;list-style:none}@media (min-width:640px){.dn-legenda ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;display:grid}}.dn-legenda li{border-bottom:1px solid var(--line)}.dn-legenda a{min-height:2.9rem;color:var(--ink);grid-template-columns:1.6rem minmax(0,1fr) auto auto;align-items:center;gap:.6rem;text-decoration:none;display:grid}.dn-legenda__nr{border:1px solid var(--line-strong);width:1.45rem;height:1.45rem;font:700 .75rem/1 var(--mono-font);color:var(--ink);border-radius:50%;place-items:center;display:grid}.dn-legenda__dienst{overflow-wrap:anywhere;font-weight:600}.dn-legenda__plek{font:500 .75rem/1 var(--mono-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dn-legenda__pijl{color:var(--accent);transform:rotate(90deg)}.dn-legenda a:hover .dn-legenda__dienst,.dn-legenda a:focus-visible .dn-legenda__dienst{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.3em}.dn-legenda a:hover .dn-legenda__nr{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.dn-legenda a:hover .dn-legenda__pijl{transform:translateY(3px)rotate(90deg)}
.bladen{padding-block:clamp(3.5rem,7vw,6.5rem) clamp(3rem,6vw,5rem)}.bladen__kop{gap:0 3rem;margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}.bladen__titel{max-width:16ch;margin-top:1rem}.bladen__intro{max-width:34rem;margin-top:1.25rem;font-size:clamp(1.0625rem,1.3vw,1.1875rem)}@media (min-width:1024px){.bladen__kop{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end}.bladen__kop .oog{grid-column:1/-1}.bladen__intro{margin:0 0 .35rem}}.blad{scroll-margin-top:calc(var(--kop-hoogte) + 1rem);margin-top:clamp(2.5rem,6vw,5rem);padding-top:0}.blad:first-of-type{margin-top:0}.blad__balk{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);font:500 .75rem/1.3 var(--mono-font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.6rem 0;display:grid}.blad__nr{color:var(--accent);font-weight:700}.blad__plek{overflow-wrap:anywhere;min-width:0}.blad__van{color:var(--ink)}.blad__raster{gap:2rem;padding-top:clamp(1.5rem,3vw,2.5rem);display:grid}@media (min-width:1024px){.blad__raster{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;column-gap:clamp(3rem,7vw,7.5rem)}.blad[data-zijde=rechts] .blad__beeld{order:2}.blad--zonder .blad__raster{grid-template-columns:minmax(0,3fr) minmax(0,6fr)}}.blad__beeld{margin:0 0 clamp(3.5rem,9vw,4.5rem);position:relative}.blad .blad__foto{border-radius:0}.blad__beeld:before,.blad__beeld:after{content:"";border:0 solid var(--ink);pointer-events:none;width:14px;height:14px;position:absolute}.blad__beeld:before{border-width:1px 0 0 1px;top:-10px;left:-10px}.blad__beeld:after{border-width:1px 1px 0 0;top:-10px;right:-10px}.blad__cirkel{z-index:1;width:clamp(8.5rem,34vw,13.5rem);position:absolute;bottom:clamp(-3.5rem,-9vw,-4rem);right:clamp(-.5rem,-2vw,0rem)}@media (min-width:1024px){.blad__cirkel{width:clamp(11rem,15vw,14rem);bottom:-4rem;right:-3.5rem}.blad[data-zijde=rechts] .blad__cirkel{left:-3.5rem;right:auto}}.blad--zonder .blad__beeld{margin-bottom:0}.blad--zonder .blad__cirkel{width:min(100%,14rem);position:relative;inset:auto}.blad__cirkelvel{--k:2.9;aspect-ratio:1;border:2px solid var(--ink);background:var(--bg);box-shadow:0 0 0 6px var(--bg);border-radius:50%;display:block;position:relative;overflow:hidden;container-type:inline-size}.blad__cirkellaag{width:calc(var(--k) * 100%);aspect-ratio:1560/1320;transform:translate(calc(var(--px) * -100%), calc(var(--py) * -100%));--u:calc(var(--k) * 100cqw / 1560);position:absolute;top:50%;left:50%}.blad__cirkellaag>:is(svg,div){width:100%;height:100%;position:absolute;inset:0}.blad__cirkellaag .tek{--zoom:1.1}.blad__kruis{width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:50%;left:50%}.blad__kruis:before,.blad__kruis:after{content:"";background:var(--accent);position:absolute}.blad__kruis:before{width:2px;height:18px;top:0;left:8px}.blad__kruis:after{width:18px;height:2px;top:8px;left:0}.blad__cirkel--detail .blad__cirkelvel{place-items:center;padding:14%;display:grid}.blad__cirkel--detail .detail__beeld{max-width:none;margin:0}.blad__cirkellabel{border:1px solid var(--ink);background:var(--bg);font:600 .75rem/1 var(--mono-font);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--ink);padding:.3rem .55rem;position:absolute;bottom:-.35rem;left:50%;transform:translate(-50%,50%)}.blad__tekst{min-width:0}.blad__dienst{letter-spacing:-.045em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:780;font-stretch:125%;line-height:.95}.blad__titel{font-family:var(--heading-font);letter-spacing:-.02em;margin-top:.35rem;font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:280;font-stretch:66%;line-height:1.1}.blad__text{max-width:36rem;margin-top:1.25rem;font-size:1.0625rem;line-height:1.65}.blad__punten{margin-top:1.1rem}.blad__maat{max-width:36rem;margin-top:1.5rem}.blad__maat strong{font-weight:650}.blad__prijzen{border:1px solid var(--ink);background:var(--bg);max-width:36rem;margin-top:1.75rem}.blad__prijskop{border-bottom:1px solid var(--ink);font:500 .75rem var(--mono-font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.55rem .9rem}.blad__prijzen dl{margin:0}.blad__prijsrij{align-items:baseline;gap:.75rem;padding:.7rem .9rem;display:flex}.blad__prijsrij+.blad__prijsrij{border-top:1px solid var(--line)}.blad__prijsrij dt{flex-wrap:wrap;flex:1;align-items:baseline;gap:.1rem .6rem;min-width:0;font-weight:500;line-height:1.35;display:flex}.blad__prijsextra{color:var(--muted);font-size:.875rem;font-weight:400}.blad__prijsrij dd{text-align:right;max-width:50%;font-family:var(--heading-font);letter-spacing:-.025em;font-variant-numeric:tabular-nums lining-nums;flex:none;margin:0;font-size:1.5rem;font-weight:740;font-stretch:118%;line-height:1.1}.blad__prijsrij dd[data-tekst]{letter-spacing:0;max-width:11rem;font-size:1.0625rem;font-weight:650;font-stretch:100%;line-height:1.3}.blad__ster{color:var(--muted);vertical-align:top;margin-left:.1em;font-size:.875rem}.blad__acties{flex-wrap:wrap;align-items:center;gap:.5rem 1.75rem;margin-top:1.75rem;display:flex}.blad__omlaag{transform:rotate(90deg)}.blad__alle:hover .blad__omlaag{transform:translateY(3px)rotate(90deg)}.bladen__btw{border-top:1px solid var(--line-strong);color:var(--muted);margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1rem;font-size:.875rem}@media (max-width:639px){.blad__knop{justify-content:space-between;width:100%}}.blad__beeld .blad__foto>small{top:.5rem;bottom:auto}@media (prefers-reduced-motion:no-preference){:root:not([data-beweging=uit]) .blad__cirkelvel:after{content:"";z-index:1;background:var(--bg);border-left:2px solid var(--accent);transition:transform 1.3s cubic-bezier(.5,.05,.3,1) .25s;position:absolute;inset:0 -3px 0 0;transform:translate(100%)}:root[data-teken-js]:not([data-beweging=uit]) .bladen [data-teken]:not([data-getekend]) .blad__cirkelvel:after{transition:none;transform:none}}
.prijzen{padding-block:clamp(4rem,7vw,6.5rem)}.prijzen__raster{gap:2.5rem;display:grid}.prijzen__titel{max-width:14ch;margin-top:1rem}.prijzen__intro{max-width:34rem;margin-top:1.25rem;font-size:clamp(1.0625rem,1.3vw,1.1875rem)}.prijzen__belofte{border-top:1px solid var(--ink);max-width:28rem;font-family:var(--heading-font);letter-spacing:-.02em;gap:.6rem;margin-top:2rem;padding-top:1.4rem;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:620;font-stretch:110%;line-height:1.15;display:grid}.prijzen__beloftelabel{font:500 .75rem var(--mono-font);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}@media (min-width:1024px){.prijzen__raster{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;column-gap:clamp(3rem,7vw,8rem)}}.stuklijst{border:2px solid var(--ink);background:var(--bg);min-width:0}.stuklijst__kop,.stuklijst__regel{grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:baseline;column-gap:.75rem;display:grid}.stuklijst__kop{border-bottom:1px solid var(--ink);font:500 .75rem var(--mono-font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.55rem .9rem}.stuklijst__kopprijs{text-align:right}.stuklijst__groep+.stuklijst__groep{border-top:1px solid var(--ink)}.stuklijst__groeptitel{font:600 .8125rem var(--mono-font);letter-spacing:.1em;text-transform:uppercase;padding:.9rem .9rem .4rem 4.15rem}.stuklijst__regels{margin:0;padding:0;list-style:none}.stuklijst__regel{border-top:1px solid var(--line);padding:.95rem .9rem}.stuklijst__groeptitel+.stuklijst__regels .stuklijst__regel:first-child{border-top:0;padding-top:.5rem}.stuklijst__pos{font:500 .8125rem var(--mono-font);color:var(--muted)}.stuklijst__wat{gap:.25rem;min-width:0;display:grid}.stuklijst__naam{font-size:1.0625rem;font-weight:650;line-height:1.35}.stuklijst__extra{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font-size:.875rem;display:flex}.stuklijst__prijs{max-width:9rem;font-family:var(--heading-font);letter-spacing:-.04em;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;justify-self:end;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:720;font-stretch:125%;line-height:.9}.stuklijst__euro{letter-spacing:0;vertical-align:.95em;margin-right:.15em;font-size:.42em;font-weight:600}.stuklijst__prijstekst{letter-spacing:-.01em;white-space:normal;font-size:.48em;line-height:1.15;display:block}.stuklijst__voet{border-top:1px solid var(--ink);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding:.85rem .9rem;display:flex}.stuklijst__btw{max-width:26rem;color:var(--ink);font-size:.875rem}@media (max-width:479px){.stuklijst__kop,.stuklijst__regel{grid-template-columns:1.75rem minmax(0,1fr) auto;column-gap:.5rem}.stuklijst__kop,.stuklijst__regel,.stuklijst__voet{padding-inline:.7rem}.stuklijst__groeptitel{padding-left:2.95rem}.stuklijst__naam{font-size:1rem}.stuklijst__prijs{max-width:6.5rem}}.stuklijst__dienst{min-height:2.75rem;font:600 .75rem/1.2 var(--mono-font);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);justify-self:start;align-items:center;gap:.4rem;margin-block:-.5rem -.6rem;text-decoration:none;display:inline-flex}.stuklijst__dienst:hover{text-underline-offset:.3em;text-decoration:underline}.stuklijst__dienst .pijl{transform:rotate(-90deg)}.stuklijst__dienst:hover .pijl{transform:translateY(-2px)rotate(-90deg)}
