/* ProudSite page transitions (shared; /ps-vt.css). Linked only when the template's motion is not 'off'.
   The PAGE itself always cuts instantly: a cross-fade would show text part-transparent, and WCAG 1.4.3 has no
   exception for that (concepts review r5 #5). Only named images morph (view-transition-name is allowed on
   images only; motion-check enforces it), and an image fading is allowed. Morphs run only after a successful
   boot with motion allowed; otherwise every view-transition pseudo-element has no animation. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  html.ps-boot:not(.ps-reduce):not(.ps-nojs)::view-transition-group(*) { animation-duration: var(--ps-dur-m, 420ms); animation-timing-function: var(--ps-ease-spring, ease-out); }
}
/* The page: old snapshot hidden outright (never part-faded), new one shown at once. */
::view-transition-group(root), ::view-transition-image-pair(root), ::view-transition-new(root) { animation: none !important; }
::view-transition-old(root) { animation: none !important; opacity: 0; }
:is(html:not(.ps-boot), html.ps-reduce, html.ps-nojs)::view-transition-group(*),
:is(html:not(.ps-boot), html.ps-reduce, html.ps-nojs)::view-transition-image-pair(*),
:is(html:not(.ps-boot), html.ps-reduce, html.ps-nojs)::view-transition-old(*),
:is(html:not(.ps-boot), html.ps-reduce, html.ps-nojs)::view-transition-new(*) { animation: none !important; }
