/* The final photograph dissolves into view; no zoom or blur is applied. */
.epilogue[data-epilogue] .epilogue-photo > img {
  object-position: 50% 50%;
}
.epilogue.finale-fade-ready .epilogue-photo {
  opacity: 0;
  transition: opacity 1.15s cubic-bezier(.22,.61,.36,1);
}
.epilogue.finale-fade-ready .epilogue-copy {
  opacity: 0;
  pointer-events: none;
  transition: opacity .8s ease .3s;
}
.epilogue.finale-fade-ready.is-visible .epilogue-photo,
.epilogue.finale-fade-ready.is-visible .epilogue-copy,
.epilogue.finale-fade-ready:focus-within .epilogue-photo,
.epilogue.finale-fade-ready:focus-within .epilogue-copy {
  opacity: 1;
}
.epilogue.finale-fade-ready.is-visible .epilogue-copy,
.epilogue.finale-fade-ready:focus-within .epilogue-copy {
  pointer-events: auto;
}
@media (max-aspect-ratio: 1499/1000) {
  .epilogue.finale-fade-ready.is-visible .epilogue-copy,
  .epilogue.finale-fade-ready:focus-within .epilogue-copy {
    pointer-events: none;
  }
  .epilogue.finale-fade-ready .epilogue-copy .button { pointer-events: none; }
  .epilogue.finale-fade-ready.is-visible .epilogue-copy .button,
  .epilogue.finale-fade-ready:focus-within .epilogue-copy .button { pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .epilogue.finale-fade-ready .epilogue-photo,
  .epilogue.finale-fade-ready .epilogue-copy {
    opacity: 1;
    transition: none;
  }
}

@media (max-aspect-ratio: 941/1672) {
  .epilogue[data-epilogue] { min-height: 0; }
  .epilogue[data-epilogue] > .epilogue-stage {
    height: auto;
    min-height: 0;
    aspect-ratio: 941 / 1672;
  }
}
