html.page-transition-enabled body {
  opacity: 0;
  transform: translateY(12px) scale(0.996);
  filter: saturate(0.98);
  transition:
    opacity 260ms ease,
    transform 320ms cubic-bezier(.22, 1, .36, 1),
    filter 260ms ease;
}

html.page-transition-enabled.page-transition-ready body {
  opacity: 1;
  transform: none;
  filter: none;
}

html.page-transition-enabled.page-transition-leaving body {
  opacity: 0;
  transform: translateY(-10px) scale(0.996);
  filter: blur(1.5px) saturate(0.96);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  html.page-transition-enabled body,
  html.page-transition-enabled.page-transition-ready body,
  html.page-transition-enabled.page-transition-leaving body {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
