/* ============================================================
   PJ KAPTEIN WOONSUPPORT - scroll progress / back-to-top
   ============================================================ */
.totop{position:fixed;left:32px;bottom:32px;z-index:9970;width:72px;height:72px;padding:0;border:0;background:none;cursor:pointer;opacity:0;transform:scale(.9);pointer-events:none;transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1)}
.totop.show{opacity:1;transform:scale(1);pointer-events:auto}
.totop.show:hover{transform:translateY(-4px)}
.totop-glass{position:absolute;inset:0;border-radius:50%;background:rgba(12,12,12,.75);backdrop-filter:blur(12px) saturate(1.1);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 36px -14px rgba(0,0,0,.85)}
.totop .ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop .ring-bg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:3}
.totop .ring-fg{fill:none;stroke:var(--volt,#39FF14);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(57,255,20,.55));transition:stroke-dashoffset .18s linear,filter .4s}
.totop.show:hover .ring-fg{filter:drop-shadow(0 0 9px rgba(57,255,20,.95))}
.totop .arrow{position:absolute;inset:0;display:grid;place-items:center;color:#fff;z-index:2}
.totop .arrow svg{width:22px;height:22px;transition:transform .35s cubic-bezier(.22,.61,.36,1),color .4s,filter .4s;filter:drop-shadow(0 0 3px rgba(255,255,255,.35))}
.totop.show:hover .arrow svg{transform:translateY(-3px)}
.totop.full .arrow svg{color:var(--volt,#39FF14);filter:drop-shadow(0 0 7px rgba(57,255,20,.85))}
.totop::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--volt,#39FF14);opacity:0;pointer-events:none}
.totop.pulse::after{animation:totopPulse 1.25s ease-out}
@keyframes totopPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
@media(max-width:600px){.totop{left:18px;bottom:18px;width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.totop,.totop *{transition:none!important;animation:none!important}}
