/* 滚动显隐（渐进增强）：默认内容可见；仅在 JS 可用时启用 reveal 动效 */
.scroll-reveal {
  opacity: 1;
  transform: none;
}

html.js .scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 8px, 0) scale(0.996);
  animation: none;
  will-change: transform, opacity;
}

html.js .scroll-reveal.revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  animation: revealIn var(--reveal-duration, var(--transition-reveal, 0.46s))
    var(--reveal-ease, var(--ease-enter, var(--ease-out-cubic))) both;
  animation-delay: var(--reveal-delay, 0s);
  will-change: auto;
}

@media (max-width: 768px) {
  html.js .scroll-reveal {
    transform: translate3d(0, 6px, 0) scale(0.997);
  }
}

.motion-reduce *,
.motion-reduce *::before,
.motion-reduce *::after {
  animation: none !important;
  transition: none !important;
}
