/* jdtheme26 - soft fade-in while scrolling, site wide (operator 2026-09-30: 「全站網頁往下捲軸時有高級質感的淡入動態效果」).
   assets/js/jd-reveal.js marks only the blocks that are BELOW the first screen when the page opens (the first screen is never hidden,
   nothing flashes) and lets them rise 28px and fade in when they come into view; cards of one row follow each other.
   `translate` is used, not `transform`, so the element's own transforms stay; the classes are removed after the movement, so the element's
   own transitions (e.g. a card's hover) come back. Without JavaScript nothing is hidden. Reduced motion: no movement at all. */
.jd-reveal {
  opacity: 0;
  translate: 0 28px;
  transition: opacity .9s cubic-bezier(.22, .61, .36, 1), translate .9s cubic-bezier(.22, .61, .36, 1);
  transition-delay: var(--jd-reveal-delay, 0ms);
  will-change: opacity, translate;
}
.jd-reveal.jd-reveal--in {
  opacity: 1;
  translate: 0 0;
}
@media (prefers-reduced-motion: reduce) {
  .jd-reveal { opacity: 1; translate: none; transition: none; }
}
