/* ══════════════════════════════════════════
   CROSS-DOCUMENT VIEW TRANSITIONS
   Opt-in only: `@view-transition` and the ::view-transition-* pseudo-elements
   are silently ignored by browsers that don't support the View Transitions
   API, so linking this file everywhere is a pure no-op enhancement there
   (Safari/Firefox today; supported in Chromium 126+).
   Both the outgoing and incoming document need this rule present for a
   cross-document transition to fire, so every participant page links it.
   ══════════════════════════════════════════ */
@view-transition {
  navigation: auto;
}

/* Dezent: kurzes Fade + minimaler Scale, exponentielles Ease-out. No layout
   properties touched (only opacity/transform), so this stays cheap even on
   the funnel page's already-busy background. */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.3s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); /* ease-out-expo */
}

::view-transition-old(root) {
  animation-name: bwv-vt-fade-out;
}
::view-transition-new(root) {
  animation-name: bwv-vt-fade-in;
}

@keyframes bwv-vt-fade-out {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.99); }
}
@keyframes bwv-vt-fade-in {
  from { opacity: 0; transform: scale(1.01); }
  to   { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}
