@keyframes scene-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes emblem-pulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(240, 93, 110, 0));
  }
  50% {
    transform: scale(1.025);
    filter: drop-shadow(0 0 16px rgba(240, 93, 110, 0.3));
  }
}

@keyframes ambient-drift {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(2vw, -1.5vh, 0) scale(1.08);
  }
}

.loading-mark,
.title-emblem {
  animation: emblem-pulse 3.4s ease-in-out infinite;
}

.ambient {
  animation: ambient-drift 9s ease-in-out infinite;
}

.reduce-motion *,
.reduce-motion *::before,
.reduce-motion *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
