/* Calm transitions: content is always immediately readable. */
@view-transition { navigation: auto; }
@keyframes vv-crossfade { from { opacity: 0; } to { opacity: 1; } }
@keyframes vv-detail-in {
  from { opacity: .6; translate: 0 4px; }
  to { opacity: 1; translate: 0 0; }
}
body:is(.home-v2, .site-v2) .reveal-on-scroll,
body:is(.home-v2, .site-v2) .reveal-on-scroll.is-visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.home-v2 .hero-copy > * { opacity: 1; animation: none; }
.home-v2 .hero-media img { animation: none; }
.vv-step.is-active { animation: none; }
.vv-step-stage h2:focus, .vv-step-note:focus { outline: none; }
@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(root) { animation: none; opacity: 1; }
  ::view-transition-new(root) { animation: vv-crossfade 220ms ease-out both; }
  ::view-transition-old(root), ::view-transition-new(root) { mix-blend-mode: normal; }
  ::view-transition { pointer-events: none; }
  .vv-conditional:not([hidden]), .vv-detail-text:not([hidden]) { animation: vv-detail-in 200ms ease-out; }
  .vv-progress-track span { transition: width 300ms ease-out; }
  .vv-option-card { transition: border-color 180ms ease, box-shadow 200ms ease, transform 200ms ease; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
