/* ============ Floating Action Button — back to top ============ */
.fab{position:fixed;bottom:1.6rem;right:1.6rem;width:60px;height:60px;border-radius:50%;background:#1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:950;border:none;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.22),0 4px 12px rgba(0,0,0,.14);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .25s;outline:none;padding:0}
.fab::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(61,36,24,.4);opacity:0;transition:opacity .3s}
.fab:hover{transform:translateY(-3px);background:#000000;box-shadow:0 18px 36px rgba(0,0,0,.3),0 8px 18px rgba(0,0,0,.18);animation:fabPulse 1.8s ease-in-out infinite}
.fab:hover::after{opacity:1;animation:fabRing 1.8s ease-in-out infinite}
.fab:focus-visible{outline:2px solid rgba(61,36,24,.8);outline-offset:4px}
.fab:active{transform:translateY(-1px) scale(.96)}
.fab svg{width:22px;height:22px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
@keyframes fabPulse{0%,100%{transform:translateY(-3px) scale(1)}50%{transform:translateY(-3px) scale(1.06)}}
@keyframes fabRing{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@media(max-width:480px){.fab{bottom:1.1rem;right:1.1rem;width:54px;height:54px}.fab svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.fab,.fab:hover{animation:none;transition:none}}
