.heart-flight-active .home-floating-heart,
.heart-flight-active .inner-floating-heart {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 82 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  isolation: isolate;
  transform: translate3d(
      calc(var(--heart-flight-x, 50vw) - 50%),
      calc(var(--heart-flight-y, 18px) - 50%),
      0
    )
    rotate(var(--heart-flight-rotate, 0deg))
    scale(var(--heart-flight-scale, 1)) !important;
  transform-origin: center;
  transition: opacity 0.18s ease, filter 0.22s ease !important;
  will-change: transform;
}

.heart-flight-active .home-floating-heart-mark,
.heart-flight-active .home-floating-heart-svg,
.heart-flight-active .inner-floating-heart svg {
  position: relative;
  z-index: 2;
}

.heart-flight-active .home-floating-heart::before,
.heart-flight-active .home-floating-heart::after,
.heart-flight-active .inner-floating-heart::before,
.heart-flight-active .inner-floating-heart::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: -5px;
  border: 1px solid rgba(243, 201, 77, 0.76);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.heart-flight-pulsing .home-floating-heart::before,
.heart-flight-pulsing .inner-floating-heart::before {
  animation: better-heart-signal 2.85s ease-out infinite;
}

.heart-flight-pulsing .home-floating-heart::after,
.heart-flight-pulsing .inner-floating-heart::after {
  animation: better-heart-signal 2.85s 0.95s ease-out infinite;
}

.heart-flight-pulsing .home-floating-heart-svg,
.heart-flight-pulsing .inner-floating-heart svg {
  animation: better-heart-beat 2.85s ease-in-out infinite;
}

@keyframes better-heart-signal {
  0%, 12% { opacity: 0; transform: scale(0.88); }
  18% { opacity: 0.62; }
  58%, 100% { opacity: 0; transform: scale(1.78); }
}

@keyframes better-heart-beat {
  0%, 10%, 20%, 100% { transform: scale(1); }
  14% { transform: scale(1.05); }
  17% { transform: scale(1.018); }
}

.heart-flight-ready .footer-v10-heart {
  opacity: 0;
}

.footer-logo-landing {
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 0;
}

.footer-logo-landing > .brand {
  margin: 0;
}

.footer-heart-cover {
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 26.5%;
  border-radius: 14px 0 0 14px;
  background: #fdfbf6;
  pointer-events: none;
}

.footer-heart-target {
  position: absolute;
  z-index: 3;
  left: 3.1%;
  top: 50%;
  width: 20.8%;
  aspect-ratio: 100 / 92;
  transform: translateY(-50%);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .heart-flight-active .home-floating-heart,
  .heart-flight-active .inner-floating-heart,
  .heart-flight-pulsing .home-floating-heart-svg,
  .heart-flight-pulsing .inner-floating-heart svg,
  .heart-flight-pulsing .home-floating-heart::before,
  .heart-flight-pulsing .home-floating-heart::after,
  .heart-flight-pulsing .inner-floating-heart::before,
  .heart-flight-pulsing .inner-floating-heart::after {
    animation: none !important;
    transition: none !important;
  }
}
