/* ============================================================
   LETTERTYPEN, lokaal geserveerd
   Google Fonts vanaf fonts.gstatic.com stuurt het IP-adres van
   elke bezoeker naar de Verenigde Staten. Lokaal hosten voorkomt
   dat, scheelt twee externe verbindingen, en is sneller.
   Alleen latin en latin-ext: Nederlandse tekst heeft niet meer nodig.
   ============================================================ */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--paper:#F4F4F2;--paper-2:#EAEAE6;--paper-3:#E0E0DB;--ink:#0E0E0E;--ink-2:#3A3A37;--ink-3:#6E6E69;--line:#D4D4CE;--line-strong:#B6B6AF;--accent:#E8481C;--accent-ink:#FFFFFF;--nav-h:64px;--gutter:clamp(20px,5vw,72px);--maxw:1400px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--step--1:clamp(.78rem,.76rem + .1vw,.84rem);--step-0:clamp(1rem,.96rem + .2vw,1.09rem);--step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);--step-2:clamp(1.55rem,1.3rem + 1.1vw,2.2rem);--step-3:clamp(2.1rem,1.6rem + 2.2vw,3.6rem);--step-4:clamp(2.4rem,1.55rem + 3.1vw,4.4rem)}@media (prefers-color-scheme:dark){:root{--paper:#0E0E0E;--paper-2:#161615;--paper-3:#1E1E1C;--ink:#F4F4F2;--ink-2:#BDBDB7;--ink-3:#8B8B84;--line:#2A2A27;--line-strong:#3E3E3A;--accent:#FF5A2E;--accent-ink:#0E0E0E}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,video{display:block;max-width:100%;height:auto}figure,blockquote,dl,dd,fieldset{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,.display{font-family:"Archivo",system-ui,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.02;margin:0;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);letter-spacing:-.02em;line-height:1.15}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(72px,9vw,140px)}.section--tight{padding-block:clamp(52px,6vw,90px)}.rule{height:1px;background:var(--line);border:0;margin:0}.eyebrow{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:16px 30px;border:1px solid transparent;border-radius:0;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-0);letter-spacing:-.01em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 180ms ease,color 180ms ease,border-color 180ms ease}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--sm{padding:11px 20px;font-size:var(--step--1)}.link{display:inline-flex;align-items:center;gap:.5em;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding-block:6px;border-bottom:1px solid var(--line-strong);transition:color 180ms ease,border-color 180ms ease}.link .arrow{transition:transform 200ms var(--ease-out)}@media (hover:hover) and (pointer:fine){.link:hover{color:var(--accent);border-color:var(--accent)}.link:hover .arrow{transform:translateX(4px)}}.nav{position:sticky;top:0;z-index:60;height:var(--nav-h);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color 220ms ease,background-color 220ms ease}.nav.is-scrolled{border-bottom-color:var(--line)}.nav__inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav__brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}.nav__brand img{width:26px;height:auto}.nav__brand span{font-family:"Archivo",sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase}.nav__brand em{font-style:normal;font-weight:500;color:var(--ink-3)}.nav__links{display:none;gap:clamp(18px,2vw,30px);align-items:center}.nav__links a{text-decoration:none;font-size:var(--step--1);font-weight:600;letter-spacing:.01em;color:var(--ink-2);transition:color 160ms ease;white-space:nowrap}@media (hover:hover) and (pointer:fine){.nav__links a:hover{color:var(--ink)}}.nav__right{display:flex;align-items:center;gap:14px}.nav__tel{display:none;text-decoration:none;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;white-space:nowrap}.nav__cta{display:none}@media (min-width:1180px){.nav__links{display:flex}.nav .nav__cta{display:inline-flex}.nav .nav__toggle{display:none}}@media (min-width:1320px){.nav__tel{display:inline-block}}.nav .nav__toggle{width:44px;height:44px;display:none;place-items:center;background:none;border:1px solid var(--line-strong);cursor:pointer;border-radius:0;transition:transform 160ms var(--ease-out)}.nav__toggle:active{transform:scale(.97)}.nav__toggle i{display:block;width:18px;height:1.5px;background:var(--ink);position:relative}.nav__toggle i::before,.nav__toggle i::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink);transition:transform 220ms var(--ease-out)}.nav__toggle i::before{top:-6px}.nav__toggle i::after{top:6px}.nav__toggle[aria-expanded="true"] i{background:transparent}.nav__toggle[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}.nav__toggle[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}@media (max-width:1179px){.nav .nav__toggle{display:grid}}.menu{position:fixed;inset:var(--nav-h) 0 0;z-index:55;background:var(--paper);padding:40px var(--gutter);display:grid;align-content:start;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out),visibility 220ms}.menu.is-open{opacity:1;visibility:visible;transform:none}.menu a{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-2);letter-spacing:-.03em;text-decoration:none;padding-block:12px;border-bottom:1px solid var(--line)}.menu .btn{margin-top:24px;justify-self:start}.hero{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--line)}.hero__type{padding:clamp(48px,7vw,96px) var(--gutter) clamp(40px,5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,3vw,36px);max-width:820px;margin-inline:auto;width:100%}.hero__brandstrip{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:14px}.hero__brandstrip::after{content:"";flex:1;height:1px;background:var(--line);max-width:120px}.hero h1 .accentline{color:var(--accent)}.hero__sub{font-size:var(--step-1);color:var(--ink-2);max-width:34ch;line-height:1.45}.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.hero__beeld{position:relative;overflow:hidden;background:var(--paper-3);min-height:56vw}.hero__beeld img{width:100%;height:100%;object-fit:cover;object-position:center 60%}@media (min-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:stretch}.hero__type{padding:clamp(56px,6vw,80px) clamp(48px,5vw,80px) clamp(56px,6vw,80px) var(--gutter);max-width:none;margin:0;min-height:calc(100dvh - var(--nav-h));border-right:1px solid var(--line)}.hero__beeld{min-height:calc(100dvh - var(--nav-h))}}.feiten{border-bottom:1px solid var(--line)}.feiten__grid{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(2,1fr)}@media (min-width:860px){.feiten__grid{grid-template-columns:repeat(4,1fr)}}.feit{padding:26px 0 26px 22px;border-left:1px solid var(--line)}.feit:first-child{padding-left:0;border-left:0}@media (max-width:859px){.feit:nth-child(3){padding-left:0;border-left:0}.feit:nth-child(-n+2){border-bottom:1px solid var(--line)}}.feit__cijfer{font-family:"Archivo",sans-serif;font-weight:700;font-size:var(--step-2);letter-spacing:-.04em;line-height:1;display:block;font-variant-numeric:tabular-nums}.feit__label{font-size:var(--step--1);color:var(--ink-3);margin-top:8px;display:block}.kop h2{max-width:20ch}.kop--wide h2{max-width:24ch}.kop p{margin-top:20px;color:var(--ink-2);max-width:52ch;font-size:var(--step-1);line-height:1.5}.diensten{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}@media (min-width:760px){.diensten{grid-template-columns:repeat(2,1fr)}.dienst:nth-child(5){grid-column:span 2}}@media (min-width:1100px){.diensten{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto)}.dienst{grid-column:span 2}.dienst:nth-child(1){grid-column:span 2;grid-row:span 2}}.dienst{position:relative;background:var(--paper-2);display:flex;flex-direction:column;justify-content:flex-end;min-height:240px;padding:26px;isolation:isolate;overflow:hidden}.dienst__foto{position:absolute;inset:0;z-index:-2}.dienst__foto img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease-out)}.dienst__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,6,6,.86) 0%,rgba(6,6,6,.5) 42%,rgba(6,6,6,.12) 100%)}.dienst--foto h3,.dienst--foto p{color:#F4F4F2}.dienst--foto .link{color:#F4F4F2;border-color:rgba(244,244,242,.45)}@media (hover:hover) and (pointer:fine){.dienst--foto .link:hover{color:#fff;border-color:#fff}.dienst:hover .dienst__foto img{transform:scale(1.04)}}.dienst p{margin-top:10px;font-size:var(--step--1);line-height:1.55;max-width:42ch;color:var(--ink-2)}.dienst--foto p{color:rgba(244,244,242,.82)}.dienst .link{margin-top:20px;align-self:flex-start}.dienst:first-child h3{font-size:var(--step-2)}.cf{display:grid;gap:clamp(32px,4vw,56px);margin-top:clamp(40px,5vw,64px)}@media (min-width:1000px){.cf{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}}.cf__groep{border-top:1px solid var(--line);padding-top:18px;margin-top:26px}.cf__groep:first-child{margin-top:0}.cf__legenda{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px}.cf__gekozen{color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:500;font-family:"Manrope",sans-serif}.cf__opties{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:9px 15px;border:1px solid var(--line-strong);background:transparent;border-radius:0;cursor:pointer;font-size:var(--step--1);font-weight:500;transition:transform 140ms var(--ease-out),background-color 160ms ease,color 160ms ease,border-color 160ms ease}.chip:active{transform:scale(.97)}.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}@media (max-width:1079px){.chip{padding:12px 16px}}.stalen{display:flex;flex-wrap:wrap;gap:8px}.staal{width:44px;height:44px;border:1px solid var(--line-strong);padding:0;cursor:pointer;border-radius:0;position:relative;transition:transform 140ms var(--ease-out),box-shadow 160ms ease}.staal:active{transform:scale(.94)}.staal[aria-pressed="true"]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}.cf__doek{background:var(--paper-2);border:1px solid var(--line);padding:clamp(20px,3vw,40px);display:grid;gap:20px;justify-items:center}.cf__tekening{width:100%;max-width:460px;aspect-ratio:4/5;display:grid;place-items:center}.cf__tekening svg{width:100%;height:100%}.cf__bijschrift{font-size:var(--step--1);color:var(--ink-3);text-align:center;max-width:44ch}.cf__disclaimer{font-size:var(--step--1);color:var(--ink-3);margin-top:16px;max-width:60ch}.vergelijker{margin-top:clamp(32px,4vw,52px)}.vgl2__beeld{--pos:50%;position:relative;overflow:hidden;border:1px solid var(--line);touch-action:pan-y;user-select:none;cursor:ew-resize}.vgl2__beeld img{width:100%;aspect-ratio:16/9;object-fit:cover;pointer-events:none}.vgl2__voor{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.vgl2__voor img{height:100%}.vgl2__lijn{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--accent);transform:translateX(-1px);pointer-events:none}.vgl2__knop{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;background:var(--accent);display:grid;grid-template-columns:1fr 1fr;align-items:center;transition:transform 160ms var(--ease-out)}.vgl2__beeld:active .vgl2__knop{transform:translate(-50%,-50%) scale(.94)}.vgl2__knop::before,.vgl2__knop::after{content:"";width:0;height:0;justify-self:center;border-block:5px solid transparent}.vgl2__knop::before{border-right:7px solid var(--accent-ink)}.vgl2__knop::after{border-left:7px solid var(--accent-ink)}.vgl2__greep{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:none}.vgl2__greep:focus-visible+.vgl2__lijn .vgl2__knop{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink)}.vgl2__merk{position:absolute;bottom:14px;padding:6px 12px;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;background:rgba(8,8,8,.72);color:#F4F4F2;pointer-events:none}.vgl2__merk--l{left:14px}.vgl2__merk--r{right:14px}.vergelijker__bij{margin-top:14px;font-size:var(--step--1);color:var(--ink-3)}.hulp{margin-top:clamp(28px,3vw,44px);border:1px solid var(--line);background:var(--paper-2);padding:clamp(20px,3vw,32px)}.hulp__vraag{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;text-transform:uppercase;margin-bottom:12px}.hulp__vraag+.cf__opties{margin-bottom:24px}.hulp__uit{margin-top:8px;padding-top:18px;border-top:1px solid var(--line-strong);font-size:var(--step-1);line-height:1.45;letter-spacing:-.015em;font-family:"Archivo",sans-serif;font-weight:500;color:var(--ink-3)}.hulp__uit strong{color:var(--ink);font-weight:600}.vgl__kolom{transition:background-color 260ms ease,box-shadow 260ms ease}.vgl__kolom.is-advies{background:var(--paper-2);box-shadow:inset 0 3px 0 var(--accent)}.ww__teller{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums}.ww__teller b{color:var(--accent);font-weight:600}.stap__nr{transition:color 300ms ease,opacity 300ms ease}.stap:not(.is-gezien) .stap__nr{color:var(--line-strong)}.ww{display:grid;gap:clamp(32px,4vw,64px)}@media (min-width:1000px){.ww{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}.ww__sticky{position:static}@media (min-width:1000px){.ww__sticky{position:sticky;top:calc(var(--nav-h) + 48px)}}.stap{display:grid;grid-template-columns:auto 1fr;gap:20px 22px;padding-block:clamp(26px,3vw,38px);border-top:1px solid var(--line)}.stap:last-child{border-bottom:1px solid var(--line)}.stap__nr{font-family:"Archivo",sans-serif;font-weight:700;font-size:var(--step-1);letter-spacing:-.02em;color:var(--accent);line-height:1;padding-top:.15em;font-variant-numeric:tabular-nums}.stap p{margin-top:10px;color:var(--ink-2);max-width:54ch}.stap__meta{grid-column:2;display:grid;gap:4px 20px;margin-top:16px;font-size:var(--step--1)}@media (min-width:560px){.stap__meta{grid-template-columns:auto 1fr}}.stap__meta dt{color:var(--ink-3)}.stap__meta dd{margin:0;color:var(--ink)}.galerij__houder{position:relative}.galerij__houder::after{content:"";position:absolute;top:0;right:0;bottom:12px;width:clamp(40px,7vw,110px);background:linear-gradient(to left,var(--paper),transparent);pointer-events:none;opacity:0;transition:opacity 260ms ease}.galerij__houder.heeft-meer::after{opacity:1}.galerij.wordt-gesleept{scroll-snap-type:none;cursor:grabbing}.galerij{cursor:grab}.galerij__balk{display:flex;align-items:center;gap:24px;margin-top:22px}.galerij__spoor{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden}.galerij__spoor span{position:absolute;inset-block:0;left:0;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(.3);transition:transform 160ms var(--ease-out)}.galerij__knoppen{display:flex;gap:8px;flex:none}.pijl{width:46px;height:46px;display:grid;place-items:center;background:transparent;border:1px solid var(--line-strong);border-radius:0;cursor:pointer;font-family:"Archivo",sans-serif;font-size:20px;line-height:1;transition:transform 150ms var(--ease-out),background-color 160ms ease,color 160ms ease,border-color 160ms ease,opacity 160ms ease}.pijl:active{transform:scale(.94)}.pijl[disabled]{opacity:.32;cursor:default}@media (hover:hover) and (pointer:fine){.pijl:not([disabled]):hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}}.galerij{margin-top:clamp(32px,4vw,52px);display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,440px);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-inline:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));scroll-padding-inline:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)));padding-bottom:10px;scrollbar-width:thin}.galerij::-webkit-scrollbar{height:2px}.galerij::-webkit-scrollbar-thumb{background:var(--line-strong)}.project{scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);display:grid}.project img{width:100%;aspect-ratio:4/3;object-fit:cover}.project__bij{padding:16px 18px 22px;display:grid;gap:4px}.project__soort{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.project__wat{font-size:var(--step--1);color:var(--ink-2)}.vgl{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(36px,4vw,56px)}@media (min-width:860px){.vgl{grid-template-columns:1fr 1fr}}.vgl__kolom{background:var(--paper);padding:clamp(24px,3vw,40px)}.vgl__kop{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.vgl__wanneer{font-size:var(--step--1);color:var(--ink-3)}.vgl__lijst{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}.vgl__lijst li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:var(--step--1);line-height:1.55}.vgl__lijst li::before{content:"";width:14px;height:1.5px;background:var(--accent);margin-top:.65em}.vgl__lijst li.min::before{background:var(--line-strong)}.vgl__lijst li.min{color:var(--ink-3)}.redenen{list-style:none;margin:0;padding:0;display:grid;gap:0;margin-top:clamp(28px,3vw,44px)}.redenen li{padding-block:20px;border-top:1px solid var(--line);font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-1);letter-spacing:-.02em;line-height:1.25}.redenen li:last-child{border-bottom:1px solid var(--line)}.team{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(28px,3vw,44px)}@media (min-width:760px){.team{grid-template-columns:1fr 1fr}}.team__lid{background:var(--paper);display:grid}.team__lid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%}.team__lid figcaption{padding:18px 22px 24px;display:grid;gap:4px}.team__lid strong{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-1);letter-spacing:-.02em}.team__lid span{font-size:var(--step--1);color:var(--ink-3)}.team__lid.mist-foto img{display:none}.team__lid.mist-foto::before{content:"Foto volgt";aspect-ratio:4/5;background:var(--paper-2);display:grid;place-items:center;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.reviews{display:grid;gap:1px;background:var(--line);border-block:1px solid var(--line);margin-top:clamp(32px,4vw,52px)}@media (min-width:900px){.reviews{grid-template-columns:repeat(3,1fr)}}.review{background:var(--paper);padding:clamp(24px,3vw,36px);display:grid;align-content:start;gap:16px}.sterren{color:var(--accent);letter-spacing:.24em;font-size:var(--step--1)}.review blockquote{margin:0;font-size:var(--step-1);line-height:1.45;letter-spacing:-.015em;font-family:"Archivo",sans-serif;font-weight:500}.review figcaption{font-size:var(--step--1);color:var(--ink-3)}.faq{margin-top:clamp(32px,4vw,52px);border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding-block:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-1);letter-spacing:-.02em;line-height:1.25;transition:color 160ms ease}.faq summary::-webkit-details-marker{display:none}@media (hover:hover) and (pointer:fine){.faq summary:hover{color:var(--accent)}}.faq summary::after{content:"";flex:none;width:14px;height:14px;margin-top:.35em;background:linear-gradient(var(--ink),var(--ink)) center/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 14px no-repeat;transition:transform 220ms var(--ease-out)}.faq details[open] summary::after{transform:rotate(45deg)}.faq__antwoord{padding-bottom:24px;color:var(--ink-2);max-width:70ch}.cta{position:relative;isolation:isolate;overflow:hidden;background:#0E0E0E;color:#F4F4F2}.cta__media{position:absolute;inset:0;z-index:-2}.cta__media video,.cta__media img{width:100%;height:100%;object-fit:cover}.cta__media::after{content:"";position:absolute;inset:0;background:rgba(8,8,8,.62)}.cta__inner{max-width:var(--maxw);margin-inline:auto;padding:clamp(80px,10vw,160px) var(--gutter);display:grid;gap:26px;justify-items:start}.cta h2{max-width:18ch}.cta p{color:rgba(244,244,242,.78);max-width:46ch;font-size:var(--step-1)}.cta .btn--ghost{color:#F4F4F2;border-color:rgba(244,244,242,.5)}@media (hover:hover) and (pointer:fine){.cta .btn--ghost:hover{background:#F4F4F2;color:#0E0E0E;border-color:#F4F4F2}}.contact{display:grid;gap:clamp(40px,5vw,72px);margin-top:clamp(32px,4vw,52px)}@media (min-width:1000px){.contact{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}.veld{display:grid;gap:7px;margin-bottom:18px}.veld label{font-size:var(--step--1);font-weight:600}.veld__opt{color:var(--ink-3);font-weight:400}.veld input,.veld select,.veld textarea{width:100%;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:0;transition:border-color 160ms ease,background-color 160ms ease}.veld input::placeholder,.veld textarea::placeholder{color:var(--ink-3)}.veld input:focus,.veld select:focus,.veld textarea:focus{outline:none;border-color:var(--accent);background:var(--paper)}.veld textarea{min-height:120px;resize:vertical}.veld--fout input,.veld--fout select,.veld--fout textarea{border-color:var(--accent)}.veld__fout{font-size:var(--step--1);color:var(--accent);min-height:0}.velden-2{display:grid;gap:0 18px}@media (min-width:620px){.velden-2{grid-template-columns:1fr 1fr}}.verzend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}.verzend a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-strong)}.formnote{margin-top:18px;padding:16px 18px;border:1px solid var(--accent);color:var(--ink);font-size:var(--step--1);display:none}.formnote.is-zichtbaar{display:block}.beloftes{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;font-size:var(--step--1);color:var(--ink-2)}.beloftes li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.beloftes li::before{content:"";width:12px;height:1.5px;background:var(--accent);margin-top:.68em}.gegevens{display:grid;gap:26px;align-content:start}.gegevens h3{font-size:var(--step-1)}.gegevens__blok{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:6px}.gegevens__blok a{text-decoration:none;font-weight:600}.tijden{display:grid;grid-template-columns:auto 1fr;gap:4px 22px;font-size:var(--step--1);margin:0}.tijden dt{color:var(--ink-3)}.tijden dd{margin:0;font-variant-numeric:tabular-nums}.footer{border-top:1px solid var(--line);padding-block:clamp(48px,6vw,80px) 0}.footer__grid{display:grid;gap:36px}@media (min-width:760px){.footer__grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.footer h4{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;color:var(--ink-3)}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:var(--step--1)}.footer a{text-decoration:none;color:var(--ink-2);transition:color 160ms ease}@media (hover:hover) and (pointer:fine){.footer a:hover{color:var(--accent)}}.footer__merk{font-family:"Archivo",sans-serif;font-weight:700;font-size:var(--step-1);letter-spacing:-.02em;margin-bottom:12px}.footer__onder{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-block:22px;display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;font-size:var(--step--1);color:var(--ink-3)}.privacy summary{cursor:pointer;font-weight:600;color:var(--ink-2);padding-block:8px}.privacy p{margin-top:12px;font-size:var(--step--1);color:var(--ink-3);max-width:80ch}.actiebalk{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line-strong);transform:translateY(101%);transition:transform 260ms var(--ease-out);padding-bottom:env(safe-area-inset-bottom)}.actiebalk.is-zichtbaar{transform:none}.actiebalk a{padding:17px 10px;text-align:center;text-decoration:none;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em}.actiebalk a+a{background:var(--accent);color:var(--accent-ink)}@media (min-width:1180px){.actiebalk{display:none}}@media (max-width:1179px){.footer__onder{padding-bottom:calc(22px + 58px + env(safe-area-inset-bottom))}}.reveal{opacity:0;transform:translateY(14px);transition:opacity 620ms var(--ease-out),transform 620ms var(--ease-out)}.reveal.is-in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:60ms}.reveal[data-delay="2"]{transition-delay:120ms}.reveal[data-delay="3"]{transition-delay:180ms}.reveal[data-delay="4"]{transition-delay:240ms}.hero__type>*{opacity:0;transform:translateY(16px);animation:heroIn 760ms var(--ease-out) forwards}.hero__type>*:nth-child(1){animation-delay:60ms}.hero__type>*:nth-child(2){animation-delay:130ms}.hero__type>*:nth-child(3){animation-delay:200ms}.hero__type>*:nth-child(4){animation-delay:270ms}@keyframes heroIn{to{opacity:1;transform:none}}.hero__beeld img{clip-path:inset(0 0 100% 0);animation:beeldIn 900ms var(--ease-out) 120ms forwards}@keyframes beeldIn{to{clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-delay:0ms !important;transition-duration:1ms !important}.reveal{opacity:1;transform:none}.hero__type>*{opacity:1;transform:none}.hero__beeld img{clip-path:none}.galerij{scroll-snap-type:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.paginakop{border-bottom:1px solid var(--line);padding-block:clamp(40px,6vw,80px) clamp(32px,4vw,56px)}.paginakop__inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.paginakop h1{font-size:var(--step-3);max-width:20ch}.paginakop p{margin-top:18px;color:var(--ink-2);max-width:56ch;font-size:var(--step-1);line-height:1.5}.paginakop__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.kruimels{max-width:var(--maxw);margin-inline:auto;padding:18px var(--gutter) 0;font-size:var(--step--1);color:var(--ink-3)}.kruimels ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.kruimels li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--line-strong)}.kruimels a{text-decoration:none;color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.kruimels a:hover{color:var(--accent)}}.kruimels [aria-current]{color:var(--ink)}.proza{max-width:68ch}.proza h2{font-size:var(--step-2);margin-top:clamp(36px,4vw,56px)}.proza h3{margin-top:clamp(24px,3vw,36px)}.proza h2:first-child,.proza h3:first-child{margin-top:0}.proza p{margin-top:16px;color:var(--ink-2);line-height:1.65}.proza ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:12px}.proza ul li{position:relative;padding-left:28px;color:var(--ink-2);line-height:1.6}.proza ul li::before{content:"";position:absolute;left:0;top:.72em;width:14px;height:1.5px;background:var(--accent)}.proza strong{color:var(--ink);font-weight:600}.proza a{color:var(--ink);text-underline-offset:3px}.tekst-zij{display:grid;gap:clamp(32px,4vw,64px)}@media (min-width:1000px){.tekst-zij{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:start}}.zijbalk{position:static;display:grid;gap:24px;align-content:start}@media (min-width:1000px){.zijbalk{position:sticky;top:calc(var(--nav-h) + 40px)}}.zijkaart{border:1px solid var(--line);background:var(--paper-2);padding:clamp(20px,2.4vw,28px)}.zijkaart h3{font-size:var(--step-1)}.zijkaart p{margin-top:12px;font-size:var(--step--1);color:var(--ink-2);line-height:1.6}.zijkaart .btn{margin-top:18px;width:100%}.zijkaart__tel{display:block;margin-top:12px;text-align:center;font-size:var(--step--1);color:var(--ink-2);text-decoration:none}.specs{width:100%;border-collapse:collapse;margin-top:24px;font-size:var(--step--1)}.specs th,.specs td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}.specs th{width:38%;font-weight:600;color:var(--ink-3)}.specs td{color:var(--ink)}.dienstlijst{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(32px,4vw,52px)}@media (min-width:900px){.dienstlijst{grid-template-columns:repeat(3,1fr)}}.dienstlijst a{background:var(--paper);padding:clamp(22px,2.6vw,32px);text-decoration:none;display:grid;align-content:start;gap:10px;transition:background-color 200ms ease}@media (hover:hover) and (pointer:fine){.dienstlijst a:hover{background:var(--paper-2)}.dienstlijst a:hover .dienstlijst__pijl{transform:translateX(4px)}}.dienstlijst h3{font-size:var(--step-1)}.dienstlijst p{font-size:var(--step--1);color:var(--ink-2);line-height:1.55}.dienstlijst__pijl{margin-top:8px;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;text-transform:uppercase;color:var(--accent);transition:transform 200ms var(--ease-out)}.verder{border-top:1px solid var(--line);padding-block:clamp(40px,5vw,64px)}.verder__grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}@media (min-width:760px){.verder__grid{grid-template-columns:repeat(2,1fr)}}.verder__grid a{background:var(--paper);padding:22px 24px;text-decoration:none;display:grid;gap:6px;transition:background-color 200ms ease}@media (hover:hover) and (pointer:fine){.verder__grid a:hover{background:var(--paper-2)}}.verder__grid strong{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-0);letter-spacing:-.01em}.verder__grid span{font-size:var(--step--1);color:var(--ink-3)}.plaatsen{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.plaatsen a,.plaatsen span{padding:9px 15px;border:1px solid var(--line-strong);text-decoration:none;font-size:var(--step--1);color:var(--ink-2);transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}@media (hover:hover) and (pointer:fine){.plaatsen a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}}.plaatsen span{color:var(--ink-3);border-style:dashed}.nav__links a[aria-current]{color:var(--ink)}.nav__links a[aria-current]::after{content:"";display:block;height:2px;background:var(--accent);margin-top:4px}.invullen{background:color-mix(in srgb,var(--accent) 14%,transparent);border-bottom:1px dashed var(--accent);padding:1px 5px;font-style:normal}.nav__uitklap{position:relative}.nav__pijl{display:inline-block;width:0;height:0;margin-left:7px;vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;transition:transform 200ms var(--ease-out)}.submenu{position:absolute;top:100%;left:-16px;z-index:70;min-width:230px;margin:0;padding:8px 0;list-style:none;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 34px rgba(0,0,0,.10);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out),visibility 180ms}.nav__uitklap:hover .submenu,.nav__uitklap:focus-within .submenu{opacity:1;visibility:visible;transform:none}.nav__uitklap:hover .nav__pijl,.nav__uitklap:focus-within .nav__pijl{transform:rotate(180deg)}.submenu a{display:block;padding:9px 20px;font-size:var(--step--1);font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:background-color 150ms ease,color 150ms ease}@media (hover:hover) and (pointer:fine){.submenu a:hover{background:var(--paper-2);color:var(--ink)}}.submenu a[aria-current]{color:var(--accent)}.submenu a[aria-current]::after{display:none}.nav__uitklap::after{content:"";position:absolute;top:100%;left:0;right:0;height:10px}.menu__sub{font-size:var(--step-0) !important;font-weight:500 !important;color:var(--ink-2);padding-left:18px !important;border-bottom:1px solid var(--line)}.beeldrij{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(26px,3vw,40px)}@media (min-width:640px){.beeldrij--2{grid-template-columns:repeat(2,1fr)}.beeldrij--3{grid-template-columns:repeat(3,1fr)}}.beeldrij figure{background:var(--paper);margin:0;display:grid;align-content:start}.beeldrij img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--paper-2)}.beeldrij--product img{object-fit:contain;padding:16px;background:var(--paper-2)}.beeldrij figcaption{padding:14px 18px 18px;font-size:var(--step--1);color:var(--ink-3);line-height:1.5}.beeldrij figcaption strong{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}.paginakop--beeld{position:relative;isolation:isolate;overflow:hidden;background:#0E0E0E;color:#F4F4F2;border-bottom:0;padding-block:clamp(52px,7vw,104px) clamp(44px,6vw,88px)}.paginakop--beeld .paginakop__media{position:absolute;inset:0;z-index:-2}.paginakop--beeld .paginakop__media img{width:100%;height:100%;object-fit:cover}.paginakop--beeld .paginakop__media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,8,8,.86) 0%,rgba(8,8,8,.70) 42%,rgba(8,8,8,.34) 100%)}.paginakop--beeld h1{color:#F4F4F2}.paginakop--beeld p{color:rgba(244,244,242,.84)}.paginakop--beeld .btn--ghost{color:#F4F4F2;border-color:rgba(244,244,242,.5)}@media (hover:hover) and (pointer:fine){.paginakop--beeld .btn--ghost:hover{background:#F4F4F2;color:#0E0E0E;border-color:#F4F4F2}}.paginakop--beeld .kruimels{padding:0 0 22px;max-width:none}.paginakop--beeld .kruimels,.paginakop--beeld .kruimels a{color:rgba(244,244,242,.62)}.paginakop--beeld .kruimels li:not(:last-child)::after{color:rgba(244,244,242,.38)}.paginakop--beeld .kruimels [aria-current]{color:#F4F4F2}@media (hover:hover) and (pointer:fine){.paginakop--beeld .kruimels a:hover{color:var(--accent)}}.merken{border-block:1px solid var(--line);background:var(--paper-2);overflow:hidden;position:relative;padding-block:22px}.merken__label{max-width:var(--maxw);margin:0 auto 16px;padding-inline:var(--gutter);font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.merken__spoor{display:flex;width:max-content;will-change:transform}.merken__reeks{display:flex;align-items:center;gap:clamp(38px,5vw,72px);padding-right:clamp(38px,5vw,72px);flex:none}.merk{display:flex;align-items:center;gap:10px;flex:none;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step-1);letter-spacing:-.01em;color:var(--ink-2);white-space:nowrap}.merk img{height:34px;width:auto;opacity:.85}.merk small{font-family:"Manrope",sans-serif;font-weight:500;font-size:var(--step--1);color:var(--ink-3);letter-spacing:0}@media (prefers-reduced-motion:no-preference){.merken__spoor{animation:merkenLoop 38s linear infinite}.merken:hover .merken__spoor{animation-play-state:paused}}@keyframes merkenLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}.merken::before,.merken::after{content:"";position:absolute;top:0;bottom:0;width:clamp(30px,6vw,90px);z-index:2;pointer-events:none}.merken::before{left:0;background:linear-gradient(to right,var(--paper-2),transparent)}.merken::after{right:0;background:linear-gradient(to left,var(--paper-2),transparent)}.projectkaarten{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(32px,4vw,52px)}@media (min-width:700px){.projectkaarten{grid-template-columns:repeat(2,1fr)}}@media (min-width:1100px){.projectkaarten{grid-template-columns:repeat(3,1fr)}}.projectkaart{background:var(--paper);text-decoration:none;display:grid;align-content:start;transition:background-color 220ms ease}.projectkaart img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 500ms var(--ease-out)}.projectkaart__tekst{padding:20px 22px 26px;display:grid;gap:6px}.projectkaart h3{font-size:var(--step-1)}.projectkaart p{font-size:var(--step--1);color:var(--ink-2);line-height:1.55}.projectkaart__meta{font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.projectkaart__aantal{font-size:var(--step--1);color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.projectkaart:hover{background:var(--paper-2)}.projectkaart:hover img{transform:scale(1.04)}}.fotos{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(28px,3vw,44px);grid-template-columns:repeat(2,1fr)}@media (min-width:760px){.fotos{grid-template-columns:repeat(3,1fr)}}@media (min-width:1100px){.fotos{grid-template-columns:repeat(4,1fr)}}.fotos button{padding:0;border:0;background:var(--paper);cursor:zoom-in;display:block;transition:opacity 200ms ease}.fotos img{width:100%;aspect-ratio:1;object-fit:cover;display:block}@media (hover:hover) and (pointer:fine){.fotos button:hover{opacity:.82}}.vergroot{border:0;padding:0;max-width:100vw;max-height:100vh;width:100%;height:100%;background:rgba(8,8,8,.94)}.vergroot::backdrop{background:rgba(8,8,8,.94)}.vergroot__vak{width:100%;height:100%;display:grid;place-items:center;padding:clamp(16px,4vw,56px);position:relative}.vergroot img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain}.vergroot__bij{position:absolute;left:0;right:0;bottom:clamp(16px,3vw,32px);text-align:center;color:rgba(244,244,242,.78);font-size:var(--step--1);padding-inline:20px}.vergroot__sluit,.vergroot__vorige,.vergroot__volgende{position:absolute;background:rgba(244,244,242,.12);border:1px solid rgba(244,244,242,.34);color:#F4F4F2;width:52px;height:52px;display:grid;place-items:center;cursor:pointer;font-family:"Archivo",sans-serif;font-size:20px;line-height:1;border-radius:0;transition:background-color 160ms ease,transform 150ms var(--ease-out)}.vergroot__sluit:active,.vergroot__vorige:active,.vergroot__volgende:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.vergroot__sluit:hover,.vergroot__vorige:hover,.vergroot__volgende:hover{background:rgba(244,244,242,.24)}}.vergroot__sluit{top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px)}.vergroot__vorige{left:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}.vergroot__volgende{right:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}.vergroot__vorige:active,.vergroot__volgende:active{transform:translateY(-50%) scale(.94)}.projectlink{scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);display:grid;text-decoration:none;overflow:hidden;transition:background-color 220ms ease}.projectlink .project{border:0;background:transparent}.projectlink img{transition:transform 500ms var(--ease-out)}.projectlink__meer{padding:0 18px 18px;font-family:"Archivo",sans-serif;font-weight:600;font-size:var(--step--1);letter-spacing:.02em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:.4em}.projectlink__meer span{transition:transform 200ms var(--ease-out)}@media (hover:hover) and (pointer:fine){.projectlink:hover{background:var(--paper-2)}.projectlink:hover img{transform:scale(1.04)}.projectlink:hover .projectlink__meer span{transform:translateX(4px)}}.galerij__naaralle{margin-top:18px;display:flex;justify-content:flex-end}

/* ---------- mobiele correcties ---------- */
/* Het overlaymenu is langer dan een telefoonscherm zodra Diensten is
   uitgeklapt. Zonder scrollen is de offerteknop onbereikbaar. */
.menu{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:calc(40px + env(safe-area-inset-bottom));
}
.menu a{font-size:var(--step-1)}
.menu .menu__sub{font-size:var(--step-0) !important}

/* Tekstlinks waren circa 30px hoog; op touch is 44px het minimum. */
@media (max-width:1179px){
  .link{padding-block:13px}
  .verder__grid a{padding-block:20px}
}

/* In de vergrootweergave stonden de pijlen op de foto. Op smalle schermen
   onderaan naast het bijschrift. */
@media (max-width:640px){
  .vergroot img{max-height:calc(100vh - 210px)}
  .vergroot__vorige,.vergroot__volgende{
    top:auto;bottom:clamp(16px,4vw,28px);transform:none;width:56px;height:48px;
  }
  .vergroot__vorige:active,.vergroot__volgende:active{transform:scale(.94)}
  .vergroot__vorige{left:clamp(12px,4vw,24px)}
  .vergroot__volgende{right:clamp(12px,4vw,24px)}
  .vergroot__bij{bottom:clamp(78px,16vw,96px)}
}

/* Logo's verschillen sterk in vorm; uitlijnen op hoogte en de verhouding vrij laten. */
.merk img{height:30px;width:auto;max-width:150px;object-fit:contain}
.merk small{display:block;margin-top:4px}
.merk{flex-direction:column;align-items:flex-start;gap:0}

/* Elk logo heeft een andere verhouding en interne marge. Hoogte per merk
   afgestemd zodat ze optisch even zwaar wegen op de balk. */
.merk img[src*="kommerling"]{height:28px}
.merk img[src*="aluplast"]{height:40px}
.merk img[src*="aluprof"]{height:26px}
.merk img[src*="keralit"]{height:32px}
.merk img[src*="komo"]{height:38px}

/* Alleen logo's: geen bijschrift meer, dus horizontaal uitlijnen en met drie
   reeksen doorlopen in plaats van twee. */
.merk{flex-direction:row;align-items:center;gap:0}
.merk small{display:none}
.merken__spoor{animation-name:merkenLoop3 !important}
@keyframes merkenLoop3{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
.merk img{height:32px;max-width:170px}

/* Logo's zijn bijgesneden tot de inkt en allemaal 96px hoog aangeleverd.
   Eén hoogte volstaat nu, en ze staan optisch gelijk. */
.merk img{height:26px !important;max-width:none;width:auto}
.merken__reeks{align-items:center}

/* Vierkante merken ogen kleiner dan woordmerken bij gelijke hoogte. Hoogte
   afgestemd op ongeveer gelijk oppervlak, verticaal blijven ze gecentreerd. */
.merk img[src*="komo"]{height:38px !important}
.merk img[src*="keralit"]{height:29px !important}

/* ============================================================
   MONTAGE, stap voor stap
   Doorsnede als SVG zodat hij in beide thema's klopt en scherp
   blijft. De tekening bouwt zich op: bij stap N staat alles uit
   1 tot en met N, en licht het nieuwste onderdeel op.
   ============================================================ */
.mtg{display:grid;gap:32px;align-items:start}
@media (min-width:900px){.mtg{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px}
  .mtg__tek{position:sticky;top:96px}}
.mtg__tek{border:1px solid var(--line);background:var(--paper-2,var(--paper));padding:12px;overflow-x:auto}
.mtg-tek{display:block;width:100%;height:auto;min-width:420px;
  --tk-steen:#B4796A;--tk-isolatie:#DCD6C6;--tk-blok:#C9C9C4;--tk-hout:#C69A5E;
  --tk-band:#E8A33C;--tk-stel:#3A3D40;--tk-profiel:#FCFCFA;--tk-glas:#BBD3DC;
  --tk-rubber:#1A1C1E;--tk-afwerk:#E4E2DC;--tk-lijn:var(--ink)}
@media (prefers-color-scheme:dark){.mtg-tek{--tk-steen:#7C5148;--tk-isolatie:#4C483E;
  --tk-blok:#4A4A47;--tk-hout:#8A6A3E;--tk-band:#9A6E28;--tk-stel:#141618;
  --tk-profiel:#E6E6E2;--tk-glas:#34474F;--tk-rubber:#0A0B0C;--tk-afwerk:#3A3A37}}
:root[data-theme="dark"] .mtg-tek{--tk-steen:#7C5148;--tk-isolatie:#4C483E;
  --tk-blok:#4A4A47;--tk-hout:#8A6A3E;--tk-band:#9A6E28;--tk-stel:#141618;
  --tk-profiel:#E6E6E2;--tk-glas:#34474F;--tk-rubber:#0A0B0C;--tk-afwerk:#3A3A37}
:root[data-theme="light"] .mtg-tek{--tk-steen:#B4796A;--tk-isolatie:#DCD6C6;
  --tk-blok:#C9C9C4;--tk-hout:#C69A5E;--tk-band:#E8A33C;--tk-stel:#3A3D40;
  --tk-profiel:#FCFCFA;--tk-glas:#BBD3DC;--tk-rubber:#1A1C1E;--tk-afwerk:#E4E2DC}

.tk-omtrek{fill:none;stroke:var(--tk-lijn);stroke-width:1.8}
.tk-voeg line,line.tk-voeg{stroke:var(--tk-lijn);stroke-width:1;opacity:.35}
.tk-kamer line{stroke:var(--tk-lijn);stroke-width:1;opacity:.4}
.tk-as__tekst{font:600 13px/1 Manrope,system-ui,sans-serif;fill:var(--muted,var(--ink));
  text-transform:uppercase;letter-spacing:.08em;text-anchor:middle;opacity:.7}
.tk-pijl{stroke:var(--tk-lijn);stroke-width:1.5;opacity:.5}
.tk-oud rect{fill:none;stroke:var(--tk-lijn);stroke-width:1.6;stroke-dasharray:6 5;opacity:.75}
.tk-oud line{stroke:var(--tk-lijn);stroke-width:1.4;stroke-dasharray:6 5;opacity:.5}
.tk-schroef line{stroke:var(--tk-lijn);stroke-width:3;stroke-linecap:round}
.tk-schroef circle{fill:var(--tk-lijn)}
.tk-geenkit circle{fill:none;stroke:var(--accent);stroke-width:3}
.tk-geenkit line{stroke:var(--accent);stroke-width:3;stroke-linecap:round}
.etiket{font:600 12px/1 Manrope,system-ui,sans-serif;fill:var(--ink);text-anchor:middle}
.etiket--links{text-anchor:end}

/* Zonder JavaScript staat de hele tekening er en zijn alle zeven stappen
   gewoon leesbaar. Het opbouwen begint pas als .mtg--js erbij komt. */
.mtg--js [data-s],.mtg--js .etiket{transition:opacity .35s var(--ease-out)}
.mtg--js .etiket{opacity:0}
.mtg--js .is-nu .etiket{opacity:1}
.mtg--js .is-uit{opacity:0;pointer-events:none}
.mtg--js .is-nu .tk-omtrek{stroke:var(--accent);stroke-width:3}

.mtg__stappen{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mtg__stap{display:grid;grid-template-columns:36px 1fr;gap:16px;width:100%;text-align:left;
  background:none;border:0;border-top:1px solid var(--line);padding:18px 4px;cursor:default;
  font:inherit;color:inherit;align-items:start}
.mtg__stappen li:last-child .mtg__stap{border-bottom:1px solid var(--line)}
.mtg--js .mtg__stap{cursor:pointer;transition:background .2s var(--ease-out)}
.mtg--js .mtg__stap:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.mtg--js .mtg__stap:active{transform:scale(.995)}
.mtg__nr{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);
  font:700 14px/1 Archivo,system-ui,sans-serif;transition:background .25s var(--ease-out),
  color .25s var(--ease-out),border-color .25s var(--ease-out)}
.mtg__stap[aria-pressed="true"] .mtg__nr{background:var(--accent);border-color:var(--accent);color:#fff}
.mtg__tekst strong{display:block;margin-bottom:6px}
.mtg--js .mtg__tekst{color:var(--muted,inherit)}
.mtg--js .mtg__stap[aria-pressed="true"] .mtg__tekst{color:var(--ink)}
@media (prefers-reduced-motion:reduce){.mtg--js [data-s],.mtg--js .etiket,.mtg__nr{transition:none}}

/* ============================================================
   CONFIGURATOR: meer keuzes
   Structuur en een afwijkend draaideel staan dicht als
   standaard. De meeste mensen willen glad met een draaideel in
   dezelfde kleur, en die hoeven de vraag dus niet te zien.
   ============================================================ */
.cf__meer{border-top:1px solid var(--line);margin-top:4px}
.cf__meerknop{display:flex;align-items:baseline;gap:10px;width:100%;padding:16px 0;
  background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:left;
  transition:opacity .2s var(--ease-out)}
.cf__meerknop:hover{opacity:.7}
.cf__meerknop:active{transform:scale(.99)}
.cf__meerknop>span:first-child{font-weight:700}
.cf__meerhint{flex:1;font-size:.86rem;color:var(--muted,inherit);opacity:.8}
.cf__meerteken{position:relative;width:13px;height:13px;flex:0 0 13px;align-self:center}
.cf__meerteken::before,.cf__meerteken::after{content:"";position:absolute;background:currentColor;
  transition:transform .25s var(--ease-out),opacity .25s var(--ease-out)}
.cf__meerteken::before{left:0;top:6px;width:13px;height:1.5px}
.cf__meerteken::after{left:6px;top:0;width:1.5px;height:13px}
.cf__meerknop[aria-expanded="true"] .cf__meerteken::after{transform:rotate(90deg);opacity:0}
.cf__meervak{padding-bottom:8px;display:grid;gap:20px}
.cf__uitleg{margin:8px 0 0;font-size:.84rem;line-height:1.5;color:var(--muted,inherit);opacity:.85}
.cf__schakel{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700}
.cf__schakel input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent);margin:0}
.cf__draaivak{margin-top:16px}
@media (prefers-reduced-motion:reduce){
  .cf__meerknop,.cf__meerteken::before,.cf__meerteken::after{transition:none}}

/* Onder 1000px staat de configurator in één kolom. De knop onder de tekening
   heeft een lang label en staat op white-space:nowrap, waardoor die kolom
   breder werd dan het scherm en de pagina horizontaal ging schuiven. */
@media (max-width:999px){
  .cf{grid-template-columns:minmax(0,1fr)}
  .cf__doek .btn{white-space:normal;text-align:center;line-height:1.3}
}

/* Losse foto binnen lopende tekst, en het profielmonster onder de
   configurator. Allebei bedoeld als bewijs bij een belofte in de tekst. */
.prozabeeld,.cf__bewijs{margin:32px 0 0;border:1px solid var(--line)}
.prozabeeld img,.cf__bewijs img{display:block;width:100%;height:auto}
.prozabeeld figcaption,.cf__bewijs figcaption{padding:14px 16px;font-size:.86rem;
  line-height:1.5;color:var(--muted,inherit);border-top:1px solid var(--line)}
.prozabeeld{max-width:420px}
.prozabeeld--breed{max-width:640px;margin-inline:auto}

/* ---------- kennisbank: blogoverzicht en auteursblok ---------- */
.blogrooster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(16px,2.5vw,32px);margin-top:32px}
.blogkaart{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line);text-decoration:none;transition:border-color .25s var(--ease-out),transform .25s var(--ease-out)}
.blogkaart:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.blogkaart img{width:100%;aspect-ratio:16/10;object-fit:cover}
.blogkaart__tekst{display:flex;flex-direction:column;gap:10px;padding:clamp(16px,2vw,24px);flex:1}
.blogkaart__datum{font-size:var(--step--1);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.blogkaart h3{font-size:var(--step-1)}
.blogkaart p{color:var(--ink-2);font-size:var(--step--1);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blogkaart__meer{margin-top:auto;padding-top:6px;color:var(--accent);font-weight:700;font-size:var(--step--1)}
.auteur{display:flex;gap:20px;align-items:flex-start;margin-top:48px;padding:clamp(18px,2.5vw,28px);background:var(--paper-2);border:1px solid var(--line)}
.auteur img{width:84px;height:84px;object-fit:cover;object-position:top;border-radius:50%;flex-shrink:0}
.auteur div{display:flex;flex-direction:column;gap:6px}
.auteur strong{font-family:"Archivo",system-ui,sans-serif;font-size:var(--step-1);letter-spacing:-.02em}
.auteur span{color:var(--ink-2);font-size:var(--step--1);line-height:1.55}
.auteur__datum{color:var(--ink-3)}
