/* Gold horizon: one short dissolve, a champagne seam, and a gentle arrival.
   Native navigation remains untouched when View Transitions are unavailable. */
@view-transition { navigation: auto; }
.journey-transition-light {
  position: fixed; top: 46vh; left: -150vw; width: 100vw; height: 2px;
  pointer-events: none; view-transition-name: journey-light;
  background: linear-gradient(90deg, transparent 6%, #aa885340 22%, #cdb784 48%, #f8ecd4 52%, #aa885320 78%, transparent 94%);
  box-shadow: 0 0 34px 8px #c7a25b28;
}
.header-horizontal, .dvr-legacy-header, .dvr-pay-header { view-transition-name: journey-header; }
.whatsapp-contact { view-transition-name: journey-contact; }
::view-transition { pointer-events: none; background: #0b2230; }
::view-transition-group(*) { animation-duration: 560ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }
::view-transition-old(root) { animation: journey-depart 260ms cubic-bezier(.4,0,.6,1) both; mix-blend-mode: normal; }
::view-transition-new(root) { animation: journey-arrive 560ms cubic-bezier(.22,1,.36,1) both; mix-blend-mode: normal; }
::view-transition-group(journey-header), ::view-transition-group(journey-contact) { z-index: 20; }
::view-transition-old(journey-header), ::view-transition-old(journey-contact) { animation: journey-still-out 160ms ease both; }
::view-transition-new(journey-header), ::view-transition-new(journey-contact) { animation: journey-still-in 260ms ease both; }
::view-transition-group(journey-light) {
  animation: none; transform: translate(0,46vh) !important;
  left: 0; top: 0; width: 100vw; height: 2px; z-index: 10;
}
::view-transition-old(journey-light) { display: none; }
::view-transition-new(journey-light) { animation: journey-gold 560ms cubic-bezier(.22,.6,.3,1) both; mix-blend-mode: screen; }
@keyframes journey-depart { to { opacity: 0; transform: translateY(-8px) scale(1.008); filter: blur(2px); } }
@keyframes journey-arrive { from { opacity: 0; transform: translateY(18px) scale(1.012); filter: blur(3px); } 45% { opacity: .85; filter: blur(0); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes journey-gold { 0% { opacity: 0; transform: translateX(-90%) scaleX(.4); } 25% { opacity: .95; } 65% { opacity: .55; } 100% { opacity: 0; transform: translateX(90%) scaleX(1.1); } }
@keyframes journey-still-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes journey-still-out { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .journey-transition-light { display: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
