/* Scroll entrances use transform; existing parallax keeps its independent translate. */
[data-scroll-reveal] {
  --reveal-distance: 28px;
  --reveal-delay: 0ms;
}
.scroll-ready [data-scroll-reveal] {
  opacity: 0;
  transform: translateY(var(--reveal-distance));
  transition: opacity .65s ease var(--reveal-delay), transform .75s cubic-bezier(.22,1,.36,1) var(--reveal-delay);
}
.scroll-ready [data-scroll-reveal].scroll-visible {
  opacity: 1;
  transform: none;
}
.scroll-ready [data-scroll-reveal]:focus-within {
  opacity: 1;
  transform: none;
  transition-delay: 0ms;
}
@media(max-width:639px) {
  [data-scroll-reveal] { --reveal-distance: 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .scroll-ready [data-scroll-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
