/* Keep the fade on a stationary layer while the repeated sets move beneath it. */
.bundle-section{--poster-wall-background:#171313;background:var(--poster-wall-background)}
.bundle-art.poster-wall{height:520px;width:100%;max-width:none;position:relative;overflow:hidden;overflow:clip;margin:0;align-self:start;isolation:isolate}
.poster-wall::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 56%,var(--poster-wall-background))}
.poster-wall-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start;width:100%}
.poster-wall-column{min-width:0}
.poster-wall-track{
  --wall-duration:125s;
  --wall-offset:0s;
  --wall-time-scale:1;
  will-change:transform;
  /* Preserve the wall's existing motion even when the site's other animations are reduced. */
  animation:poster-wall-drift calc(var(--wall-duration) * var(--wall-time-scale)) linear calc(var(--wall-offset) * var(--wall-time-scale)) infinite!important;
}
.poster-wall-column:nth-child(2) .poster-wall-track{--wall-duration:145s;--wall-offset:-37.57s}
.poster-wall-column:nth-child(3) .poster-wall-track{--wall-duration:135s;--wall-offset:-73.76s}
@keyframes poster-wall-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}
.poster-wall-set{display:flex;flex-direction:column;gap:15px;padding-bottom:15px}
.poster-wall-card.frame{width:100%;aspect-ratio:606/846;border-radius:2px;outline:1px solid #ffffff1f;box-shadow:0 7px 18px #0005;flex-shrink:0}
.poster-wall-card img{opacity:1}
@media(max-width:1100px){.bundle-art.poster-wall{height:460px}.poster-wall-columns{gap:12px}.poster-wall-set{gap:12px;padding-bottom:12px}}
@media(max-width:600px){
  .bundle-art.poster-wall{height:420px;margin-top:26px}
  .poster-wall::after{background:linear-gradient(to bottom,var(--poster-wall-background),transparent 44%,transparent 56%,var(--poster-wall-background))}
  .poster-wall-columns{gap:10px}
  .poster-wall-set{gap:10px;padding-bottom:10px}
  .poster-wall-track{--wall-time-scale:.5}
}
@media(max-width:360px){.bundle-art.poster-wall{height:360px}.poster-wall-columns{gap:8px}.poster-wall-set{gap:8px;padding-bottom:8px}}
