/* Shared by the React pages and standalone onsite landing page. */
@view-transition { navigation: auto; }
/* Plain, quick crossfade between pages. No movement, so nothing appears to jump. */
::view-transition-old(root) { animation: opaque-page-out 140ms ease-out both; }
::view-transition-new(root) { animation: opaque-page-in 200ms ease-out both; }
@keyframes opaque-page-out { to { opacity: 0; } }
@keyframes opaque-page-in { from { opacity: 0; } }
/* Navigation stays in place instead of fading with the page content. */
.site-navigation { view-transition-name: site-navigation; }
::view-transition-group(site-navigation) { animation-duration: 0s; }
::view-transition-old(site-navigation) { animation: none; opacity: 0; }
::view-transition-new(site-navigation) { animation: none; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation: none !important; }
}
