/* Subtle motion only; respects the user's reduced-motion preference. */

.button-entrance,
.fadein {
  animation: minimal-pro-enter 420ms cubic-bezier(.2, .75, .3, 1) both;
  animation-delay: min(calc(var(--delay, 0) * 35ms), 280ms);
}

@keyframes minimal-pro-enter {
  from {
    opacity: 0;
    transform: translateY(9px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.button-hover,
.credit-hover,
.social-hover,
.icon-hover,
.footer-hover {
  transition: transform 160ms ease, opacity 160ms ease;
}

.credit-hover:hover,
.social-hover:hover,
.footer-hover:hover {
  transform: translateY(-2px);
}

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