/* Page transitions: native cross-document View Transitions (Chrome/Edge/Safari), soft fallback elsewhere. */
@view-transition{navigation:auto}
.header{view-transition-name:site-header}
::view-transition-old(root){animation:vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in .5s cubic-bezier(.16,1,.3,1) both}
::view-transition-group(site-header){animation-duration:.2s}
::view-transition-old(site-header),::view-transition-new(site-header){animation:none}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}
/* Fallback and cross-origin arrivals (e.g. from 5g.velo-vpn.com): quick fade-in, quick fade-out on leave. */
@keyframes page-in{from{opacity:0}to{opacity:1}}
html.page-enter body{animation:page-in .4s ease both}
html.leaving body{opacity:0;transition:opacity .2s ease}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}html.page-enter body{animation:none}html.leaving body{opacity:1;transition:none}}
