/* 使用 #heroSlides 提高优先级，避免 Tailwind 运行时样式盖住 opacity */
#heroSlides .hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 700ms ease;
}
#heroSlides .hero-slide.is-active {
  opacity: 1;
  z-index: 10;
  pointer-events: auto;
}
#heroSlides .hero-slide .hero-title,
#heroSlides .hero-slide .hero-desc,
#heroSlides .hero-slide .hero-cta {
  opacity: 0;
}
#heroSlides .hero-slide .hero-title {
  transform: translateY(-46px);
  transition: transform 700ms ease, opacity 700ms ease;
}
#heroSlides .hero-slide .hero-desc {
  transform: translateY(-28px);
  transition: transform 700ms ease 120ms, opacity 700ms ease 120ms;
}
#heroSlides .hero-slide .hero-cta {
  transform: translateY(-28px);
  transition: transform 700ms ease 220ms, opacity 700ms ease 220ms;
}
#heroSlides .hero-slide.is-active .hero-title,
#heroSlides .hero-slide.is-active .hero-desc,
#heroSlides .hero-slide.is-active .hero-cta {
  opacity: 1 !important;
  transform: translateY(0);
}
html.js .category-reveal-item {
  --reveal-offset: 100%;
  opacity: 0;
  transform: translate3d(0, var(--reveal-offset), 0);
  will-change: opacity, transform;
  transition:
    opacity 0.85s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
html.js .category-reveal-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
  html.js .category-reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  #heroSlides .hero-slide {
    transition: none;
  }
  #heroSlides .hero-slide .hero-title,
  #heroSlides .hero-slide .hero-desc,
  #heroSlides .hero-slide .hero-cta,
  #heroSlides .hero-slide.is-active .hero-title,
  #heroSlides .hero-slide.is-active .hero-desc,
  #heroSlides .hero-slide.is-active .hero-cta {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
