*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#27313b;background:#fff;line-height:1.65}a{color:#146f81}img{max-width:100%;height:auto}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1200px)/2));background:#fff;box-shadow:0 1px 12px #15212c1a;position:relative;z-index:10}.brand img{width:195px;max-height:65px;object-fit:contain}.navigation{display:flex;gap:25px;align-items:center}.navigation a{text-decoration:none;color:#27313b;font-size:14px;font-weight:650;white-space:nowrap}.navigation a:hover,.navigation a.active{color:#008da2}.navtoggle{display:none;border:0;background:none;font-size:28px}.hero{height:min(740px,calc(100svh - 84px));min-height:470px;position:relative;background:#17242e;overflow:hidden}.slides,.slide{position:absolute;inset:0}.slide{background-position:center;background-size:cover;opacity:0;transition:opacity .9s ease;display:grid;place-items:center}.slide.active{opacity:1;z-index:1}.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07121b8a,#07121b42)}.slide-copy{position:relative;color:#fff;text-align:center;padding:35px 8%;max-width:1100px;text-shadow:0 2px 18px #0008}.slide-copy h1{font-size:clamp(30px,4.2vw,60px);line-height:1.16;font-weight:700;margin:0 0 16px}.slide-copy h6,.slide-copy h1 span{font-size:clamp(12px,1.15vw,17px)!important;letter-spacing:1.3px;text-transform:uppercase;line-height:1.7;display:block}.slide-copy p{margin-top:28px}.slide-copy a,.link-button{display:inline-block;text-decoration:none;padding:11px 25px;border-radius:3px;background:#0791a5;color:#fff;text-shadow:none;font-weight:650}.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;background:#ffffff38;color:white;font-size:50px;width:55px;height:70px;cursor:pointer}.prev{left:0}.next{right:0}.dots{position:absolute;bottom:22px;z-index:3;left:0;right:0;display:flex;justify-content:center;gap:10px}.dots button{width:11px;height:11px;border:1px solid white;border-radius:50%;background:transparent;cursor:pointer}.dots button.active{background:#fff}.intro-strip{text-align:center;padding:62px 20px 80px}.intro-strip h2{font-size:32px;margin:0}.intro-strip p{max-width:650px;margin:8px auto 25px}.page-head{background:#eef4f6;padding:50px 24px;text-align:center}.page-head h1{font-size:clamp(32px,4vw,46px);margin:0}.page-head p{margin:4px 0}.content{max-width:1120px;margin:0 auto;padding:45px 25px 85px}.content h2{font-size:27px;color:#15596a;margin:30px 0 14px}.content h3{font-size:21px}.original-region{margin:0 0 32px;overflow-wrap:anywhere}.original-region::after{content:'';display:block;clear:both}.original-region .row{display:block}.original-region img{max-width:100%;height:auto}.original-region [class*=col-]{max-width:100%;float:none!important}.original-region .btn{display:inline-block;padding:9px 18px;background:#0b8da0;color:white;text-decoration:none}.intro-note{border-left:4px solid #12899c;padding:15px 18px;background:#f3f8f9}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px}.panel{border:1px solid #dfe7e9;border-radius:6px;padding:27px;margin-bottom:25px}.panel h2{margin-top:0}.price-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #e5eaed;padding:10px 0}.price-list b{white-space:nowrap}.calc label,.gd label{display:block;margin:10px 0 7px;font-weight:550}.calc select,.gd input[type=number]{width:100%;padding:11px;border:1px solid #cdd9dd;border-radius:3px;font:inherit}.checks{padding:10px 0}.checks label{font-weight:400}.result{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eaf6f8;margin-top:24px;padding:18px}.result strong{font-size:25px;color:#08778b;white-space:nowrap}.fineprint{font-size:13px;color:#69757b}.gd{max-width:700px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px max(24px,calc((100vw - 1200px)/2));background:#26343e;color:#e8eff1;font-size:14px}footer a{color:#e8eff1}@media(max-width:800px){.topbar{height:72px}.brand img{width:155px}.navtoggle{display:block}.navigation{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:18px 25px;box-shadow:0 12px 16px #0002;flex-direction:column;align-items:start;gap:12px}.navigation.open{display:flex}.hero{height:65svh;min-height:420px}.slide-copy h1{font-size:clamp(25px,6vw,40px)}.price-layout{grid-template-columns:1fr}footer{flex-direction:column}.arrow{width:34px;font-size:34px}.slide-copy{padding:25px 12%}}
/* Testimonials: afzonderlijke kaarten met oorspronkelijke portretten */
.testimonials-intro{text-align:center;font-size:1.15rem;margin-bottom:30px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}
.testimonial-card{background:#f5f9fa;border:1px solid #dce8eb;border-top:4px solid #11899b;padding:32px 26px;text-align:center;box-shadow:0 7px 20px #1a43501a;display:flex;flex-direction:column;align-items:center}
.testimonial-card img{width:148px;height:148px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 22px;border:5px solid white;box-shadow:0 3px 14px #102d3833}
.testimonial-card h4{color:#15596a;font-size:1.2rem;margin:0 0 16px}
.testimonial-card p{margin:0 0 23px;flex:1}
.testimonial-card span{font-weight:700;color:#126c7c;margin-top:auto}
@media(max-width:850px){.testimonials-grid{grid-template-columns:1fr;max-width:560px;margin:auto}}
/* Contactformulier */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:42px;align-items:start}
.contact-form{background:#f5f9fa;border:1px solid #dce8eb;padding:28px}
.contact-form label{display:block;font-weight:600;margin:0 0 16px}
.contact-form input,.contact-form textarea{display:block;width:100%;box-sizing:border-box;padding:12px;margin-top:6px;font:inherit;border:1px solid #bdcfd5;border-radius:3px;background:white}
.contact-form button{background:#07899c;color:white;border:0;padding:12px 26px;font:inherit;font-weight:700;cursor:pointer}
.contact-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form small{display:block;color:#596c72;margin:0 0 18px}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}}

/* Aanvraag bij richtprijs */
.price-request{max-width:700px}.price-request .contact-form{margin-top:18px}.price-request .contact-form label{font-weight:600}

/* Contactpagina: gegevens links en formulier rechts, bovenaan uitgelijnd. */
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}
.contact-details{min-width:0}
.contact-details h2{margin:0 0 18px;color:#15596a}
.contact-details p:first-of-type{margin-top:0}
.contact-details hr{border:0;border-top:1px solid #d9e3e6;margin:26px 0}
.contact-details p:empty{display:none}
.contact-form{min-width:0}
.contact-form h2{margin:0 0 18px}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:26px}}

/* Tarieven: vier gelijkwaardige blokken in twee kolommen */
.price-layout>.panel{min-width:0;max-width:none;width:100%;margin-bottom:0}
.price-layout>.gd,.price-layout>.price-request{max-width:none}
.price-layout>.price-request .contact-form{margin-top:18px}

/* Tarieven: twee blokken links, doorlopend rechterpaneel */
.price-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.price-layout>.panel:first-child{grid-column:1;grid-row:1}
.price-layout>.gd{grid-column:1;grid-row:2}
.price-layout>.price-right{grid-column:2;grid-row:1 / span 2}
.price-right .calc,.price-right .price-request{max-width:none}
.price-divider{border:0;border-top:1px solid #dfe7e9;margin:28px 0}
@media(max-width:800px){.price-layout{grid-template-columns:1fr}.price-layout>.panel:first-child,.price-layout>.gd,.price-layout>.price-right{grid-column:auto;grid-row:auto}}

/* Alles over EPC: only presentation; original text remains intact */
.epc-block-layout{display:grid;gap:25px;margin-top:26px}
.epc-info-card{min-width:0;border:1px solid #dfe7e9;border-radius:6px;background:#fff;padding:28px 30px;box-shadow:0 4px 18px #193f4a0b}
.epc-info-card>h2{margin:0 0 22px;color:#15596a;font-size:26px;padding-bottom:13px;border-bottom:2px solid #e6f0f2}
.epc-info-card>.original-region:last-child{margin-bottom:0}
.epc-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.epc-premies-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.epc-premies-grid>.original-region{border:1px solid #e2ebed;border-left:4px solid #11899b;border-radius:4px;background:#f7fafb;padding:20px 22px;margin:0;min-width:0}
.epc-premies-grid>.original-region:first-child{grid-column:1/-1}
.epc-premies-grid h3{margin-top:0;color:#15596a}
.epc-contact-card{text-align:center;background:#f3f8f9}
.epc-contact-card .original-region{margin:0}
.epc-contact-card h2.mb8{margin:10px 0}
.epc-info-card .original-region table{max-width:100%;width:auto}
@media(max-width:850px){.epc-two-columns,.epc-premies-grid{grid-template-columns:1fr}.epc-premies-grid>.original-region:first-child{grid-column:auto}.epc-info-card{padding:22px 18px}}

/* EPC: harmonized content cards and original text */
.epc-info-card:first-child .original-region{font-size:15px;line-height:1.7;color:#384e56}
.epc-info-card:first-child .original-region p,.epc-info-card:first-child .original-region span{font-size:inherit!important;font-family:inherit!important;font-variant:normal!important;color:inherit!important;background:transparent!important}
.epc-info-card:first-child .original-region .epc-question{font-family:inherit;font-variant:normal;font-weight:650;color:#15596a;font-size:20px;line-height:1.3;margin:24px 0 10px;padding:0}
.epc-info-card:first-child .original-region .epc-question:first-child{margin-top:0}
.epc-premies-grid>.epc-label-bottom{grid-column:1/-1}
.epc-premies-grid>.original-region:first-child{grid-column:auto}
.epc-premies-grid>.epc-label-bottom p{margin:0}
@media(max-width:850px){.epc-premies-grid>.epc-label-bottom{grid-column:auto}}

/* Wegwijs in het EPC – introductiekaarten en ankers */
html { scroll-behavior: smooth; }
.epc-type-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0 0 22px; }
.epc-type-link { display:flex; flex-direction:column; gap:12px; padding:25px 22px;
  background:#fff; border:1px solid #dfe6e8; border-top:4px solid #277e90;
  border-radius:8px; text-decoration:none; color:inherit; transition:box-shadow .2s, transform .2s; }
.epc-type-link:hover, .epc-type-link:focus-visible { box-shadow:0 8px 25px #183e4a20; transform:translateY(-2px); }
.epc-type-link h2 { margin:0; font-size:1.16rem; line-height:1.35; }
.epc-type-link p { margin:0; line-height:1.55; flex:1; }
.epc-type-cue, .epc-back-link { color:#18788c; font-weight:650; }
.epc-back-link { display:inline-block; margin-top:18px; text-decoration:none; }
.epc-info-card[id] { scroll-margin-top:90px; }
@media(max-width:750px) { .epc-type-grid { grid-template-columns:1fr; } }

/* Premies: foto en tekst naast elkaar; enkel deze pagina */
.epc-premies-page{display:block;margin:22px 0 38px}
.epc-premies-page .epc-premies-grid{display:flex;flex-direction:column;gap:24px}
.epc-premies-page .premie-feature{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid #dfe7e9;border-radius:7px;background:#fff;box-shadow:0 4px 18px #193f4a0b}
.epc-premies-page .premie-feature-reverse{grid-template-columns:minmax(0,1fr) minmax(0,42%)}
.epc-premies-page .premie-feature-reverse .premie-feature-image{order:2}
.epc-premies-page .premie-feature-image{margin:0;min-height:260px;background:#edf4f5}
.epc-premies-page .premie-feature-image img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}
.epc-premies-page .premie-feature-text{padding:30px 34px;align-self:center}
.epc-premies-page .premie-feature-text h3{margin:0 0 16px;color:#15596a;font-size:24px}
.epc-premies-page .premie-feature-text p{margin:0;line-height:1.75}
.epc-premies-page .premie-label-notice{padding:18px 22px;border-left:4px solid #11899b;background:#f3f8f9;border-radius:4px}
.epc-premies-page .premie-label-notice p{margin:0}
@media(max-width:750px){.epc-premies-page .premie-feature,.epc-premies-page .premie-feature-reverse{grid-template-columns:1fr}.epc-premies-page .premie-feature-reverse .premie-feature-image{order:0}.epc-premies-page .premie-feature-image,.epc-premies-page .premie-feature-image img{min-height:190px;max-height:260px}.epc-premies-page .premie-feature-text{padding:22px}}

/* v14: gedeelde contactoproep en Over ons */
.site-contact-cta{max-width:1120px;margin:0 auto 72px;padding:30px 36px;background:#edf6f8;border-left:4px solid #11899b;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-contact-cta h2{color:#15596a;font-size:25px;margin:0 0 5px}.site-contact-cta p{margin:0}.site-contact-cta .link-button{white-space:nowrap}
.about-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:stretch;margin-bottom:55px}
.about-statement,.about-services{border:1px solid #dce8eb;padding:27px 30px;background:#fff;border-top:4px solid #11899b}
.about-intro h2{margin:0 0 16px}.about-intro p:last-child{margin-bottom:0}.about-services ul{padding-left:20px;margin:0 0 25px}.about-services li{margin:9px 0}
.about-person{border-top:1px solid #dce8eb;padding-top:17px;display:flex;flex-direction:column;gap:2px}.about-person strong{color:#15596a;font-size:19px}.about-person span{color:#596c72}
.about-reviews>h2{text-align:center;margin-bottom:27px}.about-reviews .testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.about-intro{grid-template-columns:1fr}.about-reviews .testimonials-grid{grid-template-columns:1fr}.site-contact-cta{margin:0 20px 45px;flex-direction:column;align-items:flex-start}}

/* Getuigenissen: telkens één zichtbaar, onafhankelijk van de hero-slideshow */
.home-testimonials{max-width:1040px;margin:48px auto;padding:0 22px;text-align:center}
.home-testimonials>h2{margin-bottom:24px}.review-carousel{background:#f5f9fa;border:1px solid #dce8eb;border-top:4px solid #11899b;padding:28px 24px 16px;box-shadow:0 7px 20px #1a43501a}
.review-slide[hidden]{display:none!important}.review-slide{max-width:720px;margin:auto;display:flex;flex-direction:column;align-items:center;gap:16px}
.review-slide img{width:118px;height:118px;object-fit:cover;border-radius:50%;border:5px solid #fff;box-shadow:0 3px 14px #102d3833}
.review-slide p{font-size:1.13rem;line-height:1.65;margin:0}.review-slide span{font-weight:700;color:#126c7c}
.review-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:18px}
.review-controls button{border:1px solid #b4d6dd;background:#fff;color:#15596a;border-radius:50%;width:42px;height:42px;font-size:30px;cursor:pointer;line-height:1}
.review-controls button:hover,.review-controls button:focus-visible{background:#e1f3f6}.review-counter{font-size:.9rem;color:#526a70}

/* Portret op 'Wie zijn wij': originele foto, rond bijgesneden. */
.about-person .about-portrait {
  display:block; width:118px; height:118px; max-width:100%;
  object-fit:cover; object-position:center 32%; border-radius:50%;
  margin:0 0 14px; border:3px solid #fff;
  box-shadow:0 3px 14px rgba(0,0,0,.13);
}
.about-reviews .review-carousel { margin:0 auto; }
