/* Motion is progressive: content stays readable without JavaScript. */
@keyframes batavia-rise{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes batavia-photo{from{transform:scale(1.035) translateY(3px)}to{transform:scale(1) translateY(0)}}
@keyframes batavia-drive{0%{transform:translateX(-9px)}55%{transform:translateX(5px)}100%{transform:translateX(0)}}
@media(prefers-reduced-motion:no-preference){
 .batavia-enter{animation:batavia-rise .75s cubic-bezier(.22,.65,.3,1) both;animation-delay:var(--motion-delay,0ms)}
 .hero-photo img,.hero-image img,.city-photo img{animation:batavia-photo 4.5s ease-out both;transform-origin:center}
 .fleet-cargo img,.icon-truck{animation:batavia-drive 3.8s ease-in-out both}
 .card,.directory-group,.vehicle,.news-card,.doc-card,.operation-photo,.process,.shipping-step{transition:box-shadow .25s ease,border-color .25s ease}
 .vehicle img,.news-card img,.doc-card img,.operation-photo img{transition:transform .6s cubic-bezier(.22,.65,.3,1)}
 .vehicle,.news-card,.doc-card,.operation-photo{overflow:hidden}
 .btn,.directory-items a,.related-links a{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
 @media(hover:hover){
  .card:hover,.directory-group:hover,.vehicle:hover,.news-card:hover,.doc-card:hover,.operation-photo:hover,.process:hover{box-shadow:0 14px 32px #052e6217;border-color:#efac79}
  .vehicle:hover img,.news-card:hover img,.doc-card:hover img,.operation-photo:hover img{transform:scale(1.025)}
  .btn:hover,.directory-items a:hover,.related-links a:hover{transform:translateY(-2px)}
 }
}
@media(prefers-reduced-motion:reduce){.batavia-enter{animation:none!important}html{scroll-behavior:auto!important}}
