/* Gapify motion layer (optional). Everything is visible without it; the script only adds html.mo when it can animate. */
html.mo .mo-r{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
html.mo .mo-r.in{opacity:1;transform:none}
#mo-prog{position:fixed;left:0;top:0;height:4px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#5BEB15,#FF2257);z-index:9999;pointer-events:none}
.bar{transition:background .25s,box-shadow .25s,padding .25s}
.bar.mo-scrolled{background:rgba(0,0,0,.82)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.mo-spot{position:relative;overflow:hidden}
.mo-spot::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 70%);mix-blend-mode:soft-light}
.mo-spot:hover::after{opacity:1}
.mo-par{transition:transform .25s ease-out;will-change:transform}
.btn{transition:transform .18s,box-shadow .18s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(91,235,21,.28)}
@media(prefers-reduced-motion:reduce){html.mo .mo-r{opacity:1;transform:none;transition:none}.mo-par{transform:none!important}#mo-prog{display:none}}
