/* B1 scroll reveal — opacity + translateY only; visible by default (no JS required). */

.motion-reveal {
  opacity: 1;
  transform: none;
}

/* Hide only after JS successfully initializes (html.motion-ready) */
@media (prefers-reduced-motion: no-preference) {
  html.motion-ready .motion-reveal:not(.motion-revealed) {
    opacity: 0;
    transform: translateY(var(--reveal-distance, 16px));
    transition:
      opacity var(--reveal-duration, 0.85s) var(--reveal-easing, cubic-bezier(0.22, 1, 0.36, 1)),
      transform var(--reveal-duration, 0.85s) var(--reveal-easing, cubic-bezier(0.22, 1, 0.36, 1));
    will-change: opacity, transform;
  }

  html.motion-ready .motion-reveal.motion-revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media print {
  .motion-reveal,
  .motion-reveal:not(.motion-revealed) {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
  }
}
