/* Motion layer for NRV: short, calm and safe on every page. */
@media (prefers-reduced-motion:no-preference){
  .nrv-motion-enabled .nrv-motion-target{opacity:0;transform:translateY(16px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.8,.2,1);transition-delay:var(--nrv-delay,0ms);will-change:opacity,transform}
  .nrv-motion-enabled .nrv-motion-target.nrv-motion-in{opacity:1;transform:translateY(0)}
  .service-card,.solution-card,.project-card,.lab-card,.released-card,.contact-card,.value-card,.proof-card,.problem-card,.brief-box,.cta-box{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
  @media (hover:hover) and (pointer:fine){
    .service-card:hover,.solution-card:hover,.project-card:hover,.lab-card:hover,.released-card:hover,.contact-card:hover,.value-card:hover,.proof-card:hover,.problem-card:hover{transform:translateY(-4px);border-color:#40526a;box-shadow:0 20px 42px rgba(0,0,0,.22)}
    .contact-card:hover .contact-icon{transform:scale(1.07) rotate(-4deg)}
  }
  .contact-icon{transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s ease}
  .btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
  .btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
  .btn:active{transform:translateY(0) scale(.98)}
}
@media (max-width:768px) and (prefers-reduced-motion:no-preference){
  .nrv-motion-enabled .nrv-motion-target{transform:translateY(10px);transition-duration:.36s}
  .contact-card:active,.service-card:active,.solution-card:active,.project-card:active,.lab-card:active,.released-card:active{transform:scale(.992)}
}