/* Fast shared navigation and motion layer */
html{scroll-behavior:smooth}
body{opacity:1;transform:none}

/* Native cross-page transitions where supported; navigation remains immediate elsewhere. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:agt-fade-out .14s ease both}
::view-transition-new(root){animation:agt-fade-in .20s ease both}
@keyframes agt-fade-out{to{opacity:.72;transform:translateY(-2px)}}
@keyframes agt-fade-in{from{opacity:.72;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Lightweight in-page reveal animations only. */
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .5s ease}
.reveal-on-scroll.is-visible{opacity:1;transform:none}

/* Immediate click feedback without delaying navigation. */
a,button{transition:opacity .16s ease,transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
a:active,button:active{transform:scale(.985)}

@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .reveal-on-scroll,a,button{transition:none!important;transform:none!important}
 .reveal-on-scroll{opacity:1}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
