/* VVU 4.23.0 responsive foundation */
html,body{max-width:100%;overflow-x:hidden}
img,video,svg{max-width:100%}
.vvu-mobile-menu-btn{display:none!important}
.vvu-mobile-drawer{display:none!important}
.vvu4230-calc-cta{width:min(1180px,calc(100% - 40px));margin:34px auto;padding:28px 32px;border:1px solid #29414d;border-radius:16px;background:#071720;color:#fff;display:flex;align-items:center;gap:30px;justify-content:space-between;box-sizing:border-box}
.vvu4230-calc-cta span{display:block;color:#f35a18;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.vvu4230-calc-cta h2{margin:0 0 6px;font-size:30px;line-height:1.08}.vvu4230-calc-cta p{margin:0;color:#c4d0d6;line-height:1.5}.vvu4230-calc-cta>a{flex:0 0 auto;background:#f35a18;color:#fff!important;text-decoration:none;padding:14px 19px;border-radius:9px;font-weight:900}
@media(max-width:900px){
 html{-webkit-text-size-adjust:100%}body{min-width:0!important;width:100%!important}
 .home470-header,.vvu-topnav{height:72px!important;min-height:72px!important;position:sticky!important;top:0!important;z-index:1000!important;background:#fff!important}
 .home470-header .inner,.vvu-topnav .inner{width:100%!important;max-width:none!important;padding:0 15px!important;margin:0!important;gap:10px!important;box-sizing:border-box!important;min-width:0!important}
 .home470-header .inner>a:first-child img,.vvu-topnav .logo,.vvu-topnav .inner>a:first-child img{width:120px!important;max-width:120px!important;height:56px!important;object-fit:contain!important}
 .home470-header nav,.vvu-topnav nav{display:none!important}.home470-header .cta,.vvu-topnav .cta{display:none!important}
 .vvu-lang-wrap{margin-left:auto!important;flex:0 0 auto!important}.vvu-lang{height:42px!important;min-width:64px!important;padding:0 10px!important}
 .vvu-mobile-menu-btn{display:flex!important;width:43px!important;height:43px!important;padding:0!important;align-items:center!important;justify-content:center!important;border:1px solid #d1dbe0!important;border-radius:9px!important;background:#fff!important;color:#07131b!important;font-size:26px!important;line-height:1!important;flex:0 0 43px!important}
 .vvu-mobile-drawer{display:none!important;position:fixed!important;left:0!important;right:0!important;top:72px!important;z-index:9999!important;background:#fff!important;padding:12px 16px 18px!important;box-shadow:0 18px 35px #0004!important;flex-direction:column!important;gap:0!important;max-height:calc(100vh - 72px)!important;overflow:auto!important}
 .vvu-mobile-drawer.open{display:flex!important}.vvu-mobile-drawer a{display:block!important;color:#07131b!important;text-decoration:none!important;font-weight:800!important;padding:13px 4px!important;border-bottom:1px solid #e5eaed!important}.vvu-mobile-drawer .mobile-cta{margin-top:10px!important;background:#f35a18!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:13px!important;text-align:center!important}
 main,.page489-main,.page489-wrap,.projects-page,.solutions-page{min-width:0!important;max-width:100%!important}
 .home470-hero{width:100%!important;max-width:none!important;display:flex!important;flex-direction:column!important;grid-template-columns:none!important;margin:0!important;border-radius:0!important;overflow:hidden!important}
 .home470-copy{width:100%!important;padding:28px 20px 30px!important;box-sizing:border-box!important;min-width:0!important}.home470-copy h1{font-size:clamp(38px,11vw,52px)!important;line-height:1.02!important;margin:0 0 18px!important;max-width:100%!important;overflow-wrap:anywhere!important}.home470-copy p{font-size:16px!important;line-height:1.55!important;margin:0 0 22px!important}.home470-copy p br{display:none!important}
 .home470-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important}.home470-actions a{min-width:0!important;padding:14px 12px!important;text-align:left!important}
 .home470-photo{width:100%!important;min-height:330px!important;height:auto!important;aspect-ratio:4/3!important;background-size:cover!important;background-position:center!important}
 .home470-solutions,.home470-grid,.home470-benefits{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.home470-grid{grid-template-columns:1fr!important;padding:16px!important;gap:14px!important}.home470-card{width:100%!important;min-width:0!important}
 .home470-benefits{padding:20px 16px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.home470-benefits span{justify-content:flex-start!important;text-align:left!important}
 .vvu4230-calc-cta{width:calc(100% - 28px)!important;margin:20px 14px!important;padding:22px!important;display:block!important}.vvu4230-calc-cta h2{font-size:28px!important}.vvu4230-calc-cta>a{display:block!important;margin-top:18px!important;text-align:center!important}
 .solutions489-list,.solutions-list,.vvu-solutions-live,.oplossingen-list,.project-list{width:100%!important;max-width:100%!important;padding:0 14px!important;box-sizing:border-box!important}
 .vvu-solution-row,.solution-row,.project-row{display:flex!important;flex-direction:column!important;width:100%!important;grid-template-columns:none!important;min-width:0!important;overflow:hidden!important;border-radius:14px!important}
 .vvu-solution-photo,.solution-photo,.project-photo{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;border-radius:13px 13px 0 0!important}.vvu-solution-photo img,.solution-photo img,.project-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 .vvu-solution-copy,.solution-copy,.project-copy{width:100%!important;padding:46px 20px 24px!important;box-sizing:border-box!important;min-width:0!important}.vvu-solution-copy h2,.solution-copy h2,.project-copy h2{font-size:clamp(28px,8.3vw,36px)!important;overflow-wrap:anywhere!important}.project-icon,.vvu-solution-icon,.solution-icon{left:24px!important;top:auto!important;transform:none!important;margin-top:-38px!important;width:72px!important;height:72px!important;position:absolute!important}
 .project-bullets,.vvu-solution-bullets{grid-template-columns:1fr!important;gap:8px!important}
 .projects-head,.solutions-head{padding:6px 18px!important}.projects-head h1,.solutions-head h1{font-size:clamp(36px,10vw,48px)!important;overflow-wrap:anywhere!important}
 .vvu-detail-page,.vvu-detail-hero,.vvu-detail-sections{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.vvu-detail-hero{grid-template-columns:1fr!important}.vvu-detail-copy{padding:24px 18px!important}.vvu-detail-copy h1{font-size:clamp(34px,9vw,44px)!important}.vvu-detail-sections{grid-template-columns:1fr!important;padding:0 14px!important}
 .vvu497-footer{width:100%!important;overflow:hidden!important}.vvu497-main{width:100%!important;max-width:100%!important;padding:30px 18px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:1fr!important;gap:26px!important}.vvu497-logo{max-width:150px!important}.vvu497-bottom{padding:16px 18px!important;text-align:center!important;white-space:normal!important}
}
@media(max-width:430px){.home470-actions{grid-template-columns:1fr!important}.home470-photo{aspect-ratio:1/1.05!important}.vvu-lang-wrap{margin-left:auto!important}.home470-header .inner>a:first-child img,.vvu-topnav .inner>a:first-child img{width:112px!important}}

/* VVU 4.24.5 responsive herstel */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0!important;max-width:100%;overflow-x:hidden}

/* De homepage hero gebruikt de verhouding van het echte bronbeeld (1507 x 704).
   Geen vierkante/4:3 crop meer op tablet of telefoon. */
@media(max-width:900px){
 .home470-photo{
   width:100%!important;
   min-height:0!important;
   height:auto!important;
   aspect-ratio:1507/704!important;
   background-size:cover!important;
   background-position:center center!important;
 }
}
@media(max-width:430px){
 .home470-photo{min-height:0!important;height:auto!important;aspect-ratio:1507/704!important}
}

/* Tablet landscape: menu compact, inhoud blijft binnen viewport. */
@media (min-width:901px) and (max-width:1100px){
 .home470-header,.vvu-topnav{height:72px!important;min-height:72px!important;position:sticky!important;top:0!important;z-index:1000!important;background:#fff!important}
 .home470-header .inner,.vvu-topnav .inner{width:100%!important;max-width:none!important;padding:0 18px!important;margin:0!important;gap:12px!important;box-sizing:border-box!important;min-width:0!important}
 .home470-header .inner>a:first-child img,.vvu-topnav .logo,.vvu-topnav .inner>a:first-child img{width:122px!important;max-width:122px!important;height:56px!important;object-fit:contain!important}
 .home470-header nav,.vvu-topnav nav,.home470-header .cta,.vvu-topnav .cta{display:none!important}
 .vvu-lang-wrap{margin-left:auto!important;flex:0 0 auto!important}
 .vvu-mobile-menu-btn{display:flex!important;width:43px!important;height:43px!important;padding:0!important;align-items:center!important;justify-content:center!important;border:1px solid #d1dbe0!important;border-radius:9px!important;background:#fff!important;color:#07131b!important;font-size:26px!important;line-height:1!important;flex:0 0 43px!important}
 .vvu-mobile-drawer{display:none!important;position:fixed!important;left:0!important;right:0!important;top:72px!important;z-index:9999!important;background:#fff!important;padding:12px 18px 18px!important;box-sizing:border-box!important;box-shadow:0 18px 35px #0004!important;flex-direction:column!important;max-height:calc(100dvh - 72px)!important;overflow:auto!important}
 .vvu-mobile-drawer.open{display:flex!important}.vvu-mobile-drawer a{display:block!important;color:#07131b!important;text-decoration:none!important;font-weight:800!important;padding:13px 4px!important;border-bottom:1px solid #e5eaed!important}
 .vvu-mobile-drawer .mobile-cta{margin-top:10px!important;background:#f35a18!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:13px!important;text-align:center!important}
 .home470-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important}
 .solutions489-list,.solutions-list,.vvu-solutions-live,.oplossingen-list,.project-list{width:100%!important;max-width:100%!important;padding-left:18px!important;padding-right:18px!important;box-sizing:border-box!important}
}

/* Tablet portrait: project-/oplossingsbeelden 16:9. Hero valt hierboven buiten deze crop-regel. */
@media (min-width:601px) and (max-width:900px){
 .vvu-solution-photo,.solution-photo,.project-photo{aspect-ratio:16/9!important}
 .vvu-detail-photo img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}
 .home470-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .home470-benefits{grid-template-columns:1fr 1fr!important}
 .vvu497-main{grid-template-columns:1fr 1fr!important}
}

/* Telefoon: project-/oplossingsbeelden 4:3; hero behoudt eigen bronverhouding. */
@media(max-width:600px){
 .vvu-solution-photo,.solution-photo,.project-photo{aspect-ratio:4/3!important}
 .vvu-detail-photo img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
 .home470-grid,.home470-benefits,.vvu497-main{grid-template-columns:1fr!important}
}

/* Contactformulier status */
.vvu-contact-status{display:none;margin:12px 0 0;padding:12px 14px;border-radius:9px;font-weight:700;line-height:1.4}
.vvu-contact-status.show{display:block}
.vvu-contact-status.ok{background:#0d3527;border:1px solid #276b50;color:#dff8eb}
.vvu-contact-status.error{background:#3c1919;border:1px solid #7c3636;color:#ffe8e8}
.vvu-contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* VVU 4.24.6 - achtergrond Over ons / Service / Contact sluit naadloos aan op footer */
.page489{
  background:linear-gradient(180deg,#06121a 0%,#06131b 100%)!important;
}
.page489 + .vvu497-footer,
.vvu497-footer,
.vvu497-main,
.vvu497-bottom{
  background:#06131b!important;
  background-color:#06131b!important;
}

/* VVU 4.24.8 - mobiele kaart- en icoonfix */
@media(max-width:600px){
  /* Homepage: nooit een buur-icoon of getransformeerd deel buiten de kaart tonen. */
  .home470-solutions,
  .home470-grid{
    overflow:hidden!important;
  }
  .home470-card{
    width:100%!important;
    max-width:100%!important;
    min-height:330px!important;
    overflow:hidden!important;
    transform:none!important;
    top:0!important;
  }
  .home470-card>.icon{
    position:absolute!important;
    left:18px!important;
    right:auto!important;
    top:105px!important;
    margin:0!important;
    width:52px!important;
    height:52px!important;
    z-index:4!important;
    transform:none!important;
  }
  .home470-card>.icon~.icon{display:none!important}
  .home470-card .body{padding:34px 16px 16px!important}
  .home470-card h3{min-height:0!important;font-size:21px!important;line-height:1.16!important}
  .home470-card p{min-height:0!important;font-size:14px!important;line-height:1.5!important}

  /* Oplossingen/projecten: icoon als normaal flex-item op de beeldrand.
     Zo blijft de hele cirkel zichtbaar binnen de kaart. */
  .vvu-solution-row,.solution-row,.project-row{
    position:relative!important;
    overflow:hidden!important;
  }
  .vvu-solution-icon,.solution-icon,.project-icon{
    position:relative!important;
    left:20px!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    align-self:flex-start!important;
    flex:0 0 64px!important;
    width:64px!important;
    height:64px!important;
    margin:-32px 0 -14px 0!important;
    transform:none!important;
    z-index:6!important;
    box-sizing:border-box!important;
  }
  .vvu-solution-copy,.solution-copy,.project-copy{
    padding:30px 20px 22px!important;
  }
  .vvu-solution-copy h2,.solution-copy h2,.project-copy h2{
    font-size:clamp(24px,7vw,29px)!important;
    line-height:1.08!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    min-width:0!important;
  }
  .vvu-solution-copy p,.solution-copy p,.project-copy p{
    font-size:15px!important;
    line-height:1.5!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Ook op een smal desktopvenster met muis geen kaart-schaal toepassen. */
@media(max-width:600px) and (hover:hover) and (pointer:fine){
  body:not(.editor-mode) .home470-card:hover,
  body:not(.editor-mode) .home470-card:focus-visible,
  body:not(.editor-mode) .vvu-solution-row:hover,
  body:not(.editor-mode) .project-row:hover{
    transform:none!important;
  }
}

/* VVU 4.24.9 - ingebakken rechter-icoontjes uit bronfoto's op mobiel wegcroppen */
@media(max-width:600px){
  .home470-card .pic{
    height:145px!important;
    min-height:145px!important;
    overflow:hidden!important;
  }
  .home470-card .pic img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:left center!important;
    transform:none!important;
  }
}
