/* VVU 4.24.8 - scherpe, rustige interactielaag */
:root{
  --vvu-motion-fast:180ms;
  --vvu-motion:280ms;
  --vvu-ease:cubic-bezier(.2,.75,.25,1);
  --vvu-orange:#f35a18;
  --vvu-ink:#07131b;
}

/* Navigatie: geen transform op tekst, dus scherp tijdens hover. */
.home470-header nav a,
.vvu-topnav nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  text-decoration:none;
  transform:none!important;
  transition:color var(--vvu-motion-fast) ease;
}
.home470-header nav a::after,
.vvu-topnav nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:1px;
  height:3px;
  border-radius:999px;
  background:var(--vvu-orange);
  opacity:0;
  transition:left var(--vvu-motion) var(--vvu-ease),right var(--vvu-motion) var(--vvu-ease),opacity var(--vvu-motion-fast) ease;
}
.home470-header nav a.active,
.home470-header nav a.vvu-nav-current,
.vvu-topnav nav a.active,
.vvu-topnav nav a.vvu-nav-current{color:var(--vvu-orange)!important}
.home470-header nav a.active::after,
.home470-header nav a.vvu-nav-current::after,
.vvu-topnav nav a.active::after,
.vvu-topnav nav a.vvu-nav-current::after{left:0;right:0;opacity:1}

/* Kaarten komen naar voren met relative top + schaduw; tekst wordt niet geschaald. */
body:not(.editor-mode) .home470-card{
  isolation:isolate;
  z-index:1;
  position:relative;
  top:0;
  transform:none!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10);
  transition:top var(--vvu-motion) var(--vvu-ease),box-shadow var(--vvu-motion) var(--vvu-ease),border-color var(--vvu-motion-fast) ease;
}
body:not(.editor-mode) .home470-card .pic img{transition:transform 420ms var(--vvu-ease),filter 320ms ease}
body:not(.editor-mode) .home470-card .icon{transition:box-shadow var(--vvu-motion) ease,background-color var(--vvu-motion-fast) ease}
body:not(.editor-mode) .home470-card .arrow{display:inline-block;transition:color var(--vvu-motion-fast) ease}

body:not(.editor-mode) .vvu-solution-row,
body:not(.editor-mode) .project-row,
body:not(.editor-mode) .page489-card{
  position:relative;
  top:0;
  transform:none!important;
  transition:top var(--vvu-motion) var(--vvu-ease),box-shadow var(--vvu-motion) var(--vvu-ease),border-color var(--vvu-motion-fast) ease;
}

/* Knoppen/links: geen transform van tekst meer. */
.cta,.home470-actions a,.vvu4230-calc-cta>a,.page489-cta,.vvu-detail-cta a,
.vvu-solution-more,.project-more,.vvu-contact-item,.vvu497-links a,.vvu497-line a,
button,input[type="submit"]{
  transform:none!important;
  transition:box-shadow var(--vvu-motion) var(--vvu-ease),background-color var(--vvu-motion-fast) ease,color var(--vvu-motion-fast) ease,border-color var(--vvu-motion-fast) ease,opacity var(--vvu-motion-fast) ease;
}

a:focus-visible,button:focus-visible,input[type="submit"]:focus-visible{
  outline:3px solid rgba(243,90,24,.34)!important;
  outline-offset:4px!important;
}

@media (hover:hover) and (pointer:fine){
  .home470-header nav a:hover,.vvu-topnav nav a:hover{color:var(--vvu-orange)!important}
  .home470-header nav a:hover::after,.vvu-topnav nav a:hover::after{left:0;right:0;opacity:1}

  body:not(.editor-mode) .home470-card:hover,
  body:not(.editor-mode) .home470-card:focus-visible{
    z-index:12;
    top:-10px;
    box-shadow:0 20px 42px rgba(0,0,0,.28),0 0 0 1px rgba(243,90,24,.20);
  }
  body:not(.editor-mode) .home470-card:hover .pic img,
  body:not(.editor-mode) .home470-card:focus-visible .pic img{
    transform:scale(1.035);
    filter:saturate(1.05) contrast(1.02);
  }
  body:not(.editor-mode) .home470-card:hover .icon,
  body:not(.editor-mode) .home470-card:focus-visible .icon{box-shadow:0 8px 18px rgba(0,0,0,.25)}
  body:not(.editor-mode) .home470-card:hover .arrow,
  body:not(.editor-mode) .home470-card:focus-visible .arrow{color:#d8460b!important}

  body:not(.editor-mode) .vvu-solution-row:hover,
  body:not(.editor-mode) .project-row:hover,
  body:not(.editor-mode) .page489-card:hover{
    top:-5px;
    border-color:rgba(243,90,24,.52)!important;
    box-shadow:0 17px 36px rgba(0,0,0,.20);
  }

  .cta:hover,.home470-actions a:hover,.vvu4230-calc-cta>a:hover,.page489-cta:hover,.vvu-detail-cta a:hover{
    box-shadow:0 10px 22px rgba(243,90,24,.25);
    filter:brightness(1.035);
  }
  .vvu-solution-more:hover,.project-more:hover{color:var(--vvu-orange)!important;text-decoration-thickness:2px}
  .vvu-contact-item:hover{box-shadow:0 10px 24px rgba(0,0,0,.18);border-color:rgba(243,90,24,.55)!important}
  .vvu497-links a:hover,.vvu497-line a:hover{color:var(--vvu-orange)!important}

  .cta:active,.home470-actions a:active,.vvu4230-calc-cta>a:active,.page489-cta:active,
  .vvu-detail-cta a:active,button:active,input[type="submit"]:active{filter:brightness(.96)}
}

/* Mobiel/tablet: geen hover-offsets of kaartverplaatsing. */
@media (hover:none), (pointer:coarse){
  .home470-card,.vvu-solution-row,.project-row,.page489-card{top:0!important;transform:none!important}
  .home470-card:active,.vvu-solution-row:active,.project-row:active{filter:brightness(.97)}
  .vvu-mobile-drawer a.vvu-nav-current,.vvu-mobile-drawer a.active{
    color:var(--vvu-orange)!important;
    border-bottom-color:rgba(243,90,24,.42)!important;
  }
}
@media(max-width:600px){
  .home470-card,.vvu-solution-row,.project-row,.page489-card{top:0!important;transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  .home470-header nav a,.vvu-topnav nav a,.home470-header nav a::after,.vvu-topnav nav a::after,
  .home470-card,.home470-card *,.vvu-solution-row,.project-row,.page489-card,
  .cta,.home470-actions a,.vvu4230-calc-cta>a,.page489-cta,.vvu-detail-cta a,
  .vvu-solution-more,.project-more,.vvu-contact-item,.vvu497-links a,.vvu497-line a,button,input[type="submit"]{
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
