/* ==========================================================================
   Prodaktief · site.css  (schema eazy-site/1.0)
   1-op-1 nabouw van de bestaande huisstijl (gemeten op export 02-10-2026).
   Eén stylesheet, geen positie-afhankelijke selectors, ruimte is eigendom van het blok.
   CMS: :root-tokens zijn de thema-instellingen.
   ========================================================================== */
@font-face{font-family:"Roboto Condensed";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/storage/cms-assets/02d94d3f80e59423db565c8f0483e3e8e0862c5e.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{
  --c-brand:#26a196;        /* teal: knoppen, accenten, topbar, footer */
  --c-brand-dark:#1c7870;   /* hover */
  --c-brand-deep:#0c534d;   /* onderste balk */
  --c-tint:#e3f2f1;         /* lichte sectie-achtergrond */
  --c-field:#d6e7e0;        /* invoervelden */
  --c-ink:#000;             /* koppen en lopende tekst */
  --c-muted:#5a5c5b;        /* labels */
  --c-white:#fff;
  --font:"Roboto Condensed",Helvetica,Arial,sans-serif;
  --fs-body:16px; --lh-body:2;
  --fs-h1:60px; --lh-h1:1.2;
  --fs-h2:32px; --lh-h2:1.5;
  --fs-h3:28px;
  --fs-card:26px;
  --fs-xl:45px;
  --radius:5px; --radius-btn:3px;
  --container:1296px; --gutter:32px;
  --space-section:80px;
  --shadow-frame:10px 10px 0 0 var(--c-brand);
}
@media (max-width:767px){
  :root{--fs-h1:32px;--fs-h2:26px;--fs-h3:20px;--fs-card:28px;--fs-xl:24px;--space-section:64px}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-ink);background:var(--c-white)}
img,video,svg{max-width:100%;display:block}
img{height:auto}
p,ul,ol,figure,blockquote{margin:0}
h1,h2,h3,h4{margin:0;font-weight:700;color:var(--c-ink)}
a{color:inherit}
a:hover{color:var(--c-brand-dark)}
:focus-visible{outline:3px solid #f5b400;outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--c-white);color:var(--c-ink);padding:8px 16px;border-radius:var(--radius-btn)}
.skip:focus{top:8px}
.container{width:min(var(--container),calc(100% - 2*var(--gutter)));margin-inline:auto}
.hl{color:var(--c-brand)}
.sec--tint .hl,.sec .hl{color:var(--c-brand)}
.h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700}
.h-xl{font-size:var(--fs-xl);line-height:1.5}
.center{text-align:center}

/* ---------- Knoppen ---------- */
.btn{display:inline-block;padding:8px 16px;font:600 16px/1.5 var(--font);color:var(--c-white);background:var(--c-brand);
  border:1px solid transparent;border-radius:var(--radius-btn);text-decoration:none;cursor:pointer;transition:background .3s ease-in-out;text-align:center}
.btn:hover,.btn:focus-visible{background:var(--c-brand-dark);color:var(--c-white);text-decoration:none}
.btn--block{display:block;width:100%;line-height:2}
.btn-row{display:flex;justify-content:center;padding-top:32px}

/* ---------- Topbar ---------- */
.topbar{background:var(--c-brand);color:var(--c-white);font-size:14px;line-height:32px;position:relative;z-index:20}
.topbar .container{display:flex;align-items:center;justify-content:space-between;min-height:40px;gap:24px}
.topbar ul{display:flex;gap:clamp(24px,7vw,100px);list-style:none;padding:0}
.topbar a,.topbar span{display:inline-flex;align-items:center;gap:8px;color:var(--c-white);text-decoration:none}
.topbar a:hover{text-decoration:underline;color:var(--c-white)}
.topbar svg{width:18px;height:18px;fill:currentColor;flex:none}
@media (max-width:899px){.topbar .container{justify-content:center}.topbar ul{display:none}}

/* ---------- Header ---------- */
.site-header{position:absolute;left:0;right:0;top:40px;z-index:15}
.site-header .container{display:flex;align-items:center;gap:32px;padding-top:11px}
.site-header .nav{margin-left:auto}
.site-header .header-actions{margin-left:0}
.logo img{width:168px;height:auto}
.nav ul{display:flex;gap:clamp(1.1rem,1.6vw,2rem);list-style:none;padding:0}
.nav a{color:var(--c-white);text-decoration:none;font-size:16px;line-height:19px;display:block;padding:6px 0}
.nav a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--c-white)}
.header-actions{display:flex;align-items:center;gap:32px}
.menu-toggle{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--c-white)}
.menu-toggle svg{width:34px;height:34px}
@media (max-width:1279px){
  .logo img{width:120px}
  .site-header .header-actions{margin-left:auto}
  .site-header .container{padding-top:11px}
  .nav,.header-actions .btn{display:none}
  .menu-toggle{display:block}
}
/* Header zonder hero (404) */
.site-header--solid{position:relative;top:0;background:var(--c-brand);padding-bottom:11px}
.site-header--solid .btn{background:var(--c-brand-deep)}
/* Mobiel menu (teal paneel, schuift van boven in) */
.mobile-menu{position:fixed;inset:0;z-index:100;background:var(--c-brand);transform:translateY(-100%);transition:transform .3s ease-in-out;visibility:hidden;overflow:auto}
.mobile-menu.is-open{transform:none;visibility:visible}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 16px 0 30px}
.mobile-menu__top img{width:90px}
.mobile-menu__close{background:none;border:0;color:var(--c-white);cursor:pointer;padding:10px}
.mobile-menu__close svg{width:26px;height:26px}
.mobile-menu ul{list-style:none;padding:24px 0;margin:0;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.mobile-menu a{color:var(--c-white);text-decoration:none;font-size:16px;line-height:32px}
.mobile-menu .btn{background:var(--c-white);color:var(--c-brand-deep);margin-top:12px}

/* ---------- Hero ---------- */
.hero{position:relative;color:var(--c-white);background:#2c2f2e;overflow:hidden;display:flex;align-items:center}
.hero--home{min-height:max(640px,calc(100vh - 40px));min-height:max(640px,calc(100svh - 40px))}
.hero--page{min-height:600px}
.hero--short{min-height:560px}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__media img{opacity:0;transition:opacity .8s ease}
.hero__media img.is-active{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.22) 100%);z-index:1}
.hero--dim::after{background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.25) 100%)}
.hero__inner{position:relative;z-index:2;padding-block:180px 96px}
.hero h1{color:var(--c-white);font-size:var(--fs-h1);line-height:var(--lh-h1);max-width:608px}
.hero--page h1{max-width:760px}
.hero__lead{max-width:608px;margin-top:24px;color:var(--c-white)}
.hero--page .hero__lead{max-width:907px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:31px}
.hero__phone{display:inline-flex;align-items:center;gap:8px;color:var(--c-white);text-decoration:none;font-size:16px}
.hero__phone svg{width:20px;height:20px;fill:currentColor}
.hero__phone:hover{color:var(--c-white);text-decoration:underline}
.hero__badge{display:inline-block;margin-top:14px}
.hero__badge img{width:101px;height:63px;object-fit:contain}
.hero__next{position:absolute;right:max(var(--gutter),calc((100% - var(--container))/2));bottom:80px;z-index:3;width:40px;height:40px;border-radius:50%;
  background:rgba(117,117,117,.32);display:grid;place-items:center;color:var(--c-white)}
.hero__next svg{width:20px;height:20px;fill:currentColor}
.hero__next:hover{background:rgba(117,117,117,.6);color:var(--c-white)}
@media (max-width:767px){.hero__inner{padding-block:150px 80px}.hero--page,.hero--short{min-height:520px}.hero__next{display:none}}

/* ---------- Secties ---------- */
.sec{padding-block:var(--space-section);background:var(--c-white)}
.sec--tint{background:var(--c-tint)}
.sec--flush-top{padding-top:0}
.sec--flush-bottom{padding-bottom:0}
.sec__head{margin-bottom:40px}
.sec__head.center{max-width:900px;margin-inline:auto}
.sec__lead{margin-top:16px}

/* Intro: kop links, tekst rechts */
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px 64px;align-items:center}
.split h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
@media (max-width:899px){.split{grid-template-columns:1fr}}

/* Kaarten (diensten / voordelen) */
.cards{display:grid;gap:32px;margin-top:50px;list-style:none;padding:0}
.cards--4{grid-template-columns:repeat(4,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1099px){.cards--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:899px){.cards--3{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.cards--4,.cards--3{grid-template-columns:1fr}}
.card{background:var(--c-white);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card__img{aspect-ratio:3/2;width:100%;object-fit:cover}
.card__body{padding:32px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.card h3{font-size:var(--fs-card);line-height:1;margin-bottom:17px}
.card p{margin-bottom:24px}
.card .btn{margin-top:auto}
.card__check{margin:auto auto 0;width:40px;height:40px;color:var(--c-brand)}
.card--benefit .card__body{padding-bottom:16px}
.card--benefit p{margin-bottom:16px}

/* CTA-banner (half op tint, half op wit) */
.banner-wrap{background:linear-gradient(var(--c-tint) 50%,var(--c-white) 50%)}
.banner-wrap--white{background:var(--c-white)}
.banner{position:relative;border-radius:var(--radius);overflow:hidden;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;padding:20px 32px;color:var(--c-white)}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.banner>*:not(img){position:relative;z-index:1}
.banner__title{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:700;color:var(--c-white)}
@media (max-width:767px){.banner{flex-direction:column;justify-content:center;text-align:center;min-height:250px;padding:32px 24px}}

/* Waarom-accordeon (5 panelen, actief paneel 60%) */
.why{display:flex;gap:8px}
.why__panel{position:relative;flex:0 0 calc((40% - 32px)/4);height:400px;border-radius:var(--radius);overflow:hidden;background:#000;
  display:flex;flex-direction:column;justify-content:flex-end;padding:32px;transition:flex-basis .5s ease .2s;cursor:pointer;color:var(--c-white)}
.why__panel.is-active{flex-basis:60%;transition:flex-basis .5s ease 0s;cursor:default}
.why__panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.why__panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(0deg,rgba(0,0,0,.65) 16%,rgba(0,0,0,0) 100%);z-index:1}
.why__label{position:absolute;z-index:3;left:12px;bottom:32px;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:24px;line-height:1.5;font-weight:700;letter-spacing:1px;
  background:none;border:0;color:var(--c-white);padding:0;font-family:var(--font);cursor:pointer;transition:opacity .2s}
.why__panel.is-active .why__label{opacity:0;pointer-events:none}
.why__content{position:relative;z-index:2;opacity:0;transform:translateY(200px);width:max(60vw,100%);max-width:722px}
.why__panel.is-active .why__content{opacity:1;transform:none;transition:opacity .5s .5s,transform .5s .5s}
.why__content h3{font-size:var(--fs-h3);line-height:1.5;color:var(--c-white);margin-bottom:25px}
.why__content p{max-width:60%;opacity:.9;color:var(--c-white)}
@media (max-width:835px){.why__content p{max-width:90%}.why__label{font-size:18px}}
@media (max-width:700px){
  .why{flex-direction:column}
  .why__panel{flex:none;width:100%;height:300px;padding:24px 16px;transition:height .5s ease}
  .why__panel.is-active{height:400px}
  .why__content{width:100%}
}
/* Zonder JS: alle panelen leesbaar */
.no-js .why{flex-direction:column}.no-js .why__panel{flex:none;height:auto;min-height:300px}.no-js .why__content{opacity:1;transform:none}.no-js .why__label{display:none}

/* Keurmerken */
.trust{margin:0;padding-left:0;display:flex;justify-content:center;align-items:center;gap:64px;flex-wrap:wrap;padding-top:80px}
.trust img{height:auto}
.trust li{list-style:none}
.trust__vebidak{width:100px}
.trust__vca{width:210px}

/* Projectgalerij (4 kolommen, groot-klein mozaïek) */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.gallery figure{border-radius:var(--radius);overflow:hidden;aspect-ratio:1}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
.gallery .g-big-r{grid-column:3 / span 2;grid-row:2 / span 2}
@media (max-width:767px){.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery .g-big,.gallery .g-big-r{grid-column:auto;grid-row:auto}}

/* Media + tekst met teal offset-kader */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.media-split--rev .media-split__media{order:2}
.media-split--top{align-items:start}
.frame{border-radius:var(--radius);box-shadow:var(--shadow-frame);overflow:hidden;aspect-ratio:616/427;background:#000;margin:0 10px 10px 0}
.frame img,.frame video{width:100%;height:100%;object-fit:cover}
.media-split h2{font-size:var(--fs-h2);line-height:var(--lh-h2);margin-bottom:24px}
.media-split .prose p+p{margin-top:16px}
.media-split .btn{margin-top:24px}
.media-split .note{margin-top:24px}
@media (max-width:899px){.media-split{grid-template-columns:1fr;gap:40px}.media-split--rev .media-split__media{order:0}}

/* Slider (fade) in kader */
.slides{position:relative;width:100%;height:100%}
.slides img{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slides img.is-active{opacity:1}

/* Iconlijst met teal vak */
.icon-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:16px}
.icon-list li{display:flex;align-items:stretch;border:1px solid var(--c-brand);background:var(--c-white);line-height:1.5}
.icon-list li::before{content:"";flex:0 0 50px;background:var(--c-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") center/18px no-repeat}
.icon-list span{padding:16px;font-weight:700}
.icon-list strong{font-weight:700}

/* Drie kolommen met onderstreepte kop */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.cols3 h3{font-size:var(--fs-h2);line-height:var(--lh-h2);text-align:center;padding-bottom:16px;margin-bottom:24px;position:relative}
.cols3 h3::after{content:"";position:absolute;left:50%;bottom:0;width:160px;height:2px;background:var(--c-brand);transform:translateX(-50%)}
@media (max-width:899px){.cols3{grid-template-columns:1fr;gap:48px}}

/* Stappen (werkwijze) */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:step}
.steps li{background:var(--c-tint);border-radius:var(--radius);padding:32px;position:relative;counter-increment:step}
.sec--tint .steps li{background:var(--c-white)}
.steps li::before{content:counter(step);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--c-brand);color:var(--c-white);font-weight:700;margin-bottom:16px}
.steps h3{font-size:20px;line-height:1.5;margin-bottom:8px}
@media (max-width:1099px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.steps{grid-template-columns:1fr}}

/* Feitenlijst (definities) */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 32px;margin-top:32px}
.facts div{border-left:3px solid var(--c-brand);padding-left:16px}
.facts dt{font-weight:700}
.facts dd{margin:0}
@media (max-width:767px){.facts{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:900px;margin-inline:auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--c-white);border-radius:var(--radius);border:1px solid #cfe3e1}
.sec--tint .faq details{border-color:transparent}
.faq summary{list-style:none;cursor:pointer;padding:14px 56px 14px 24px;font-weight:700;font-size:18px;line-height:1.5;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-btn);background:var(--c-brand);color:var(--c-white);display:grid;place-items:center;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq .faq__a{padding:0 24px 18px}
.faq .faq__a p+p{margin-top:12px}

/* Reviews-embed (laadt pas na toestemming) */
.embed{max-width:1100px;margin-inline:auto}
.embed__placeholder{background:var(--c-tint);border-radius:var(--radius);padding:32px;text-align:center}
.sec--tint .embed__placeholder{background:var(--c-white)}
.embed__placeholder p{max-width:640px;margin:0 auto 16px}
.embed__placeholder img{margin:0 auto 16px;width:101px}

/* Help-sectie: formulier + direct contact */
.help{display:grid;grid-template-columns:470px 1fr;gap:80px}
.help h2{margin-bottom:24px}
.help__aside h2{font-size:var(--fs-h2);line-height:var(--lh-h2);margin-top:28px;margin-bottom:16px}
.contact-list{list-style:none;padding:0;margin:16px 0 32px}
.contact-list li{display:flex;gap:12px;align-items:center}
.contact-list svg{width:18px;height:18px;fill:var(--c-brand);flex:none}
.contact-list a{text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.help__img{border-radius:var(--radius);overflow:hidden;aspect-ratio:746/260}
.help__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:1099px){.help{grid-template-columns:1fr;gap:48px}}

/* Formulier */
.form{display:flex;flex-direction:column}
.form label{display:block;color:var(--c-muted);margin-bottom:8px;line-height:32px}
.form .field{margin-bottom:16px}
.form input[type=text],.form input[type=tel],.form input[type=email],.form textarea,.form select{width:100%;font:16px/32px var(--font);color:var(--c-ink);background:var(--c-field);border:0;border-radius:var(--radius-btn);padding:8px 16px;outline-offset:0}
.form textarea{min-height:144px;resize:vertical}
.form ::placeholder{color:#5f6361;opacity:1}
.form .check{display:flex;gap:8px;align-items:flex-start;color:var(--c-muted);margin:8px 0 24px}
.form .check input{margin-top:9px;width:16px;height:16px;accent-color:var(--c-brand);flex:none}
.form .check label{margin:0;line-height:1.6}
.form .check a{color:var(--c-ink)}
.form .hint{font-size:14px;line-height:1.5;color:var(--c-muted);margin-top:12px}
.form .hp{position:absolute;left:-9999px}
.form [aria-invalid=true]{outline:2px solid #b00020}
.form__error{color:#b00020;font-size:14px;line-height:1.5;margin-top:4px}
.form__status{margin-top:12px;font-weight:700}

/* Lopende tekst / juridisch */
.prose{max-width:900px}
.prose h2{font-size:var(--fs-h2);line-height:var(--lh-h2);margin:48px 0 8px}
.prose h3{font-size:20px;line-height:1.5;margin:24px 0 4px}
.prose p,.prose ul,.prose ol{margin-bottom:16px}
.prose ul{padding-left:24px}
.prose a{color:var(--c-ink);text-decoration:underline}

/* Kruimelpad */
.crumbs{background:var(--c-tint);font-size:14px;line-height:1.5}
.crumbs ol{list-style:none;padding:12px 0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--c-muted)}
.crumbs a{color:var(--c-ink)}
.crumbs [aria-current]{color:var(--c-muted)}

/* ---------- Footer ---------- */
.site-footer{background:var(--c-brand);color:var(--c-white);padding-top:72px}
.site-footer a{color:var(--c-white);text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--c-white)}
.footer-grid{display:grid;grid-template-columns:344px 1fr;gap:64px}
.footer-brand{text-align:center;align-self:center;padding-top:40px}
.footer-brand img{width:200px;margin:0 auto 18px}
.footer-cols{display:grid;grid-template-columns:275px 1fr 275px;gap:32px}
.footer-cols h2{font-size:var(--fs-card);line-height:1;color:var(--c-white);margin-bottom:17px}
.footer-nav{text-align:center}
.footer-nav ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.35rem;line-height:32px}
.footer-contact{grid-column:3}
.footer-contact address{font-style:normal}
.footer-contact p+p{margin-top:18px}
.footer-meta{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.24);margin-top:32px;padding:32px 0 64px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.footer-meta .social{display:flex;align-items:center;gap:16px}
.footer-meta .social svg{width:24px;height:24px;fill:var(--c-white)}
.bottombar{background:var(--c-brand-deep);color:var(--c-white);font-size:14px;font-weight:700}
.bottombar .inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 40px;flex-wrap:wrap}
.bottombar a{color:var(--c-white)}
.bottombar ul{display:flex;gap:32px;list-style:none;padding:0}
.bottombar ul a{text-decoration:none}
@media (max-width:1099px){
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{padding-top:0}
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-contact{grid-column:auto}
}
@media (max-width:599px){
  .footer-cols{grid-template-columns:1fr;text-align:center}
  .footer-meta{flex-direction:column;gap:16px}
  .bottombar .inner{justify-content:center;padding:16px}
}

/* Mobiele actiebalk (bellen / offerte) */
.actionbar{display:none}
@media (max-width:767px){
  .actionbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
  .actionbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-weight:700;text-decoration:none;color:var(--c-white);background:var(--c-brand)}
  .actionbar a+a{background:var(--c-brand-deep)}
  .actionbar svg{width:18px;height:18px;fill:currentColor}
  body{padding-bottom:52px}
}

/* 404 */
.notfound{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--c-tint);padding:80px 16px}
.notfound img{width:120px;margin:0 auto 24px}
.notfound h1{font-size:var(--fs-h1);line-height:1.2}
.notfound ul{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}


/* ==========================================================================
   v2 · 29-10-2026 — finetuning, beleving & CMS-onderdelen
   Alle beweging staat uit bij prefers-reduced-motion (regel bovenaan).
   ========================================================================== */
:root{--ease:cubic-bezier(.2,.7,.2,1);--shadow-1:0 1px 2px rgba(12,83,77,.06),0 6px 18px rgba(12,83,77,.08);--shadow-2:0 2px 4px rgba(12,83,77,.08),0 16px 36px rgba(12,83,77,.16)}

/* Knoppen: subtiele lift + schaduw */
.btn{transition:background .25s ease,transform .25s var(--ease),box-shadow .25s ease}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px rgba(12,83,77,.28)}
.btn:active{transform:translateY(0) scale(.98);box-shadow:none}
.btn--ghost{background:transparent;color:var(--c-ink);border-color:currentColor}
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--c-tint);color:var(--c-ink)}

/* Sticky header: compacte teal balk na de hero, verdwijnt bij naar beneden scrollen */
.site-header{transition:transform .35s var(--ease),background .3s ease,box-shadow .3s ease}
.site-header.is-stuck{position:fixed;top:0;background:var(--c-brand);box-shadow:0 6px 20px rgba(0,0,0,.14);animation:hdr-in .35s var(--ease)}
.site-header.is-stuck .container{padding-top:8px;padding-bottom:8px}
.site-header.is-stuck .logo img{width:104px}
.site-header.is-stuck .btn{background:var(--c-brand-deep)}
.site-header.is-stuck .btn:hover{background:#08403b}
.site-header.is-hidden{transform:translateY(-110%)}
.logo img{transition:width .3s var(--ease)}
@keyframes hdr-in{from{transform:translateY(-100%)}to{transform:none}}

/* Navigatie: onderstreping die meegroeit */
.nav a{position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover,.nav a[aria-current=page]{text-decoration:none}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav a[aria-current=page]::after{opacity:.55}

/* Mobiel menu: alleen 'Offerte aanvragen' is een knop (CMS voegt Blog soms als knop toe) */
.mobile-menu a.btn:not([href*="offerte"]){background:none;color:var(--c-white);padding:0;margin:0;font-weight:400;box-shadow:none;transform:none}
.mobile-menu li{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s var(--ease)}
.mobile-menu.is-open li{opacity:1;transform:none}
.mobile-menu.is-open li{transition-delay:calc(var(--i,0) * 40ms)}

/* Hero: rustige zoom op het beeld, tekst schuift binnen, leesbaarheid */
.hero::before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,0));z-index:1;pointer-events:none}
.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero__inner>*{animation:rise .8s var(--ease) both}
.hero__inner>.hero__lead{animation-delay:.08s}
.hero__inner>.hero__actions{animation-delay:.16s}
.hero__inner>.hero__badge{animation-delay:.24s}
@keyframes rise{from{opacity:.01;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__next{animation:nudge 2.4s ease-in-out 1.2s infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.hero__phone svg{transition:transform .3s var(--ease)}
.hero__phone:hover svg{transform:rotate(-12deg) scale(1.1)}

/* Kaarten en beelden: lift + zachte zoom */
.card,[data-anim-hover=lift]{transition:transform .35s var(--ease),box-shadow .35s ease}
.card:hover,[data-anim-hover=lift]:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
[data-btn-anim=lift]:hover{transform:translateY(-2px)}
.card__img,.gallery img,.banner>img,.frame img,.help__img img{transition:transform .9s var(--ease)}
.card:hover .card__img,.gallery figure:hover img,.banner:hover>img,.frame:hover img,.help__img:hover img{transform:scale(1.05)}
.card__check{transition:transform .4s var(--ease)}
.card:hover .card__check{transform:scale(1.12) rotate(-6deg)}
.gallery figure{box-shadow:var(--shadow-1)}
.steps li{transition:transform .35s var(--ease),box-shadow .35s ease}
.steps li:hover{transform:translateY(-4px);box-shadow:var(--shadow-1)}
.icon-list li{transition:transform .3s var(--ease),box-shadow .3s ease}
.icon-list li:hover{transform:translateX(6px);box-shadow:var(--shadow-1)}
.why__label{transition:opacity .2s,color .2s}
.why__panel:not(.is-active):hover .why__label{color:#bfece7}
.why__panel img{transition:transform 1.2s var(--ease)}
.why__panel.is-active img{transform:scale(1.04)}

/* FAQ: hover en draaiend plusje */
.faq details{transition:box-shadow .3s ease,border-color .3s ease}
.faq details:hover{box-shadow:var(--shadow-1)}
.faq summary::after{transition:transform .3s var(--ease),background .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(180deg)}
.faq summary:hover{color:var(--c-brand-dark)}
.faq .faq__a{overflow:hidden}

/* Scroll-reveal (alleen als JS draait; elementen die al in beeld staan blijven zichtbaar) */
.rv-ready .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease var(--rv-delay,0ms),transform .8s var(--ease) var(--rv-delay,0ms)}
.rv-ready .rv.is-in{opacity:1;transform:none}
.rv-ready .media-split>.media-split__media.rv{transform:translateX(-36px)}
.rv-ready .media-split--rev>.media-split__media.rv{transform:translateX(36px)}
.rv-ready .media-split>.rv.is-in{transform:none}
.frame{transition:box-shadow .6s var(--ease) .25s}
.rv-ready .rv .frame{box-shadow:0 0 0 0 var(--c-brand)}
.rv-ready .rv.is-in .frame{box-shadow:var(--shadow-frame)}
.rv-ready .trust li.rv{transform:scale(.9)}
.rv-ready .trust li.rv.is-in{transform:none}

/* Strakker: kopjes, ritme, details */
.sec__head{text-wrap:balance}
h1,h2,.h2,.banner__title{text-wrap:balance}
.card h3{line-height:1.1}
.card p{flex:0 0 auto}
.split h2 .hl{display:inline-block}
.contact-list li{padding:2px 0}
.contact-list a{transition:color .2s}
.footer-nav a,.bottombar a,.site-footer a{transition:opacity .2s}
.site-footer a:hover{opacity:.8}
.footer-meta .social a{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);transition:background .25s,transform .25s var(--ease)}
.footer-meta .social a:hover{background:rgba(255,255,255,.28);transform:translateY(-2px);opacity:1}
.footer-meta .social svg{width:20px;height:20px}
.form input:focus,.form textarea:focus{outline:2px solid var(--c-brand);outline-offset:1px;background:#e5f1ec}
.form input,.form textarea{transition:background .2s,outline-color .2s}
::selection{background:var(--c-brand);color:#fff}

/* CMS-formulierstatus (form-submit.js) */
[data-form-status].hidden,[data-form-status]:empty{display:none}
[data-form-status]{margin-top:12px;padding:12px 16px;border-radius:var(--radius-btn);background:var(--c-white);font-weight:700;line-height:1.5}

/* Toestemmingsbalk (Google Analytics) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;max-width:560px;margin-left:auto;background:var(--c-white);color:var(--c-ink);border-radius:var(--radius);
  box-shadow:0 18px 50px rgba(0,0,0,.25);padding:20px 22px;font-size:15px;line-height:1.6;transform:translateY(24px);opacity:0;transition:transform .45s var(--ease),opacity .35s ease}
.consent.is-in{transform:none;opacity:1}
.consent.is-gone{transform:translateY(24px);opacity:0}
.consent p{margin:0 0 14px}
.consent a{color:var(--c-ink)}
.consent__btns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:767px){.consent{bottom:64px;left:12px;right:12px}}

/* ---------- CMS: werkgebied-blok (wordt door het CMS onder de pagina gezet) ---------- */
html .cms-werkgebied{font-family:var(--font);padding:var(--space-section) 0;background:var(--c-white);border-top:1px solid #e6efee}
html .cms-werkgebied__binnen{width:min(var(--container),calc(100% - 2*var(--gutter)));max-width:none;margin-inline:auto}
html .cms-werkgebied__binnen>h2{font-size:var(--fs-h2);line-height:var(--lh-h2);text-align:center;margin:0 0 32px}
html .cms-werkgebied__groepen{display:flex;justify-content:center;flex-wrap:wrap;gap:24px}
html .cms-werkgebied__groep{flex:1 1 100%;text-align:center}
html .cms-werkgebied__groep h3{font-size:20px;line-height:1.5;margin:0 0 14px;color:var(--c-muted);font-weight:700}
html .cms-werkgebied__groep ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
html .cms-werkgebied__groep li{margin:0}
html .cms-werkgebied__groep a{display:inline-block;padding:6px 16px;border-radius:999px;background:var(--c-tint);color:var(--c-ink);text-decoration:none;line-height:1.5;transition:background .25s,color .25s,transform .25s var(--ease)}
html .cms-werkgebied__groep a:hover{background:var(--c-brand);color:#fff;transform:translateY(-2px)}

/* ---------- CMS: blogoverzicht en -artikelen in de huisstijl ---------- */
html .cms-blog-kop{font-family:var(--font);background:var(--c-brand-deep) linear-gradient(120deg,var(--c-brand) 0%,var(--c-brand-deep) 100%);padding:180px 0 72px;position:relative;overflow:hidden}
html .cms-blog-kop::after{content:"";position:absolute;right:-80px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.06)}
html .cms-blog-kop__binnen{width:min(var(--container),calc(100% - 2*var(--gutter)));max-width:none;margin-inline:auto;position:relative;z-index:1}
html .cms-blog-kop h1{font-size:var(--fs-h1);line-height:var(--lh-h1);margin:0 0 16px;animation:rise .8s var(--ease) both}
html .cms-blog-kop p{font-size:16px;line-height:2;opacity:.92;max-width:760px;animation:rise .8s var(--ease) .1s both}
html .cms-blog{font-family:var(--font);width:min(var(--container),calc(100% - 2*var(--gutter)));max-width:none;padding:var(--space-section) 0;margin-inline:auto}
html .cms-blog__lijst{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px}
html .cms-blog__kaart{border-radius:var(--radius);box-shadow:var(--shadow-1);transition:transform .35s var(--ease),box-shadow .35s ease}
html .cms-blog__kaart:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
html .cms-blog__foto{aspect-ratio:3/2}
html .cms-blog__foto img{transition:transform .9s var(--ease)}
html .cms-blog__kaart:hover .cms-blog__foto img{transform:scale(1.05)}
html .cms-blog__tekst{padding:24px 28px 28px;gap:8px}
html .cms-blog__datum{font-size:14px;color:var(--c-muted);opacity:1}
html .cms-blog__titel{font-size:24px;line-height:1.25}
html .cms-blog__titel a:hover{color:var(--c-brand-dark)}
html .cms-blog__samenvatting{font-size:16px;line-height:1.75;opacity:1}
html .cms-blog__lees{color:var(--c-ink);display:inline-flex;align-items:center;gap:8px}
html .cms-blog__lees::after{content:"→";color:var(--c-brand);transition:transform .25s var(--ease)}
html .cms-blog__lees:hover::after{transform:translateX(4px)}
.article h2{font-size:var(--fs-h2);line-height:1.35;margin:48px 0 12px}
.article h3{font-size:22px;line-height:1.4;margin:32px 0 8px}
.article p,.article ul,.article ol{margin:0 0 18px}
.article ul{list-style:none;padding:0}
.article ul li{position:relative;padding-left:26px;margin-bottom:6px}
.article ul li::before{content:"";position:absolute;left:4px;top:.85em;width:8px;height:8px;border-radius:50%;background:var(--c-brand)}
.article ol{padding-left:22px}
.article a{color:var(--c-ink);text-decoration:underline;text-decoration-color:var(--c-brand);text-decoration-thickness:2px;text-underline-offset:3px}
.article figure img{border-radius:var(--radius)!important;box-shadow:var(--shadow-1)}
.article figcaption{color:var(--c-muted)}
.article blockquote{border-left:4px solid var(--c-brand);background:var(--c-tint);padding:16px 20px;margin:24px 0}
/* Logo op teal (sticky balk, blogkop): volledig wit, zoals in de footer */
.site-header.is-stuck .logo img,body:has(.cms-blog-kop) .site-header:not(.is-stuck) .logo img{filter:brightness(0) invert(1)}
@media (max-width:767px){.consent{padding:14px 16px;font-size:14px;line-height:1.5}.consent p{margin-bottom:10px}.consent .btn{padding:6px 14px}}
body:has(.cms-blog-kop) .site-header:not(.is-stuck) .btn{background:var(--c-brand-deep)}
