html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}

body {
  background: #294b45;
  display: grid;
  place-items: center;
}

.intro-scene {
  position: relative;
  width: min(100vw, 74.98vh);
  width: min(100vw, 74.98svh);
  aspect-ratio: 800 / 1067;
  overflow: hidden;
}

.intro-ground,
.intro-group-pose,
.intro-logo {
  position: absolute;
}

.intro-ground {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.intro-group-pose {
  top: 50%;
  left: 50%;
  width: 75%;
  height: auto;
  transform: translate(-50%, -50%);
}

.intro-logo {
  top: 25%;
  left: 50%;
  width: 75%;
  height: auto;
  transform: translateX(-50%);
  opacity: 0;
  animation: fade-intro-logo-in 2s ease-out 1s forwards;
}

.intro-group-pose.is-fading-out,
.intro-logo.is-fading-out {
  animation: fade-intro-layers-out 1s ease-out forwards;
}

@keyframes fade-intro-logo-in {
  to {
    opacity: 1;
  }
}

@keyframes fade-intro-layers-out {
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-logo {
    animation-delay: 0s;
    animation-duration: 1ms;
  }

  .intro-group-pose.is-fading-out,
  .intro-logo.is-fading-out {
    animation-duration: 1ms;
  }
}