.wa-contact{--wa-edge:22px;--wa-x:0px;position:fixed;left:max(var(--wa-edge),env(safe-area-inset-left));bottom:calc(var(--wa-edge) + env(safe-area-inset-bottom));margin-right:max(var(--wa-edge),env(safe-area-inset-right));z-index:34;display:block;width:60px;height:60px;transform:translate3d(var(--wa-x),0,0);opacity:0;visibility:hidden;font-family:var(--sans,Arial,sans-serif);isolation:isolate;transition:transform .32s cubic-bezier(.22,.7,.2,1),opacity .2s ease;user-select:none;-webkit-user-select:none}
.wa-contact:not(.wa-contact-ready){transition:none}
.wa-contact-ready{opacity:1;visibility:visible}
.wa-contact-link{position:relative;display:grid;place-items:center;width:60px;height:60px;flex:none;border:1px solid #d4d4d4;border-radius:50%;color:#171717!important;background:#f4f4f4;box-shadow:0 6px 24px #0003;text-decoration:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent;transition:background .18s ease,box-shadow .18s ease;cursor:pointer}
.wa-contact-link>svg{display:block;width:34px;height:34px;pointer-events:none}
.wa-contact-link:hover{background:#fff;box-shadow:0 8px 30px #0005}
.wa-contact :is(a,button):focus-visible{outline:2px solid #f4f4f4;outline-offset:4px;box-shadow:0 0 0 6px #171717}
.wa-contact-label{position:absolute;bottom:calc(100% + 12px);right:0;display:block;padding:10px 13px;border:1px solid #666;border-radius:7px;color:#eee;background:#171717f5;font-size:11px;font-weight:400;line-height:1.35;letter-spacing:.015em;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s}
.wa-contact[data-side="left"] .wa-contact-label{left:0;right:auto}
.wa-contact:focus-within .wa-contact-label{opacity:1;transform:none}
.wa-contact-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wa-contact-dragging{transition:none!important}
.wa-contact-dragging .wa-contact-link{cursor:grabbing;box-shadow:0 10px 32px #0005}
.wa-contact-dragging .wa-contact-label{opacity:0}
body.pp-intro-open .wa-contact,body.pp-menu-open .wa-contact,body:has(dialog[open]) .wa-contact{opacity:0;visibility:hidden;pointer-events:none}
@media(hover:hover){.wa-contact:hover .wa-contact-label{opacity:1;transform:none}}
@media(max-width:760px){.wa-contact{--wa-edge:16px;width:56px;height:56px}.wa-contact-link{width:56px;height:56px}.wa-contact-link>svg{width:32px;height:32px}.wa-contact-label{font-size:10px}}


/* Visible floating contact motion, independent of drag positioning. */
.wa-contact-ready .wa-contact-link{animation:wa-float 3.2s ease-in-out infinite;isolation:isolate;will-change:transform}
.wa-contact-link::before,.wa-contact-link::after{content:"";position:absolute;inset:-2px;border:1px solid #eee;border-radius:50%;pointer-events:none;opacity:0;animation:wa-halo 2.8s ease-out infinite;z-index:-1}
.wa-contact-link::after{animation-delay:1.4s}
.wa-contact-ready .wa-contact-link>svg{animation:wa-greeting 5s ease-in-out infinite;transform-origin:50% 60%}
.wa-contact:is(.wa-contact-dragging,.wa-motion-paused) .wa-contact-link,.wa-contact:is(.wa-contact-dragging,.wa-motion-paused) .wa-contact-link::before,.wa-contact:is(.wa-contact-dragging,.wa-motion-paused) .wa-contact-link::after,.wa-contact:is(.wa-contact-dragging,.wa-motion-paused) .wa-contact-link>svg{animation-play-state:paused}
.wa-contact-dragging .wa-contact-link{transform:none!important}
@keyframes wa-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes wa-halo{0%{opacity:.5;transform:scale(1)}75%,100%{opacity:0;transform:scale(1.65)}}
@keyframes wa-greeting{0%,32%,100%{transform:rotate(0)}7%{transform:rotate(-12deg)}14%{transform:rotate(9deg)}21%{transform:rotate(-6deg)}27%{transform:rotate(3deg)}}
@keyframes wa-soft-glow{0%,100%{opacity:.12}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){
 .wa-contact,.wa-contact *{transition:none!important}
 .wa-contact-ready .wa-contact-link,.wa-contact-ready .wa-contact-link>svg{animation:none!important}
 .wa-contact-link::before{animation:wa-soft-glow 4s ease-in-out infinite;transform:none}
 .wa-contact-link::after{animation:none!important}
}
