/* V23: four equipment photographs, one quiet reading surface. */
.sport-tabs button{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) 66px 22px;gap:12px;padding-right:0}
.sport-tabs button>span.tab-label{font-size:clamp(1.8rem,2.7vw,2.6rem)}
.sport-icon{width:66px;height:72px;display:grid;place-items:center;color:#253a2e}
.sport-icon svg{width:100%;height:100%;overflow:visible}
.tab-arrow{margin:0;font-size:1.6rem}
.sport-panels{position:relative;isolation:isolate;min-width:0;background:var(--forest);overflow:hidden}
.sport-slides{display:none;position:absolute;inset:0;z-index:-1;overflow:hidden}
.explorer-enhanced .sport-slides{display:block}
.sport-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.25s cubic-bezier(.25,.46,.45,.94);overflow:hidden}
.sport-slide.is-current{opacity:1}
.sport-slide img{width:100%;height:100%;object-fit:cover;object-position:72% center;transform:scale(1.025);transition:transform 8.3s linear}
.sport-slide.is-current img{transform:scale(1.105)}
.sport-slides:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,20,.88),rgba(10,28,20,.76) 39%,rgba(10,28,20,.18) 82%),linear-gradient(0deg,rgba(10,28,20,.42),transparent 55%);pointer-events:none}
.explorer-enhanced .sport-panel{background:transparent;min-height:464px;padding-bottom:57px}
.explorer-enhanced .sport-panel.is-entering{animation:none}
.explorer-enhanced .sport-panel+.sport-panel{border:0}
.sport-panel .panel-top{color:#eef3eb}
.sport-panel .panel-copy p{color:#eef3eb;max-width:34ch}
.sport-panel .panel-copy h3{max-width:17ch;text-shadow:0 2px 16px #07110c25}
.explorer-image-note{position:absolute;bottom:17px;right:25px;color:#fff;font-size:.53rem;letter-spacing:.04em;opacity:.8;pointer-events:none}
.explorer-timer{display:none;position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--yellow);transform:scaleX(var(--slide-progress,0));transform-origin:left}
.explorer-enhanced .explorer-timer{display:block}
@media(prefers-reduced-motion:no-preference){
 .explorer-playing .icon-ball{transform-origin:40px 40px;animation:equipment-ball 12s ease-in-out infinite}
 .explorer-playing .icon-belt{transform-origin:40px 40px;animation:equipment-belt 9s ease-in-out infinite}
 .explorer-playing .icon-chess{animation:equipment-chess 9s ease-in-out infinite}
 .explorer-playing .glove-left{animation:glove-tap-left 6s ease-in-out infinite}
 .explorer-playing .glove-right{animation:glove-tap-right 6s ease-in-out infinite}
 .explorer-enhanced .sport-panel.is-entering .panel-copy{animation:equipment-copy .65s var(--ease) both}
}
@keyframes equipment-ball{0%,18%,100%{transform:rotate(-5deg)}50%,65%{transform:rotate(8deg)}}
@keyframes equipment-belt{0%,25%,100%{transform:rotate(-1deg)}55%,75%{transform:rotate(1deg)}}
@keyframes equipment-chess{0%,18%,100%{transform:translateX(0)}50%,72%{transform:translateX(2px)}}
@keyframes glove-tap-left{0%,25%,80%,100%{transform:translateX(0)}43%,49%{transform:translateX(4px)}56%{transform:translateX(2px)}}
@keyframes glove-tap-right{0%,25%,80%,100%{transform:translateX(0)}43%,49%{transform:translateX(-4px)}56%{transform:translateX(-2px)}}
@keyframes equipment-copy{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1100px) and (min-width:641px){
 .sport-tabs{padding-right:22px}
 .sport-tabs button{grid-template-columns:14px minmax(0,1fr) 49px 16px;gap:8px}
 .sport-tabs button>span.tab-label{font-size:1.8rem}
 .sport-icon{width:49px;height:62px}
 .sport-tabs button[aria-selected=true]{padding-left:5px}
 .sport-panel{padding-inline:26px}
}
@media(max-width:640px){
 .sport-tabs button{grid-template-columns:10px minmax(0,1fr) 42px;min-height:85px;gap:7px;padding:12px 8px}
 .sport-tabs button>span.tab-label{font-size:1.35rem;line-height:1.02}
 .sport-tabs .tab-arrow{display:none}
 .sport-icon{width:42px;height:52px}
 .explorer-enhanced .sport-panel{min-height:438px;padding:25px 23px 55px}
 .sport-slide img{object-position:76% center}
 .sport-slides:after{background:linear-gradient(90deg,rgba(10,28,20,.89),rgba(10,28,20,.7) 49%,rgba(10,28,20,.28)),linear-gradient(0deg,rgba(10,28,20,.4),transparent 65%)}
 .sport-panel .panel-copy h3{font-size:2rem;max-width:17ch}
 .sport-panel .panel-stat{margin:29px 0 25px}
}
@media(prefers-reduced-motion:reduce){
 .sport-slide,.sport-slide img{transition:none;transform:none}
 .explorer-timer{display:none!important}
}
