/* beFit athlete stage: live ring behind cutout */
.stg{--h:600px;position:relative;height:var(--h);width:calc(var(--h)*.82);margin:0 auto;pointer-events:none;isolation:isolate}
.stg .sr{position:absolute;left:50%;top:calc(var(--h)*-.02);width:calc(var(--h)*.74);height:calc(var(--h)*.74);transform:translateX(-50%);z-index:0;overflow:visible;animation:srb .5s ease-in-out infinite alternate,srf 7s steps(1) infinite}
.stg .sr .dots{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2.2;stroke-dasharray:.12 1.3;stroke-linecap:round;transform-origin:200px 200px;animation:srs 80s linear infinite reverse}
.stg .sr .trk{fill:none;stroke:rgba(255,255,255,.1);stroke-width:14}
.stg .sr .spin{transform-origin:200px 200px;animation:srs 48s linear 2s infinite}
.stg .sr .arc{fill:none;stroke:url(#srg);stroke-width:14;stroke-linecap:round;stroke-dasharray:75 100;stroke-dashoffset:75;animation:srd 1.8s cubic-bezier(.6,0,.2,1) .2s forwards}
.stg .sr .gd{fill:#ffd166;opacity:0;animation:srp .4s ease-out 1.9s forwards}
.stg .sr .halo{fill:none;stroke:url(#srg);stroke-width:34;opacity:.22;filter:blur(14px);stroke-dasharray:75 100;stroke-dashoffset:75;animation:srd 1.8s cubic-bezier(.6,0,.2,1) .2s forwards}
.stg .ath{position:absolute;left:50%;bottom:calc(var(--h)*.03);height:calc(var(--h)*.95);width:auto;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 0 calc(var(--h)*.03) rgba(123,92,255,.35));animation:ain 1.2s cubic-bezier(.2,.7,.2,1) both}
.stg .refl{position:absolute;left:50%;top:calc(var(--h)*1.92);height:calc(var(--h)*.95);transform:translateX(-50%) scaleY(-1);transform-origin:top;z-index:1;opacity:.16;-webkit-mask:linear-gradient(to top,#000,transparent 14%);mask:linear-gradient(to top,#000,transparent 14%);filter:blur(1.5px)}
.stg .flr{position:absolute;left:50%;bottom:calc(var(--h)*.005);width:calc(var(--h)*.78);height:calc(var(--h)*.08);transform:translateX(-50%);z-index:1;border-radius:50%;background:radial-gradient(closest-side,rgba(0,224,255,.45),rgba(123,92,255,.28) 45%,rgba(255,61,127,.12) 70%,transparent);filter:blur(4px);animation:flp .5s ease-in-out infinite alternate}
@keyframes srd{to{stroke-dashoffset:0}}
@keyframes srp{to{opacity:1}}
@keyframes srs{to{transform:rotate(360deg)}}
@keyframes srg2{0%,100%{stroke-dasharray:75 100}50%{stroke-dasharray:82 100}}
@keyframes srb{from{filter:drop-shadow(0 0 6px rgba(0,224,255,.25))}to{filter:drop-shadow(0 0 18px rgba(0,224,255,.55))}}
@keyframes srf{0%,100%{opacity:1}61%{opacity:.82}62%{opacity:1}64%{opacity:.88}65%{opacity:1}}
@keyframes flp{from{opacity:.65}to{opacity:1}}
@keyframes ain{from{opacity:0;transform:translateX(-50%) translateY(14px)}}
@media(prefers-reduced-motion:reduce){.stg *,.stg .sr{animation:none!important}.stg .sr .arc,.stg .sr .halo{stroke-dashoffset:0}.stg .sr .gd{opacity:1}}
