@keyframes e8-page-zoom-out {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 0;
  }
  38.46% {
    transform: translate3d(0, 0, 0) scale(.6);
    border-radius: 28px;
  }
  69.23%,
  100% {
    transform: translate3d(0, -175vh, 0) scale(.6);
    border-radius: 28px;
  }
}

@keyframes e8-page-rise-in {
  0%,
  30.77% {
    transform: translate3d(0, 175vh, 0) scale(.6);
    border-radius: 28px;
  }
  69.23% {
    transform: translate3d(0, 0, 0) scale(.6);
    border-radius: 28px;
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 0;
  }
}

/* Explicit transition layer. This avoids Chromium occasionally skipping its
   native cross-document transition during redirects or cache restoration. */
.e8-transition-fallback {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  overflow: hidden;
  pointer-events: none;
  background: #111015;
  visibility: hidden;
}

.e8-transition-fallback__stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #111015;
  transform-origin: 50% 50%;
  will-change: transform, border-radius;
}

.e8-transition-fallback__page {
  position: absolute;
  left: 0;
  width: 100%;
}

.e8-transition-fallback.is-active {
  visibility: visible;
}

.e8-transition-fallback.is-active .e8-transition-fallback__stage {
  animation: e8-page-zoom-out 1.35s cubic-bezier(.76, 0, .24, 1) both;
}

html.e8-fallback-arriving body {
  transform-origin: 50% 50%;
  animation: e8-fallback-arrive 1.35s cubic-bezier(.76, 0, .24, 1) both;
}

@keyframes e8-fallback-arrive {
  0% {
    transform: translate3d(0, 175vh, 0) scale(.6);
    border-radius: 28px;
  }
  55.56% {
    transform: translate3d(0, 0, 0) scale(.6);
    border-radius: 28px;
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    border-radius: 0;
  }
}

@media (max-width: 700px) {
  .e8-transition-fallback.is-active .e8-transition-fallback__stage,
  html.e8-fallback-arriving body {
    animation-duration: 1.55s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .e8-transition-fallback {
    display: none;
  }
}
