/* APPROVED_PULLBACK_AND_PAN
   Opening: 9.5 seconds once. Pan: 12 seconds each way, 24 seconds round trip.
   Scope selectors/stacking as needed; do not retune motion. */
.page-backdrop {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.background-photo {
  height: 100%;
  width: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
  transform-origin: 50% 50%;
  transform: translate3d(1.5%,-2%,0) scale(1.85);
  animation: cinematic-pullback 9.5s cubic-bezier(.4,0,.6,1) 0s 1 both, cinematic-pan 12s cubic-bezier(.37,0,.63,1) 9.5s infinite alternate;
  will-change: transform;
  backface-visibility: hidden;
}
@keyframes cinematic-pullback {
  from { transform: translate3d(1.5%,-2%,0) scale(1.85); }
  to { transform: translate3d(-1.8%,0,0) scale(1.14); }
}
@keyframes cinematic-pan {
  from { transform: translate3d(-1.8%,0,0) scale(1.14); }
  to { transform: translate3d(1.8%,0,0) scale(1.14); }
}
.motion-paused .background-photo { animation-play-state: paused; }
/* Required static fallback; retain other accessibility rules separately. */
@media (prefers-reduced-motion: reduce) {
  .background-photo {
    animation: none !important;
    transform: scale(1.05) !important;
  }
  .motion-toggle { display: none !important; }
}