@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes drift {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(-1.5%, -1%, 0) scale(1.04); }
}
@keyframes spin { to { transform: rotate(360deg); } }

.anim-fade-up { animation: fadeUp var(--dur-slow) var(--ease) both; }
.anim-fade-in { animation: fadeIn var(--dur-slow) var(--ease) both; }
.delay-1 { animation-delay: 120ms; }
.delay-2 { animation-delay: 240ms; }
.delay-3 { animation-delay: 360ms; }

.hero__bg-inner { animation: drift 18s var(--ease) infinite alternate; }

.spinner {
  width: 16px; height: 16px;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  display: inline-block;
  animation: spin 0.7s linear infinite;
}
