/* Entrance animations */

.benefit.is-visible {
  animation: home-fade-up 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.concern.is-visible {
  /* entrance handled via transition in styles.css */
  animation: none;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.sf-inner {
  transition: none;
}

[data-split].is-visible .sf-inner {
  animation: sf-rise 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: calc(var(--i, 0) * 50ms);
}

.banner-pair a.is-visible,
.promo-banners a.is-visible,
.newsletter.is-visible,
.reveal-up.is-visible,
.rail-head.reveal-up.is-visible,
.trust-chip.is-visible,
.shoppable-video.is-visible,
.pdp-icon-card.is-visible,
.accordion-item.is-visible {
  animation: home-fade-up 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.product-rail.is-revealed .product-card,
.product-grid.is-revealed .product-card,
.product-card.is-visible {
  /* entrance handled via transition in styles.css */
  animation: none;
  opacity: 1;
  transform: translateY(0);
}

@keyframes home-fade-up {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes home-pop-in {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes sf-rise {
  from {
    opacity: 0;
    transform: translateY(110%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes card-fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-nav a.sale {
    animation: none !important;
  }
}
