/* A shared transition for full-document navigation. */
html.aiaci-transition-active {
  background: #000;
  overflow: hidden;
  scrollbar-gutter: stable;
}

html.aiaci-transition-active body > :not(#aiaci-page-transition):not(script):not(style):not(link) {
  opacity: 0 !important;
  transform: translate3d(72px, 0, 0) !important;
  pointer-events: none !important;
}

#aiaci-page-transition {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
}

#aiaci-page-transition::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #000;
  opacity: 1;
}

.aiaci-transition-logo {
  width: min(84vw, 460px);
  aspect-ratio: 1;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.aiaci-transition-logo video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 0;
}

.aiaci-transition-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

html.aiaci-transition-reveal body > :not(#aiaci-page-transition):not(script):not(style):not(link) {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition: opacity 480ms ease, transform 480ms cubic-bezier(.2, .75, .2, 1) !important;
}

.aiaci-transition-reveal #aiaci-page-transition::before {
  opacity: 0;
  transition: opacity 420ms ease;
}

.aiaci-transition-reveal .aiaci-transition-logo {
  transform: translate3d(calc(-50vw - 100%), 0, 0);
  transition: transform 480ms cubic-bezier(.55, 0, .3, 1);
}

@media (prefers-reduced-motion: reduce) {
  #aiaci-page-transition { display: none !important; }
  html.aiaci-transition-active { overflow: auto; }
  html.aiaci-transition-active body > :not(#aiaci-page-transition):not(script):not(style):not(link) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    pointer-events: auto !important;
  }
}
