.contactdock{--cd-motion-up:-4px;--cd-motion-up-strong:-6px;--cd-motion-up-small:-3px;--cd-scale-sm:1.05;--cd-scale-md:1.08;--cd-scale-lg:1.22;--cd-scale-xl:1.42;--cd-scale-radar:1.5;--cd-cycle:2.8s;--cd-delay:-1.4s;position:fixed;z-index:999999;right:calc(var(--cd-x,22px) + env(safe-area-inset-right,0px));bottom:calc(var(--cd-y,28px) + env(safe-area-inset-bottom,0px));pointer-events:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:16px!important;line-height:1!important;box-sizing:border-box!important}
.contactdock,.contactdock *,.contactdock *:before,.contactdock *:after{box-sizing:border-box!important}
.contactdock-side-left{right:auto;left:calc(var(--cd-x,22px) + env(safe-area-inset-left,0px))}
.contactdock-stack{display:flex;flex-direction:column;align-items:center;gap:var(--cd-gap,10px);pointer-events:none}
.contactdock-items{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cd-gap,10px);pointer-events:auto;opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.contactdock-slot{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;margin:0!important;padding:0!important;min-width:var(--cd-size,52px)!important;position:relative!important}
.contactdock-action,.contactdock-action:link,.contactdock-action:visited,.contactdock-action:hover,.contactdock-action:focus{display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;gap:0!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;background-color:transparent!important;box-shadow:none!important;color:inherit!important;text-decoration:none!important;line-height:1!important;font:inherit!important;text-transform:none!important;letter-spacing:normal!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;outline:none!important;overflow:visible!important;pointer-events:auto!important}
.contactdock-action:before,.contactdock-action:after{content:none!important;display:none!important}
.contactdock-button-shell{--cd-effective-size:var(--cd-local-size,var(--cd-size,52px));position:relative!important;isolation:isolate!important;display:flex!important;align-items:center!important;justify-content:center!important;width:var(--cd-effective-size)!important;height:var(--cd-effective-size)!important;min-width:var(--cd-effective-size)!important;min-height:var(--cd-effective-size)!important;max-width:var(--cd-effective-size)!important;max-height:var(--cd-effective-size)!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:var(--cd-item-color,#2563eb)!important;color:var(--cd-item-icon-color,#fff)!important;transform-origin:center!important;overflow:visible!important;will-change:auto!important}
.contactdock-shadow-none .contactdock-button-shell{box-shadow:none!important}
.contactdock-shadow-soft .contactdock-button-shell{box-shadow:0 8px 22px rgba(15,23,42,.18)!important}
.contactdock-shadow-strong .contactdock-button-shell{box-shadow:0 12px 30px rgba(15,23,42,.28)!important}
.contactdock-icon-content{position:relative!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;color:inherit!important;pointer-events:none!important}
.contactdock-svg{display:block!important;width:var(--cd-icon-size,24px)!important;height:var(--cd-icon-size,24px)!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;fill:currentColor!important;color:inherit!important;stroke:none!important}
.contactdock-svg *{fill:currentColor!important;color:inherit!important;stroke:none!important}
.contactdock-custom-icon{display:block!important;width:var(--cd-icon-size,24px)!important;height:var(--cd-icon-size,24px)!important;min-width:0!important;max-width:72%!important;min-height:0!important;max-height:72%!important;object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;filter:none!important}
.contactdock-effect-layer{position:absolute!important;inset:0!important;z-index:1!important;border-radius:inherit!important;pointer-events:none!important;opacity:0}
.contactdock-tooltip{position:absolute!important;top:50%!important;right:calc(100% + 10px)!important;transform:translate(6px,-50%)!important;display:block!important;width:max-content!important;max-width:240px!important;margin:0!important;padding:7px 10px!important;border-radius:8px!important;background:#111827!important;color:#fff!important;box-shadow:0 6px 18px rgba(15,23,42,.18)!important;font-size:12px!important;font-weight:650!important;line-height:1.25!important;white-space:nowrap!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important}
.contactdock-side-left .contactdock-tooltip{right:auto!important;left:calc(100% + 10px)!important;transform:translate(-6px,-50%)!important}
.contactdock-action:hover .contactdock-tooltip,.contactdock-action:focus-visible .contactdock-tooltip{opacity:1!important;visibility:visible!important;transform:translate(0,-50%)!important}
.contactdock-footer-label{display:none!important}
.contactdock[data-launcher="1"] .contactdock-items{opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none}
.contactdock[data-launcher="1"].is-open .contactdock-items{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.contactdock-launcher-slot{pointer-events:auto!important}
.contactdock-launcher{position:relative!important}
.contactdock-launcher-open,.contactdock-launcher-close{display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;transition:opacity .18s ease,transform .18s ease!important}
.contactdock-launcher-close{position:absolute!important;inset:0!important;opacity:0!important;transform:rotate(-45deg) scale(.85)!important;pointer-events:none!important}
.contactdock-close-glyph{position:relative!important;z-index:4!important;color:var(--cd-item-icon-color,#fff)!important;font-size:30px!important;font-weight:300!important;line-height:1!important;transform:translateY(-1px)!important}
.contactdock.is-open .contactdock-launcher-open{opacity:0!important;transform:rotate(45deg) scale(.84)!important}
.contactdock.is-open .contactdock-launcher-close{opacity:1!important;transform:none!important}
.contactdock-action:hover .contactdock-button-shell{filter:brightness(1.03)!important}
.contactdock-action:focus-visible .contactdock-button-shell{outline:3px solid rgba(59,130,246,.35)!important;outline-offset:3px!important}

/* Motion controls */
.contactdock-speed-slow{--cd-cycle:4.4s;--cd-delay:-2.2s}
.contactdock-speed-normal{--cd-cycle:2.8s;--cd-delay:-1.4s}
.contactdock-speed-fast{--cd-cycle:1.8s;--cd-delay:-.9s}
.contactdock-intensity-subtle{--cd-motion-up:-2.5px;--cd-motion-up-strong:-4px;--cd-motion-up-small:-2px;--cd-scale-sm:1.025;--cd-scale-md:1.045;--cd-scale-lg:1.14;--cd-scale-xl:1.28;--cd-scale-radar:1.34}
.contactdock-intensity-normal{--cd-motion-up:-4px;--cd-motion-up-strong:-6px;--cd-motion-up-small:-3px;--cd-scale-sm:1.05;--cd-scale-md:1.08;--cd-scale-lg:1.22;--cd-scale-xl:1.42;--cd-scale-radar:1.5}
.contactdock-intensity-strong{--cd-motion-up:-6px;--cd-motion-up-strong:-9px;--cd-motion-up-small:-4px;--cd-scale-sm:1.08;--cd-scale-md:1.13;--cd-scale-lg:1.3;--cd-scale-xl:1.55;--cd-scale-radar:1.68}


.contactdock-repeat-once .contactdock-button-shell,.contactdock-repeat-once .contactdock-effect-layer,.contactdock-repeat-once .contactdock-effect-layer:before,.contactdock-repeat-once .contactdock-effect-layer:after{animation-iteration-count:1!important}

/* Effects use isolated layers so icon/theme styles cannot cancel them. */
.contactdock-effect-pulse .contactdock-effect-layer-a{opacity:1;border:2px solid var(--cd-item-color,#2563eb);animation:cdPulse var(--cd-cycle) ease-out infinite}
.contactdock-effect-ring{animation:cdRing var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-float{animation:cdFloat var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-bounce{animation:cdBounce var(--cd-cycle) cubic-bezier(.2,.75,.25,1) infinite}
.contactdock-effect-glow .contactdock-effect-layer-a{opacity:.2;box-shadow:0 0 18px 5px var(--cd-item-color,#2563eb);animation:cdGlow var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-ripple .contactdock-effect-layer-a,.contactdock-effect-ripple .contactdock-effect-layer-b{opacity:1;border:2px solid var(--cd-item-color,#2563eb);animation:cdRipple var(--cd-cycle) ease-out infinite}
.contactdock-effect-ripple .contactdock-effect-layer-b{animation-delay:var(--cd-delay)}
.contactdock-effect-heartbeat{animation:cdHeartbeat var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-radar .contactdock-effect-layer-a,.contactdock-effect-radar .contactdock-effect-layer-b{opacity:1;border:2px solid var(--cd-item-color,#2563eb);animation:cdRadar var(--cd-cycle) ease-out infinite}
.contactdock-effect-radar .contactdock-effect-layer-b{animation-delay:var(--cd-delay)}
.contactdock-effect-shine .contactdock-effect-layer-a{opacity:1;overflow:hidden!important;z-index:3!important}
.contactdock-effect-shine .contactdock-effect-layer-a:after{content:""!important;display:block!important;position:absolute!important;top:-30%!important;bottom:-30%!important;width:34%!important;left:-55%;transform:skewX(-20deg)!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent)!important;animation:cdShine var(--cd-cycle) ease-in-out infinite!important}
.contactdock-effect-orbit .contactdock-effect-layer-a{inset:-5px!important;opacity:1;border:2px solid transparent;border-top-color:var(--cd-item-color,#2563eb);border-right-color:var(--cd-item-color,#2563eb);animation:cdSpin var(--cd-cycle) linear infinite}
.contactdock-effect-rotateborder .contactdock-effect-layer-a{inset:-4px!important;opacity:1;border:2px solid transparent;border-top-color:var(--cd-item-color,#2563eb);border-bottom-color:var(--cd-item-color,#2563eb);animation:cdSpin var(--cd-cycle) linear infinite}
.contactdock-effect-wiggle{animation:cdWiggle var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-pop{animation:cdPop var(--cd-cycle) cubic-bezier(.2,.8,.2,1) infinite}

@keyframes cdPulse{0%,20%{transform:scale(.94);opacity:.62}70%,100%{transform:scale(var(--cd-scale-xl));opacity:0}}
@keyframes cdRing{0%,36%,100%{transform:rotate(0)}6%{transform:rotate(-10deg)}12%{transform:rotate(10deg)}18%{transform:rotate(-7deg)}24%{transform:rotate(7deg)}30%{transform:rotate(-3deg)}}
@keyframes cdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--cd-motion-up))}}
@keyframes cdBounce{0%,44%,100%{transform:translateY(0)}14%{transform:translateY(var(--cd-motion-up-strong))}26%{transform:translateY(0)}35%{transform:translateY(var(--cd-motion-up-small))}}
@keyframes cdGlow{0%,100%{transform:scale(.94);opacity:.08}50%{transform:scale(var(--cd-scale-md));opacity:.48}}
@keyframes cdRipple{0%,20%{transform:scale(.95);opacity:.58}78%,100%{transform:scale(var(--cd-scale-xl));opacity:0}}
@keyframes cdHeartbeat{0%,55%,100%{transform:scale(1)}10%{transform:scale(var(--cd-scale-md))}20%{transform:scale(1)}30%{transform:scale(var(--cd-scale-sm))}42%{transform:scale(1)}}
@keyframes cdRadar{0%,18%{transform:scale(.88);opacity:.58}66%,100%{transform:scale(var(--cd-scale-radar));opacity:0}}
@keyframes cdShine{0%{left:-55%;opacity:0}10%{opacity:1}42%{left:125%;opacity:.85}50%,100%{left:125%;opacity:0}}
@keyframes cdSpin{to{transform:rotate(360deg)}}
@keyframes cdWiggle{0%,40%,100%{transform:rotate(0)}8%{transform:rotate(-7deg)}16%{transform:rotate(7deg)}24%{transform:rotate(-4deg)}32%{transform:rotate(4deg)}}
@keyframes cdPop{0%,48%,100%{transform:scale(1)}16%{transform:scale(var(--cd-scale-lg))}30%{transform:scale(.97)}40%{transform:scale(1.03)}}

/* Desktop and tablet real layouts */
@media(min-width:1025px){
  .contactdock-desktop-hidden{display:none!important}
  .contactdock-desktop-horizontal .contactdock-items{flex-direction:row!important}
  .contactdock-desktop-horizontal .contactdock-stack{align-items:center!important}
}
@media(max-width:1024px) and (min-width:768px){
  .contactdock-tablet-hidden{display:none!important}
  .contactdock-tablet-horizontal .contactdock-items{flex-direction:row!important}
}

/* Mobile can use a vertical/horizontal float or a real footer dock. */
@media(max-width:767px){
  .contactdock{right:calc(var(--cd-xm,12px) + env(safe-area-inset-right,0px));bottom:calc(var(--cd-ym,14px) + env(safe-area-inset-bottom,0px))}
  .contactdock-side-left{right:auto;left:calc(var(--cd-xm,12px) + env(safe-area-inset-left,0px))}
  .contactdock-mobile-hidden{display:none!important}
  .contactdock-mobile-horizontal .contactdock-items{flex-direction:row!important}
  .contactdock-mobile-footer{left:max(var(--cd-xm,12px),env(safe-area-inset-left,0px))!important;right:max(var(--cd-xm,12px),env(safe-area-inset-right,0px))!important;bottom:calc(var(--cd-ym,14px) + env(safe-area-inset-bottom,0px))!important;width:auto!important}
  .contactdock-mobile-footer.contactdock-footer-full{left:0!important;right:0!important;bottom:0!important}
  .contactdock-mobile-footer .contactdock-stack{width:100%!important;display:block!important;padding:6px!important;background:var(--cd-footer-bg,#fff)!important;color:var(--cd-footer-text,#111827)!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:var(--cd-footer-radius,18px)!important;box-shadow:0 12px 34px rgba(15,23,42,.2)!important;overflow:hidden!important;pointer-events:auto!important}
  .contactdock-mobile-footer.contactdock-footer-full .contactdock-stack{border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px))!important}
  .contactdock-mobile-footer .contactdock-items{display:flex!important;flex-direction:row!important;align-items:stretch!important;justify-content:flex-start!important;gap:2px!important;width:100%!important;min-height:var(--cd-footer-height,64px)!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;overflow-x:auto!important;scrollbar-width:none!important}
  .contactdock-mobile-footer .contactdock-items::-webkit-scrollbar{display:none!important}
  .contactdock-mobile-footer .contactdock-slot{flex:1 0 64px!important;min-width:64px!important;align-items:stretch!important}
  .contactdock-mobile-footer .contactdock-action{width:100%!important;min-width:64px!important;min-height:var(--cd-footer-height,64px)!important;flex-direction:column!important;gap:4px!important;border-radius:calc(var(--cd-footer-radius,18px) - 6px)!important;padding:5px 4px!important}
  .contactdock-mobile-footer .contactdock-button-shell{--cd-effective-size:min(38px,var(--cd-size,52px));box-shadow:none!important}
  .contactdock-mobile-footer .contactdock-svg{width:min(21px,var(--cd-icon-size,24px))!important;height:min(21px,var(--cd-icon-size,24px))!important}
  .contactdock-mobile-footer .contactdock-custom-icon{width:21px!important;height:21px!important}
  .contactdock-mobile-footer .contactdock-tooltip{display:none!important}
  .contactdock-mobile-footer .contactdock-footer-label{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--cd-footer-text,#111827)!important;font-size:10.5px!important;font-weight:650!important;line-height:1.15!important;text-align:center!important;margin:0!important;padding:0 2px!important}
  .contactdock-mobile-footer .contactdock-footer-label.is-hidden{display:none!important}
  .contactdock-mobile-footer .contactdock-launcher-slot{display:none!important}
  .contactdock-mobile-footer[data-launcher="1"] .contactdock-items{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
}

/* Accessibility */


/* Popup */
.contactdock-popup{position:fixed!important;inset:0!important;z-index:1000002!important;display:none!important;align-items:center!important;justify-content:center!important;padding:20px!important;pointer-events:auto!important}
.contactdock-popup.is-open{display:flex!important}
.contactdock-popup-backdrop{position:absolute!important;inset:0!important;background:rgba(15,23,42,.56)!important;backdrop-filter:blur(2px)!important}
.contactdock-popup-panel{position:relative!important;width:min(520px,100%)!important;max-height:min(82vh,720px)!important;overflow:auto!important;background:#fff!important;color:#111827!important;border-radius:16px!important;padding:24px!important;box-shadow:0 24px 80px rgba(15,23,42,.32)!important}
.contactdock-popup-panel h3{margin:0 38px 16px 0!important;font-size:20px!important;line-height:1.3!important}
.contactdock-popup-close{position:absolute!important;right:12px!important;top:8px!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#64748b!important;font-size:28px!important;line-height:1!important;cursor:pointer!important;appearance:none!important}

/* V0.5 motion engine: duration and rest are independent. */
.contactdock-motion-rest .contactdock-button-shell,.contactdock-motion-rest .contactdock-effect-layer,.contactdock-motion-rest .contactdock-effect-layer:after{animation:none!important}
.contactdock-effect-beacon .contactdock-effect-layer-a{border:2px solid var(--cd-item-color);animation:cdBeacon var(--cd-cycle) ease-out infinite}
.contactdock-effect-beacon .contactdock-effect-layer-b{border:1px solid var(--cd-item-color);animation:cdBeacon var(--cd-cycle) ease-out infinite;animation-delay:var(--cd-delay)}
.contactdock-effect-breathe .contactdock-icon-content{animation:cdBreathe var(--cd-cycle) ease-in-out infinite}
.contactdock-effect-comet .contactdock-effect-layer-a{inset:-4px!important;opacity:1;border:2px solid transparent;border-top-color:var(--cd-item-color);border-right-color:var(--cd-item-color);animation:cdSpin var(--cd-cycle) linear infinite}
@keyframes cdBeacon{0%{opacity:.8;transform:scale(1)}80%,100%{opacity:0;transform:scale(var(--cd-scale-radar))}}
@keyframes cdBreathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.86);opacity:.7}}
.contactdock-motion-rest .contactdock-icon-content{animation:none!important}

.contactdock-style-pill .contactdock-tooltip{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;order:2;max-width:180px!important;white-space:normal!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:13px!important}
.contactdock-style-pill .contactdock-action{background:#fff!important;color:#172033!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:4px 12px 4px 4px!important;box-shadow:0 4px 18px #17203312!important}
.contactdock-style-pill .contactdock-slot{width:100%}.contactdock-style-pill .contactdock-action{width:100%!important;justify-content:flex-start!important}
@media(max-width:767px){.contactdock-mobile-footer .contactdock-effect-layer{inset:3px!important}.contactdock-mobile-footer.contactdock-style-pill .contactdock-action{border:0!important;background:transparent!important;border-radius:8px!important;padding:5px 4px!important;box-shadow:none!important;justify-content:center!important}.contactdock-mobile-footer.contactdock-style-pill .contactdock-tooltip{display:none!important}}

.contactdock-repeat-once .contactdock-icon-content{animation-iteration-count:1!important}
.contactdock-style-pill .contactdock-slot{min-width:0!important}
.contactdock-tooltip{white-space:normal!important;overflow-wrap:anywhere!important}

/* V0.5.1 — clean edges, restrained elevation; preserve selected motion. */
.contactdock .contactdock-svg{shape-rendering:geometricPrecision}
.contactdock .contactdock-custom-icon{image-rendering:auto!important}
.contactdock.contactdock-shadow-soft .contactdock-button-shell{box-shadow:0 4px 12px rgba(15,23,42,.14),inset 0 0 0 1px rgba(255,255,255,.12)!important}
.contactdock.contactdock-shadow-strong .contactdock-button-shell{box-shadow:0 7px 20px rgba(15,23,42,.2)!important}
.contactdock .contactdock-action:hover .contactdock-button-shell{filter:none!important}
.contactdock .contactdock-tooltip{border:1px solid rgba(255,255,255,.12)!important;border-radius:9px!important;box-shadow:0 4px 14px rgba(15,23,42,.12)!important}
@media(max-width:767px){.contactdock.contactdock-mobile-footer .contactdock-button-shell{box-shadow:none!important}}


/* Vertical position: 0 bottom, 0.5 center, 1 top of available space. */
.contactdock{--cd-viewport-height:100vh;--cd-safe-top:env(safe-area-inset-top,0px);--cd-safe-bottom:env(safe-area-inset-bottom,0px);--cd-max-offset:max(0px,calc(var(--cd-viewport-height) - var(--cd-dock-height,0px) - var(--cd-safe-top) - var(--cd-safe-bottom)))}
@supports(height:100dvh){.contactdock{--cd-viewport-height:100dvh}}
@media(min-width:768px){.contactdock[data-contactdock-root]{top:auto!important;bottom:calc(var(--cd-safe-bottom) + var(--cd-max-offset) * var(--cd-vertical,.04))!important}}
@media(max-width:767px){.contactdock[data-contactdock-root]{top:auto!important;bottom:calc(var(--cd-safe-bottom) + var(--cd-max-offset) * var(--cd-vertical-mobile,.02))!important}}
