.logo-swap {
  display: block;
  position: relative;
  width: 230px;
  aspect-ratio: 1625 / 473;
  overflow: hidden;
}

.logo-swap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: logo-crossfade 12s infinite ease-in-out;
  will-change: opacity, transform;
}

.logo-swap .logo-two { animation-delay: -6s; }
.footer-brand .logo-swap { width: 190px; }
.footer-legal { display: grid; gap: 5px; text-align: right; }
.footer-legal p { margin: 0; }

@keyframes logo-crossfade {
  0%, 42% { opacity: 1; transform: scale(1); }
  50%, 92% { opacity: 0; transform: scale(.975); }
  100% { opacity: 1; transform: scale(1); }
}

@media (max-width: 580px) {
  .brand .logo-swap { width: 175px; }
  .footer-brand .logo-swap { width: 180px; }
  .footer-legal { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-swap .logo-two { display: none; }
}
