/* KYABEL SITE 52 CHAMPAGNE ARC / motion.css — reveal / parallax
   IntersectionObserver で is-in を付与。stagger は --rd。reduce で全停止。 */
[data-reveal] {
  opacity: 0;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), clip-path var(--dur) var(--ease);
  transition-delay: var(--rd, 0ms);
  will-change: opacity, transform;
}
[data-reveal="fade-up"] { transform: translateY(22px); }
[data-reveal="fade-left"] { transform: translateX(-26px); }
[data-reveal="fade-right"] { transform: translateX(26px); }
[data-reveal="scale-soft"] { transform: scale(0.96); }
[data-reveal="mask"] { transform: scale(1.05); opacity: 0; }
[data-reveal="fade-in"] { transform: none; }

[data-reveal].is-in { opacity: 1; transform: none; }

/* パララックス対象は transform を JS が直接更新するため transition を持たせない */
[data-parallax] { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal].is-in { opacity: 1 !important; transform: none !important; transition: none !important; }
  [data-parallax] { transform: none !important; }
  .castcard .ph img, .galcell .ph img, .btn, .fab__circle { transition: none !important; }
  * { scroll-behavior: auto !important; }
}
