.ba-hero-visual.ba-hero-visual--rotating .ba-hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transform: scale(1);
  transition: opacity 1.05s ease;
  will-change: opacity, transform;
}

.ba-hero-visual.ba-hero-visual--rotating .ba-hero-image--incoming {
  opacity: 0;
  pointer-events: none;
}

.ba-hero-visual.ba-hero-visual--rotating .ba-hero-image--incoming.is-visible {
  opacity: 1;
}

.ba-hero-visual.ba-hero-visual--rotating .ba-hero-image--drift {
  animation: baHeroDrift 12s ease-in-out infinite alternate;
}

@keyframes baHeroDrift {
  from { transform: scale(1); }
  to { transform: scale(1.018); }
}

.ba-hero-photo-credits {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  justify-self: end;
  z-index: 5;
  margin: 0 .8rem .8rem 0;
  padding: .36rem .58rem;
  border: 1px solid rgba(247,243,238,.28);
  border-radius: 999px;
  background: rgba(30,41,51,.68);
  color: #F7F3EE !important;
  font-size: .67rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ba-hero-photo-credits:hover,
.ba-hero-photo-credits:focus-visible {
  background: rgba(30,41,51,.88);
  color: #F5D8B7 !important;
}

@media (max-width: 782px) {
  .ba-hero-photo-credits {
    grid-column: 1;
    grid-row: 2;
    margin: 0 .65rem .65rem 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ba-hero-visual.ba-hero-visual--rotating .ba-hero-image {
    transition: none;
    animation: none;
  }
}
