*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#3f4f70;background:#f6f4ef}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:3}.logo{font-size:24px;font-weight:900;color:#3f4f70;text-decoration:none}.logo span{font-weight:400}.contact,.primary{background:#ed0712;color:white;text-decoration:none;padding:14px 20px;border-radius:4px;font-weight:700}.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:7vw 7vw 6vw;gap:5vw}.eyebrow{letter-spacing:2px;font-size:12px;font-weight:800;color:#ed0712}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.95;margin:18px 0}.hero h1 span{color:#ed0712}.lead{font-size:19px;line-height:1.65;max-width:650px;color:#56615b}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.secondary{border:1px solid #3f4f70;color:#3f4f70;text-decoration:none;padding:13px 20px;border-radius:4px;font-weight:700}.visual{height:460px;background:linear-gradient(145deg,#3f4f70,#eef1f6);display:grid;place-items:center;border-radius:3px}.badge{width:210px;height:210px;border:2px solid #eee;color:white;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:58px;font-weight:900;line-height:.7}.badge small{font-size:13px;letter-spacing:4px;margin-top:22px}#diensten{padding:90px 7vw;background:#fff}h2{font-size:clamp(36px,5vw,62px);margin:12px 0 45px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.cards article{background:#fff;padding:35px;min-height:260px}.cards b{color:#ed0712}.cards h3{font-size:23px;margin-top:45px}.cards p{color:#68716c;line-height:1.6}.why{padding:90px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#3f4f70;color:#fff}.why .eyebrow{color:#ffffff}.points{font-size:20px;line-height:2}.cta{text-align:center;padding:110px 7vw}.cta h2{margin-bottom:15px}.cta p:not(.eyebrow){margin-bottom:35px;color:#657069}footer{background:#303d59;color:#dce2df;padding:35px 7vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:800px){header{padding:0 5vw}.contact{padding:11px;font-size:13px}.hero{grid-template-columns:1fr;min-height:auto;padding:70px 6vw}.visual{height:300px}.cards{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr}.why h2{margin-bottom:10px}}@media(max-width:500px){.cards{grid-template-columns:1fr}.hero h1{font-size:50px}.lead{font-size:17px}}.logo img{display:block;width:190px;max-height:58px;object-fit:contain}.visual{background:#fff;border:1px solid #e4e7ec;box-shadow:0 18px 45px rgba(63,79,112,.12)}.hero-logo{width:88%;height:auto}.badge{display:none}@media(max-width:500px){.logo img{width:145px}.visual{height:245px}}
.work{padding:90px 7vw;background:#f6f4ef}.work h2{margin-bottom:12px}.work-intro{margin:0 0 35px;color:#657069;font-size:18px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery figure{margin:0;background:#fff;overflow:hidden;border-radius:4px}.gallery img{display:block;width:100%;height:390px;object-fit:cover}.gallery figcaption{padding:16px 18px;font-weight:700;color:#3f4f70}@media(max-width:700px){.work{padding:65px 6vw}.gallery{grid-template-columns:1fr;gap:16px}.gallery img{height:280px}}

.quote-form{max-width:760px;margin:35px auto 20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.quote-form label{font-weight:700;color:#3f4f70}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:8px;padding:14px;border:1px solid #cfd4dc;border-radius:4px;background:#fff;font:inherit;color:#303d59}.quote-form textarea{resize:vertical}.quote-form .full{grid-column:1/-1}.quote-form button{border:0;cursor:pointer;font-size:16px}.email-note{font-size:14px!important;margin-top:18px!important}.email-note a{color:#3f4f70;font-weight:700}@media(max-width:600px){.quote-form{grid-template-columns:1fr}.quote-form .full{grid-column:auto}}

.about{padding:90px 7vw;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.about h2{margin-bottom:10px}.about>div:last-child{font-size:18px;line-height:1.7;color:#657069}.about .secondary{display:inline-block;margin-top:14px}@media(max-width:800px){.about{grid-template-columns:1fr;gap:15px;padding:70px 6vw}}

footer a{color:#fff}.legal{max-width:900px;margin:auto;padding:80px 7vw}.legal h1{font-size:clamp(42px,6vw,70px);margin:12px 0 40px}.legal h2{font-size:26px;margin:38px 0 10px}.legal p{font-size:17px;line-height:1.7;color:#657069}.legal .secondary{display:inline-block;margin-top:25px}


/* Mobiele verfijning */
@media(max-width:700px){
  header{height:68px;gap:10px}
  .logo img{width:150px;max-width:42vw}
  .contact{white-space:nowrap;padding:10px 12px}
  .hero{padding-top:48px;gap:34px}
  .hero h1{font-size:clamp(42px,13vw,58px)}
  .actions{display:grid;grid-template-columns:1fr;max-width:100%}
  .actions a{text-align:center}
  .visual{height:auto;min-height:220px;padding:24px}
  .gallery img{height:auto;aspect-ratio:4/3}
  .cta{padding:75px 6vw}
  footer{padding:30px 6vw;flex-direction:column;gap:9px}
}
@media(max-width:380px){
  header{padding:0 4vw}
  .logo img{width:132px}
  .contact{font-size:12px;padding:9px 10px}
  .hero h1{font-size:41px}
}

.local-services{padding:90px 7vw;background:#fff}.local-services>div:first-child{max-width:900px}.local-services>div:first-child>p:last-child{font-size:18px;line-height:1.7;color:#657069;max-width:850px}.local-services h2{margin-bottom:22px}.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.local-grid article{border:1px solid #e0e3e8;padding:28px;background:#f9f8f5}.local-grid h3{font-size:23px;margin:0 0 14px}.local-grid p{color:#657069;line-height:1.65}.local-grid a,.service-area a{color:#3f4f70;font-weight:700}.service-area{margin:28px 0 0;line-height:1.7;color:#657069}@media(max-width:750px){.local-services{padding:65px 6vw}.local-grid{grid-template-columns:1fr}.local-grid article{padding:24px}}


/* Professionele footer */
.site-footer{background:#303d59;color:#e9edf3;padding:0;display:block}.footer-main{padding:58px 7vw 45px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:45px}.footer-brand img{width:185px;max-width:100%;background:#fff;padding:8px 12px;border-radius:3px}.footer-brand p{max-width:330px;line-height:1.65;color:#cbd3df;margin:20px 0 0}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-col h3{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:1.3px;margin:4px 0 10px}.footer-col a,.footer-col span{color:#dce2eb;text-decoration:none;line-height:1.5}.footer-col a:hover{text-decoration:underline}.footer-cta{margin-top:8px!important;display:inline-block;border:1px solid #fff;padding:9px 13px;border-radius:3px;font-weight:700}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:20px 7vw;display:flex;justify-content:space-between;gap:20px;color:#bfc8d6;font-size:14px}.footer-bottom a{color:#dce2eb;text-decoration:none}@media(max-width:850px){.footer-main{grid-template-columns:1fr 1fr;gap:38px}}@media(max-width:560px){.footer-main{grid-template-columns:1fr;padding:42px 6vw 32px;gap:30px}.footer-brand img{width:165px}.footer-bottom{padding:20px 6vw;flex-direction:column;gap:8px}}


/* Fix footer layout - overrides legacy footer flex rules */
footer.site-footer{display:block;padding:0}
.site-footer .footer-main{display:grid}
.site-footer .footer-col{display:flex;flex-direction:column;align-items:flex-start}
.site-footer .footer-col a,.site-footer .footer-col span{display:block;width:auto}
@media(max-width:560px){
  .site-footer .footer-main{display:grid;grid-template-columns:1fr;gap:26px;padding:36px 6vw 28px}
  .site-footer .footer-brand img{width:145px;padding:6px 9px}
  .site-footer .footer-brand p{font-size:15px;line-height:1.55;margin-top:15px}
  .site-footer .footer-col{display:flex;flex-direction:column;gap:9px}
  .site-footer .footer-col h3{margin:0 0 5px}
  .site-footer .footer-col a,.site-footer .footer-col span{display:block;font-size:15px;line-height:1.45}
  .site-footer .footer-col a[href^="mailto:"]{overflow-wrap:anywhere}
  .site-footer .footer-cta{margin-top:6px!important}
  .site-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:17px 6vw}
}


/* Header en mobiele hero verfijning */
.top-nav{display:flex;align-items:center;gap:24px}.top-nav a{color:#3f4f70;text-decoration:none;font-weight:700;font-size:14px}.top-nav a:hover{text-decoration:underline}
@media(max-width:800px){.top-nav{display:none}}
@media(max-width:700px){
  .hero{padding:42px 6vw 55px;gap:26px}
  .hero .eyebrow{margin-top:0}
  .hero h1{margin:12px 0 16px;line-height:1}
  .lead{margin-bottom:0}
  .actions{margin-top:24px}
  .visual{min-height:190px;padding:18px}
  .hero-logo{width:min(82%,360px)}
  #diensten{padding:65px 6vw}
  h2{margin-bottom:30px}
}
@media(max-width:500px){
  .hero{padding-top:34px}
  .visual{min-height:175px}
  .contact{font-size:12px}
}


/* Project carousel */
.carousel-wrap{position:relative}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:20px;background:transparent;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery figure{flex:0 0 calc(50% - 10px);scroll-snap-align:start}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:rgba(48,61,89,.92);color:#fff;font-size:32px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}.carousel-btn.prev{left:-20px}.carousel-btn.next{right:-20px}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#b9bec8;cursor:pointer}.carousel-dots button.active{background:#ed0712;transform:scale(1.3)}
@media(max-width:700px){.gallery{gap:12px}.gallery figure{flex:0 0 100%}.carousel-btn{width:38px;height:38px;font-size:27px}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.gallery img{height:auto;aspect-ratio:4/3}.carousel-dots{margin-top:16px}}


/* Hero logo zonder wit kader */
.hero .visual{background:transparent;border:0;box-shadow:none;padding:0}
.hero .hero-logo{width:min(100%,460px);height:auto;display:block}
@media(max-width:700px){
  .hero .visual{min-height:0;height:auto;padding:0}
  .hero .hero-logo{width:min(94%,390px)}
}


/* Diensten mobiel: compacte professionele kaarten */
@media(max-width:700px){
  #diensten{padding:58px 6vw 62px}
  #diensten h2{font-size:clamp(34px,9vw,44px);line-height:1.05;margin:10px 0 26px}
  #diensten .cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:transparent}
  #diensten .cards article{min-height:0;padding:20px 16px 18px;border:1px solid #e1e4e9;border-radius:6px;background:#fff}
  #diensten .cards b{display:block;font-size:12px;margin-bottom:18px}
  #diensten .cards h3{font-size:18px;line-height:1.15;margin:0 0 10px}
  #diensten .cards p{font-size:14px;line-height:1.5;margin:0}
}
@media(max-width:390px){
  #diensten .cards{grid-template-columns:1fr}
  #diensten .cards article{padding:19px 18px}
  #diensten .cards b{margin-bottom:12px}
}


/* Professioneel offerteformulier */
.quote-section{background:#fff}.quote-head{max-width:720px;margin:0 auto}.quote-head h2{margin-bottom:16px}.quote-head>p:last-child{font-size:18px;line-height:1.6;color:#657069;margin:0 auto 10px}.quote-form{background:#f8f7f3;border:1px solid #e1e4e9;border-radius:8px;padding:28px}.quote-form label{font-size:15px}.quote-form label>span{color:#ed0712}.quote-form input,.quote-form select,.quote-form textarea{border:1px solid #c8ced7;transition:border-color .2s,box-shadow .2s}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:#3f4f70;box-shadow:0 0 0 3px rgba(63,79,112,.10)}.quote-note{margin:0;color:#747d88;font-size:13px}.quote-submit{width:100%;border-radius:4px;padding:16px 20px}.email-note{overflow-wrap:anywhere}
@media(max-width:600px){.quote-section{padding:68px 6vw}.quote-head{text-align:left}.quote-head h2{font-size:clamp(36px,10vw,46px);line-height:1.05}.quote-head>p:last-child{font-size:16px}.quote-form{margin-top:28px;padding:20px 16px;gap:14px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px;padding:13px}.quote-submit{padding:15px}.email-note{text-align:left;font-size:13px!important}}


/* Footer final: rustiger, compacter en professioneler */
.site-footer .footer-main{max-width:1400px;margin:0 auto}
.site-footer .footer-brand img{background:transparent;padding:0;border-radius:0;filter:brightness(0) invert(1)}
.site-footer .footer-brand p{margin-top:16px}
.site-footer .footer-col h3{font-size:13px;letter-spacing:1.5px}
.site-footer .footer-col a{transition:opacity .2s}.site-footer .footer-col a:hover{opacity:.78;text-decoration:none}
.site-footer .footer-cta{background:#fff;color:#303d59!important;border:0;padding:11px 15px}
.site-footer .footer-bottom{max-width:1400px;margin:0 auto}
@media(max-width:560px){
 .site-footer .footer-main{padding:38px 6vw 28px;gap:25px}
 .site-footer .footer-brand img{width:155px}
 .site-footer .footer-brand p{max-width:300px}
 .site-footer .footer-col h3{font-size:12px;letter-spacing:1.4px}
 .site-footer .footer-cta{width:100%;text-align:center;padding:12px 14px}
 .site-footer .footer-bottom{font-size:13px}
}


/* Mobiele eindcontrole */
@media(max-width:700px){
  body{overflow-x:hidden}
  section{scroll-margin-top:68px}
  #diensten .cards{grid-template-columns:1fr 1fr}
  .work h2,.local-services h2,.about h2,.why h2{font-size:clamp(34px,9vw,44px);line-height:1.08}
  .work,.local-services,.about,.why{padding-top:58px;padding-bottom:58px}
  .gallery figure{flex-basis:100%}
  .gallery figcaption{padding:13px 15px;font-size:15px}
  .carousel-dots{overflow:hidden;max-width:100%}
  .quote-section{padding-top:58px;padding-bottom:58px}
  .site-footer .footer-main{grid-template-columns:1fr 1fr;align-items:start}
  .site-footer .footer-brand{grid-column:1/-1}
  .site-footer .footer-col:last-child{grid-column:1/-1}
  .site-footer .footer-cta{width:auto}
  .site-footer .footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(max-width:390px){
  #diensten .cards{grid-template-columns:1fr}
  .site-footer .footer-main{grid-template-columns:1fr}
  .site-footer .footer-brand,.site-footer .footer-col:last-child{grid-column:auto}
  .site-footer .footer-bottom{flex-direction:column;align-items:flex-start}
}


/* Moderne afgeronde hoeken */
.contact,.primary,.secondary,.footer-cta,.quote-submit{border-radius:10px}
.cards article,.local-grid article,.gallery figure,.quote-form{border-radius:12px}
.quote-form input,.quote-form select,.quote-form textarea{border-radius:8px}
.carousel-btn{border-radius:50%}
