/* Arrivals follow the reading order, with a long deceleration and no bounce. */
.nf-reveal{opacity:0;transform:translate3d(0,48px,0);transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--nf-delay,0ms),transform 1.1s cubic-bezier(.22,1,.36,1) var(--nf-delay,0ms)}
.nf-reveal.is-visible,.nf-reveal:focus-within{opacity:1;transform:none}
.nf-opening{animation:nf-opening 1.2s cubic-bezier(.22,1,.36,1) both}
@keyframes nf-opening{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.nf-reveal{transform:translate3d(0,36px,0);transition-duration:.85s,1s}.nf-reveal.is-visible,.nf-reveal:focus-within{transform:none}}
/* Horizontal shelves must remain stable as the user swipes. Translated cards
   enlarge the vertical scroll area until their individual reveals finish. */
@media(max-width:760px){.home-products>.catalog-card.nf-reveal,.catalog-grid>.catalog-card.nf-reveal{opacity:1;transform:none;transition:none}}
@media(prefers-reduced-motion:reduce){.nf-reveal{opacity:1;transform:none;transition:none}.nf-opening{animation:none}}
