/* Two identical groups make the ticker wrap with no gap or visible restart. */
.r-ticker{overflow:hidden;white-space:nowrap}
.r-ticker>.r-ticker-track{display:flex;width:max-content;animation:pressto-ticker-loop 28s linear infinite}
.r-ticker .r-ticker-group{display:block;flex:0 0 auto;width:max-content;min-width:100vw;padding-inline:0 0.6em;text-align:left;animation:none}
@keyframes pressto-ticker-loop{to{transform:translateX(-50%)}}

/* Overscan covers the image edges during the perspective tilt. */
.r-hero .hero-photo{transform-origin:50% 45%;transform:perspective(1200px) translate3d(var(--depth-x,0px),var(--depth-y,0px),0) rotateX(var(--depth-rx,0deg)) rotateY(var(--depth-ry,0deg)) scale(1.065)}
@media(hover:hover) and (pointer:fine){.r-hero .hero-photo{will-change:transform}}
.hero-depth-scene{display:none;position:absolute;inset:0;pointer-events:none;transform-origin:50% 45%;transform:perspective(1200px) rotateX(var(--depth-rx,0deg)) rotateY(var(--depth-ry,0deg)) scale(1.08)}
.hero-depth-canvas{position:absolute;left:var(--scene-left,0px);top:var(--scene-top,0px);width:var(--scene-width,100%);height:var(--scene-height,100%)}
.hero-depth-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.hero-depth-bg{transform:translate3d(var(--background-x,0px),var(--background-y,0px),0)}
.hero-depth-fg{transform:translate3d(var(--foreground-x,0px),var(--foreground-y,0px),0);filter:drop-shadow(0 5px 7px #00000018)}
.hero-depth-shirts .hero-depth-fg{transform-origin:100% 100%;transform:translate3d(var(--foreground-x,0px),var(--foreground-y,0px),0) scale(.69,.78)}
.hero-depth-details .hero-depth-fg{transform-origin:100% 100%;transform:translate3d(calc(var(--foreground-x,0px) - 11.6%),calc(var(--foreground-y,0px) - 5.5%),0) scale(.59,.61)}
.hero-depth-home .hero-depth-fg{transform-origin:100% 100%;transform:translate3d(calc(var(--foreground-x,0px) - 2.2%),calc(var(--foreground-y,0px) - 2.3%),0) scale(.9)}
@media(min-width:640px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .has-depth-layers .hero-photo{visibility:hidden}
  .has-depth-layers .hero-depth-scene{display:block}
  .hero-depth-scene,.hero-depth-scene img{will-change:transform}
}
@media(prefers-reduced-motion:reduce){
  .r-ticker>.r-ticker-track{animation:none;transform:none}
  .r-hero .hero-photo{transform:none;will-change:auto}
}
