/* Progressive enhancement: content stays visible until the observer is ready. */
.section-reveal {
  transition: opacity 700ms cubic-bezier(.2,.65,.3,1), translate 850ms cubic-bezier(.2,.65,.3,1);
  transition-delay: var(--section-reveal-delay, 0ms);
}
.section-reveal.is-reveal-pending { opacity:0; translate:0 20px; }
.section-reveal.reveal-immediate,
.section-reveal:focus-within { opacity:1; translate:none; transition:none; }
@media (prefers-reduced-motion:reduce), print {
  .section-reveal,
  .section-reveal.is-reveal-pending { opacity:1; translate:none; transition:none; }
}
