/* Three isolated equipment cutouts, each with its own scroll depth and idle float. */
.gear-scene{position:relative;width:100%;pointer-events:none;user-select:none;isolation:isolate;--gear-scroll-y:0px;--gear-scroll-x:0px;--gear-turn:0deg;--gear-pointer-x:0px;--gear-pointer-y:0px}
.gear-reveal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:1;transform:none;transition:opacity .65s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
.gear-motion-ready .gear-scene:not(.gear-active) .gear-reveal{opacity:0;transform:translateY(38px) scale(.92)}
.gear-parallax{width:230px;max-width:85%;transform:translate3d(calc(var(--gear-scroll-x) + var(--gear-pointer-x)),calc(var(--gear-scroll-y) + var(--gear-pointer-y)),0) rotate(var(--gear-turn));will-change:transform}
.gear-object{display:block;width:100%;height:auto;max-width:none;filter:drop-shadow(0 24px 18px #0005);animation:gear-hover 3.8s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 55%;will-change:transform}
.gear-active .gear-object{animation-play-state:running}
.gear--kettlebell{height:270px;margin:-20px 0 16px}
.gear--kettlebell .gear-reveal{justify-content:flex-end;padding-right:clamp(25px,5vw,75px)}
.gear--kettlebell .gear-object{animation-delay:-.7s}
.gear--barbell{height:280px;margin:-40px 0 40px}
.gear--barbell .gear-parallax{width:min(88%,900px);max-width:none}
.gear--barbell .gear-object{animation-name:gear-bar-hover;animation-duration:4.5s;animation-delay:-1.4s;filter:drop-shadow(0 20px 12px #0007)}
.gear--dumbbell{height:260px;margin-top:32px}
.gear--dumbbell .gear-parallax{width:250px}
.gear--dumbbell .gear-object{animation-duration:4.2s;animation-delay:-1.8s}
@keyframes gear-hover{0%,100%{transform:translate3d(-5px,13px,0) rotate(-7deg)}50%{transform:translate3d(7px,-15px,0) rotate(5deg)}}
@keyframes gear-bar-hover{0%,100%{transform:translate3d(-7px,10px,0) rotate(-2deg)}50%{transform:translate3d(7px,-12px,0) rotate(3deg)}}
@media(max-width:760px){
 .gear--kettlebell{height:190px;margin:-5px 0 12px}
 .gear--kettlebell .gear-reveal{padding-right:28px}
 .gear--kettlebell .gear-parallax{width:155px}
 .gear--barbell{height:166px;margin:-30px 0 28px}
 .gear--barbell .gear-parallax{width:94%}
 .gear--dumbbell{height:210px;margin-top:20px;margin-bottom:12px}
 .gear--dumbbell .gear-parallax{width:190px}
 .gear-object{filter:drop-shadow(0 17px 12px #0006)}
}
@media(prefers-reduced-motion:reduce){
 .gear-reveal,.gear-motion-ready .gear-scene:not(.gear-active) .gear-reveal{opacity:1;transform:none;transition:none}
 .gear-parallax{transform:none;will-change:auto}
 .gear-object{animation:none;transform:none;will-change:auto}
}
@media print{.gear-scene{display:none}}
