.floating-contact{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;width:72px;height:72px;box-sizing:border-box;border:1px solid #d4a900;border-radius:50%;background:#ffcc20;color:#171814;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;text-decoration:none;font:600 10px/1.15 Arial,sans-serif;box-shadow:0 6px 24px #191a1426;isolation:isolate;transition:transform .2s,box-shadow .2s}
.floating-contact::before{content:"";position:absolute;inset:-1px;border:1px solid #b48b09;border-radius:50%;z-index:-1;pointer-events:none;animation:contact-ring 4s ease-out infinite}
.floating-contact-icon{width:28px;height:28px;flex-shrink:0;animation:contact-wave 4s ease-in-out infinite;transform-origin:50% 80%}
.floating-contact:hover{transform:translateY(-3px);box-shadow:0 9px 28px #191a1438;color:#171814;background:#ffd747}
.floating-contact:focus-visible{outline:3px solid #171814;outline-offset:5px}
@keyframes contact-ring{0%,40%{transform:scale(1);opacity:0}50%{opacity:.4}85%,100%{transform:scale(1.2);opacity:0}}
@keyframes contact-wave{0%,55%,85%,100%{transform:rotate(0)}62%{transform:rotate(-8deg)}70%{transform:rotate(8deg)}78%{transform:rotate(-4deg)}}
@media(max-width:680px){.floating-contact{width:64px;height:64px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));font-size:9px;gap:3px}.floating-contact-icon{width:25px;height:25px}body:has(.floating-contact) footer{padding-bottom:112px}}
@media(prefers-reduced-motion:reduce){.floating-contact,.floating-contact-icon,.floating-contact::before{animation:none;transition:none}}
