/* Sitewide image/card entrance reveals. Hero motion remains source-controlled. */
[data-ac-reveal] {
  --ac-reveal-distance: 34px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .75s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1), clip-path .9s cubic-bezier(.22,1,.36,1), filter .85s ease;
  transition-delay: calc(var(--ac-reveal-index, 0) * 55ms);
  will-change: opacity, transform, clip-path;
}
[data-ac-reveal="image"] {
  transform: translate3d(0, var(--ac-reveal-distance), 0) scale(.985);
  clip-path: inset(8% 0 0 0 round 0);
  filter: saturate(.88);
}
[data-ac-reveal="card-up"] { transform: translate3d(0, var(--ac-reveal-distance), 0); }
[data-ac-reveal="card-left"] { transform: translate3d(-42px, 22px, 0); }
[data-ac-reveal="card-right"] { transform: translate3d(42px, 22px, 0); }
[data-ac-reveal].is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0) scale(1);
  clip-path: inset(0 0 0 0 round 0);
  filter: saturate(1);
}
@media (max-width: 760px) {
  [data-ac-reveal="card-left"], [data-ac-reveal="card-right"] { transform: translate3d(0, 28px, 0); }
  [data-ac-reveal] { transition-duration: .65s; transition-delay: calc(var(--ac-reveal-index, 0) * 35ms); }
}
@media (prefers-reduced-motion: reduce) {
  [data-ac-reveal] { opacity: 1; visibility: visible; transform: none; clip-path: none; filter: none; transition: none; }
}
