/* Rotating sports portraits; existing hero shade and content stay above these. */
.opi-fear-hero-sports.opi-motion-ready { overflow:hidden; }
.opi-sport-frame { position:relative; min-width:0; min-height:0; overflow:hidden; }
.opi-fear-hero-sports .opi-sport-frame img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.8s ease;
  animation:opi-sport-drift 18s ease-in-out infinite alternate;
  will-change:transform,opacity;
}
.opi-fear-hero-sports .opi-sport-frame img.is-visible { opacity:1; }
.opi-sport-frame:nth-child(even) img { animation-direction:alternate-reverse; }
.opi-motion-paused .opi-sport-frame img { animation-play-state:paused; }
@keyframes opi-sport-drift {
  from { transform:scale(1.04) translate(-.7%,0); }
  to { transform:scale(1.13) translate(.7%,-1%); }
}
#v66-hero .opi-photo-toggle {
  position:absolute; z-index:3; left:max(5vw,20px); bottom:20px;
  min-height:40px; padding:8px 14px; border:1px solid rgba(255,255,255,.5);
  border-radius:999px; background:rgba(0,0,0,.65); color:#fff;
  font:600 12px/1.3 system-ui,sans-serif; cursor:pointer;
}
#v66-hero .opi-photo-toggle:hover { background:rgba(0,0,0,.9); }
#v66-hero .opi-photo-toggle:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:760px) { #v66-hero .opi-photo-toggle { left:20px; bottom:16px; } }
@media(prefers-reduced-motion:reduce) {
  .opi-fear-hero-sports .opi-sport-frame img { animation:none; transition:none; }
}
