/* The track owns swipe motion; the existing image keeps its own hover effects. */
#home .proof-poster>.mobile-swipe-viewport,.mobile-swipe-track{display:contents;border:0;padding:0}
.mobile-swipe-neighbor{display:none!important}
@media(max-width:720px){
 .detail-board{touch-action:auto}
 .mobile-gesture-surface{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}
 .mobile-gesture-surface img{-webkit-user-drag:none}
 #home .proof-poster>.mobile-swipe-viewport,.detail-art .mobile-swipe-viewport{display:block;position:relative;overflow:hidden;aspect-ratio:1;width:100%;border-radius:inherit}
 .mobile-swipe-track{display:block;position:relative;width:100%;height:100%;will-change:transform}
 #home .mobile-swipe-track>img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain;pointer-events:none;filter:none}
 #home .mobile-swipe-track>.mobile-swipe-neighbor:not([hidden]){display:block!important;position:absolute;inset:0;transform:translateX(calc(var(--slide-side) * 100%))}
 .proof-options button.swipe-preview{background:color-mix(in srgb,#83cab5 calc(var(--swipe-preview) * 25%),transparent);box-shadow:inset 0 -2px #58a996}
 .detail-mobile-progress span.swipe-preview{width:calc(5px + var(--swipe-preview) * 13px);background:#64b39e;transition:none}
 .is-dragging{cursor:grabbing}
 .look-pair,.finale-visual{touch-action:auto}
}
@media(max-width:720px) and (prefers-reduced-motion:no-preference){
 /* Small, bounded offsets leave the reading column and page scroll untouched. */
 .home-community .look-one,.home-community .look-one:hover{
  transform:translateY(calc(-15px + var(--travel,0) * 14px)) rotate(-8deg);
  translate:calc(var(--scatter-x,0) * 10px - var(--scatter-amount,0) * 14px) calc(var(--scatter-amount,0) * -12px);
  rotate:calc(var(--scatter-amount,0) * -4deg);
 }
 .home-community .look-two,.home-community .look-two:hover{
  transform:translateY(calc(22px - var(--travel,0) * 14px)) rotate(7deg);
  translate:calc(var(--scatter-x,0) * 10px + var(--scatter-amount,0) * 14px) calc(var(--scatter-amount,0) * 12px);
  rotate:calc(var(--scatter-amount,0) * 4deg);
 }
 .home-community .community-sticker{translate:calc(var(--scatter-x,0) * 32px) calc(var(--scatter-amount,0) * -20px);rotate:calc(var(--scatter-x,0) * 5deg)}
 .home-community .community-orbit{translate:calc(var(--scatter-x,0) * -15px) 0}
 .home-community .community-star{translate:calc(var(--scatter-x,0) * -20px) calc(var(--scatter-amount,0) * -8px)}
 .finale-panel .finale-visual img{translate:calc(var(--scatter-x,0) * 24px) calc(var(--scatter-amount,0) * -8px);rotate:calc(var(--scatter-x,0) * 2deg)}
 .finale-panel .finale-sticker{translate:calc(var(--scatter-x,0) * 38px) calc(var(--scatter-amount,0) * -22px);rotate:calc(var(--scatter-x,0) * 7deg)}
 .finale-panel .finale-orbit{translate:calc(var(--scatter-x,0) * -18px) 0}
 .finale-panel .finale-campaign{translate:calc(var(--scatter-x,0) * -10px) 0}
 /* Scroll supplies the motion; avoid adding a second independent drift. */
 .home-community :is(.community-sticker,.community-star),.finale-panel :is(.finale-sticker,.finale-orbit){animation:none!important}
}
