/* ===== 滚动揭示动画 ===== */
html.supports-reveal .reveal-section {
  opacity: 0;
  translate: 0 62px;
  transition:
    opacity 0.96s cubic-bezier(0.2, 0.75, 0.18, 1),
    translate 0.96s cubic-bezier(0.2, 0.75, 0.18, 1);
  will-change: opacity, translate;
}

/* Footer 不使用向下 translate，避免底部出现空白 */
html.supports-reveal .footer.reveal-section {
  translate: 0 0;
}

html.supports-reveal .reveal-section.is-visible {
  opacity: 1;
  translate: 0 0;
}

html.supports-reveal .reveal-item {
  opacity: 0;
  translate: 0 30px;
  scale: 0.985;
  filter: blur(8px);
  transition:
    opacity 0.82s cubic-bezier(0.2, 0.75, 0.18, 1),
    translate 0.82s cubic-bezier(0.2, 0.75, 0.18, 1),
    scale 0.82s cubic-bezier(0.2, 0.75, 0.18, 1),
    filter 0.82s cubic-bezier(0.2, 0.75, 0.18, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, translate, scale, filter;
}

/* 文字内容从左侧滑入 */
html.supports-reveal .solution-copy.reveal-item,
html.supports-reveal .footer-nav-column.reveal-item {
  translate: -26px 18px;
}

/* 视觉元素从右侧滑入 */
html.supports-reveal .solution-visual.reveal-item,
html.supports-reveal .footer-contact-lg > .reveal-item {
  translate: 30px 18px;
}

/* Footer 内部元素不使用向下 translate，避免底部出现空白 */
html.supports-reveal .footer .reveal-item {
  translate: 0 0;
}
html.supports-reveal .footer .footer-nav-column.reveal-item {
  translate: -26px 0;
}
html.supports-reveal .footer .footer-contact-lg > .reveal-item {
  translate: 30px 0;
}

html.supports-reveal .reveal-section.is-visible .reveal-item {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  html.supports-reveal .reveal-section,
  html.supports-reveal .reveal-item {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    filter: none;
    transition: none;
  }
}