/* Elements stay visible until their one-time entrance begins. */
.home-motion-entering {
  animation: home-section-reveal 820ms cubic-bezier(.2, .7, .2, 1) both;
  animation-delay: var(--home-motion-delay, 0ms);
}
.catalog-card.home-motion-entering {
  --home-motion-distance: 36px;
  animation-duration: 940ms;
}
.library-note.home-motion-entering,
.site-footer .home-motion-entering {
  --home-motion-distance: 22px;
  animation-duration: 760ms;
}
@keyframes home-section-reveal {
  from { opacity: 0; transform: translate3d(0, var(--home-motion-distance, 26px), 0); }
  to { opacity: 1; transform: none; }
}
/* A keyboard destination is visible immediately, including during its delay. */
.home-motion-entering:focus,
.home-motion-entering:focus-within {
  animation: none !important;
}
@media (max-width: 700px) {
  .catalog-card.home-motion-entering { --home-motion-distance: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-motion-entering { animation: none !important; }
}
