@media (prefers-reduced-motion: no-preference) {
  .page-transition-curtain {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: linear-gradient(110deg, #f1f5f9, #dfe8f0);
    pointer-events: none;
    animation: v1-curtain-reveal .7s cubic-bezier(.76, 0, .24, 1) .06s both;
  }
  body.page-exit .page-transition-curtain {
    animation: v1-curtain-close .32s cubic-bezier(.76, 0, .24, 1) both;
  }
  @keyframes v1-curtain-close { from { transform: translateX(-102%); } to { transform: translateX(0); } }
  @keyframes v1-curtain-reveal { from { transform: translateX(0); } to { transform: translateX(102%); } }

  /* The Showroom returns with the same curtain rhythm as the other pages. */
  .v1-showroom .hero-copy-inner.reveal {
    opacity: 1;
    transform: none;
  }
  .v1-showroom.v1-home-enter .hero-rail,
  .v1-showroom.v1-home-enter .bag-visual,
  .v1-showroom.v1-home-enter .hero-copy-inner > .eyebrow,
  .v1-showroom.v1-home-enter .hero-copy-inner > h1,
  .v1-showroom.v1-home-enter .hero-copy-inner > .hero-intro,
  .v1-showroom.v1-home-enter .hero-copy-inner > .explore-link,
  .v1-showroom.v1-home-enter .hero-scroll {
    animation: v1-home-enter .85s cubic-bezier(.16, 1, .3, 1) both;
  }
  .v1-showroom.v1-home-enter .bag-visual { animation-delay: .18s; animation-duration: 1.05s; }
  .v1-showroom.v1-home-enter .hero-rail { animation-delay: .28s; }
  .v1-showroom.v1-home-enter .hero-copy-inner > .eyebrow { animation-delay: .36s; }
  .v1-showroom.v1-home-enter .hero-copy-inner > h1 { animation-delay: .49s; }
  .v1-showroom.v1-home-enter .hero-copy-inner > .hero-intro { animation-delay: .64s; }
  .v1-showroom.v1-home-enter .hero-copy-inner > .explore-link { animation-delay: .76s; }
  .v1-showroom.v1-home-enter .hero-scroll { animation-delay: .9s; }
  @keyframes v1-home-enter {
    from { opacity: 0; transform: translateY(36px); filter: blur(5px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
  }
  .category-grid .category-card.reveal,
  .popular-grid .popular-card.reveal {
    opacity: 0;
    transform: translateY(-84px) scale(.94);
    filter: blur(6px);
    transition: opacity .55s ease, transform .84s cubic-bezier(.18, 1.12, .3, 1), filter .65s ease;
    transition-delay: 0s;
  }
  .category-grid .category-card.reveal.visible,
  .popular-grid .popular-card.reveal.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
    transition-delay: var(--cascade-delay, 0ms);
  }
  .popular-grid .popular-card.reveal.visible:hover { transform: translateY(-5px); }
}
