.floating-contact{position:fixed;right:clamp(18px,2.2vw,38px);bottom:clamp(18px,2.4vw,38px);z-index:90;display:flex;flex-direction:column;align-items:center;gap:12px}.floating-contact-toggle,.contact-orb{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;position:relative}.floating-contact-toggle{border:1px solid rgba(196,216,231,.48);background:linear-gradient(145deg,rgba(12,35,55,.96),rgba(4,16,29,.98));box-shadow:0 16px 45px rgba(0,7,16,.44),inset 0 0 0 1px rgba(255,255,255,.035);cursor:pointer;transition:transform .35s cubic-bezier(.16,.8,.22,1),border-color .35s,box-shadow .35s}.floating-contact-toggle:before{content:"";position:absolute;inset:-6px;border:1px solid rgba(124,164,195,.18);border-radius:50%;transition:transform .45s,opacity .45s}.floating-contact-toggle:hover{transform:translateY(-3px);border-color:rgba(223,236,244,.82);box-shadow:0 20px 55px rgba(0,7,16,.55),0 0 24px rgba(82,143,190,.14)}.floating-contact-toggle span{width:18px;height:1px;background:#edf5f8;position:relative;transition:transform .4s}.floating-contact-toggle span:before,.floating-contact-toggle span:after{content:"";position:absolute;left:0;width:18px;height:1px;background:#edf5f8;transition:transform .4s,top .4s}.floating-contact-toggle span:before{top:-5px}.floating-contact-toggle span:after{top:5px}.floating-contact-toggle i,.floating-contact-toggle b{position:absolute;border:1px solid transparent;border-top-color:rgba(126,162,189,.46);border-radius:50%;animation:contactOrbit 7s linear infinite}.floating-contact-toggle i{inset:7px}.floating-contact-toggle b{inset:3px;animation-direction:reverse;animation-duration:11s}.floating-contact.is-open .floating-contact-toggle span{transform:rotate(45deg)}.floating-contact.is-open .floating-contact-toggle span:before{top:0;transform:rotate(90deg)}.floating-contact.is-open .floating-contact-toggle span:after{top:0;transform:rotate(90deg)}.floating-contact.is-open .floating-contact-toggle:before{transform:scale(1.12);opacity:.45}.floating-contact-menu{display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}.contact-orb{border:1px solid rgba(195,216,231,.33);background:rgba(5,22,38,.94);backdrop-filter:blur(16px);box-shadow:0 12px 36px rgba(0,7,15,.34);color:#f2f7f9;text-decoration:none;opacity:0;transform:translateY(18px) scale(.72);transition:opacity .34s,transform .5s cubic-bezier(.16,.8,.22,1),background .3s,border-color .3s}.contact-orb:nth-child(2){transition-delay:.045s}.contact-orb:nth-child(1){transition-delay:.09s}.floating-contact.is-open .contact-orb{opacity:1;transform:none;pointer-events:auto}.contact-orb svg{width:20px;height:20px;fill:currentColor}.contact-orb span{position:absolute;right:calc(100% + 12px);white-space:nowrap;padding:8px 11px;border:1px solid rgba(189,213,228,.22);border-radius:3px;background:rgba(4,17,30,.94);color:#eaf2f5;font:600 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateX(5px);pointer-events:none;transition:.25s}.contact-orb:hover{background:#12334d;border-color:rgba(222,237,245,.7);transform:translateY(-2px)!important}.contact-orb:hover span,.contact-orb:focus-visible span{opacity:1;transform:none}.contact-orb-whatsapp:hover{background:#176d50}.floating-contact-toggle:focus-visible,.contact-orb:focus-visible{outline:2px solid #9eb7ff;outline-offset:4px}@keyframes contactOrbit{to{transform:rotate(360deg)}}@media(max-width:700px){.floating-contact{right:18px;bottom:18px}.floating-contact-toggle,.contact-orb{width:50px;height:50px}.contact-orb span{display:none}}@media(prefers-reduced-motion:reduce){.floating-contact-toggle i,.floating-contact-toggle b{animation:none}.contact-orb,.floating-contact-toggle{transition-duration:.01ms}}

/* Direct contact actions remain visible without a disclosure button. */
.floating-contact-toggle{display:none!important}
.floating-contact-menu{pointer-events:auto}
.floating-contact .contact-orb{opacity:1;transform:none;pointer-events:auto;width:54px;height:54px;border:1px solid #ffffff35;backdrop-filter:none;color:white;transition:transform .25s,box-shadow .25s}
.floating-contact .contact-orb-whatsapp{background:#20ce65;box-shadow:0 6px 22px #1dce6433}
.floating-contact .contact-orb[href^="tel:"]{background:#2463ed;box-shadow:0 6px 22px #2463ed33}
.floating-contact .contact-orb[href^="mailto:"]{background:#fff;color:#2463ed;box-shadow:0 6px 22px #0004}
.floating-contact .contact-orb svg{width:24px;height:24px}
@media(max-width:700px){.floating-contact{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}.floating-contact-menu{gap:8px}.floating-contact .contact-orb{width:44px;height:44px}.floating-contact .contact-orb svg{width:21px;height:21px}}
