.contact-hive{
  position:fixed;
  right:15px;
  bottom:calc(var(--footer-height) + 14px);
  width:76px;
  height:76px;
  z-index:100;
  isolation:isolate;
  transition:transform .35s ease;
}
.hive-toggle{
  position:absolute;
  inset:0;
  width:76px;
  height:76px;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  color:#fff;
  z-index:3;
}
.hive-toggle:focus-visible{outline:none}
.hive-toggle-label{
  position:absolute;
  right:78px;
  top:50%;
  transform:translate(5px,-50%);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:8px 10px;
  border:1px solid rgba(14,165,233,.35);
  border-radius:6px;
  background:#0a192f;
  color:#e7f6fd;
  font:600 10px Inter,sans-serif;
  transition:opacity .2s,transform .2s;
}
.hive-toggle:hover .hive-toggle-label,
.hive-toggle:focus-visible .hive-toggle-label{
  opacity:1;
  transform:translate(0,-50%);
}
.contact-hive.is-open .hive-toggle-label{display:none}
.hive-options{position:absolute;inset:0}
.hive-options[hidden]{display:none}
.hive-core{
  position:absolute;
  right:6px;
  bottom:10px;
  width:64px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 0 7px rgba(14,165,233,.48));
  transition:filter .22s;
}
.hive-core:before,.hive-core:after{
  content:"";
  position:absolute;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}
.hive-core:before{inset:0;background:#50c8ff}
.hive-core:after{inset:1.5px;background:linear-gradient(145deg,#174364,#071827 75%)}
.hive-core-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  color:#f4fbff;
}
.hive-core-content span{font:700 7px Inter,sans-serif;letter-spacing:.04em}
.hive-core-mark{
  width:25px;
  height:21px;
  object-fit:contain;
  filter:drop-shadow(0 0 3px rgba(14,165,233,.55));
}
.hive-core-orbit{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  overflow:visible;
  pointer-events:none;
  filter:drop-shadow(0 0 5px #0ea5e9);
}
.hive-toggle:hover .hive-core,
.hive-toggle:focus-visible .hive-core,
.contact-hive.is-open .hive-core{
  filter:drop-shadow(0 0 11px rgba(45,194,255,.85));
}
.hive-toggle:hover .hive-core:before,
.hive-toggle:focus-visible .hive-core:before{background:#a7e8ff}
.hive-node{
  position:absolute;
  right:6px;
  bottom:10px;
  width:64px;
  height:56px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#eaf8ff;
  text-decoration:none;
  border:0;
  opacity:0;
  transform:translate(0,0) scale(.25);
  transition:transform .42s cubic-bezier(.18,.7,.25,1),opacity .25s ease,filter .2s ease;
  filter:drop-shadow(0 0 4px rgba(14,165,233,.3));
  will-change:transform,opacity;
}
.hive-node:before,.hive-node:after{
  content:"";
  position:absolute;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  pointer-events:none;
}
.hive-node:before{inset:0;background:#35bdf8}
.hive-node:after{inset:1.5px;background:linear-gradient(145deg,#123551,#071625 75%)}
.hive-node svg,.hive-node span{position:relative;z-index:1}
.hive-node svg{
  width:19px;
  height:19px;
  color:#0ea5e9;
  filter:drop-shadow(0 0 3px rgba(14,165,233,.55));
}
.hive-node span{
  font:700 7px Inter,sans-serif;
  letter-spacing:.02em;
  text-align:center;
  line-height:1.05;
  max-width:58px;
}
.hive-node:hover,.hive-node:focus-visible{
  filter:drop-shadow(0 0 9px rgba(45,194,255,.95));
  color:#fff;
  outline:none;
}
.hive-node:hover:before,.hive-node:focus-visible:before{background:#a7e8ff}
.hive-node .hive-top-chevron{
  width:25px;
  height:22px;
  color:#0ea5e9;
  filter:drop-shadow(0 0 3px rgba(14,165,233,.55));
}
.contact-hive.is-open .hive-node{
  opacity:1;
  transform:translate(var(--hx),var(--hy)) scale(1);
}
.hive-whatsapp{--hx:-48px;--hy:-28px;transition-delay:.04s}
.hive-email{--hx:-48px;--hy:28px;transition-delay:.16s}
.hive-top{--hx:0px;--hy:-112px;transition-delay:.18s}
.hive-services{--hx:-144px;--hy:-28px;transition-delay:.25s}
.hive-about{--hx:-192px;--hy:0px;transition-delay:.34s}
.hive-values{--hx:-288px;--hy:-56px;transition-delay:.39s}
.hive-map{--hx:-336px;--hy:-28px;transition-delay:.44s}
.hive-tech{--hx:-432px;--hy:28px;transition-delay:.53s}
.hive-projects{--hx:-432px;--hy:-84px;transition-delay:.48s}
.hive-ghost{
  position:absolute;
  right:6px;
  bottom:10px;
  width:64px;
  height:56px;
  z-index:0;
  opacity:0;
  transform:translate(0,0) scale(.25);
  transition:transform .45s cubic-bezier(.18,.7,.25,1),opacity .35s;
  pointer-events:none;
}
.hive-ghost svg{display:block;width:100%;height:100%;overflow:visible}
.hive-ghost polygon{fill:rgba(145,215,249,.075);stroke:rgba(111,202,246,.28);stroke-width:1}
.contact-hive.is-open .hive-ghost{
  opacity:1;
  transform:translate(var(--hx),var(--hy)) scale(1);
}
.ghost-one{--hx:-96px;--hy:0px;transition-delay:.20s}
.ghost-four{--hx:-144px;--hy:28px;transition-delay:.29s}
.ghost-five{--hx:0px;--hy:-56px;transition-delay:.10s}
.ghost-six{--hx:-240px;--hy:-28px;transition-delay:.31s}
.ghost-seven{--hx:-240px;--hy:28px;transition-delay:.42s}
.ghost-eight{--hx:-384px;--hy:0px;transition-delay:.49s}
.ghost-nine{--hx:-384px;--hy:-56px;transition-delay:.47s}
.contact-hive.is-open{transform:translateY(-56px)}
@media(max-width:560px){
  .contact-hive{right:9px}
}
@media(max-width:700px){
  .contact-hive{bottom:calc(var(--footer-height) + 9px)}
}
@media(max-width:500px){
  .contact-hive{transform-origin:right bottom}
  .contact-hive.is-open{transform:translateY(-42px) scale(.68)}
}
@media(max-width:380px){
  .contact-hive.is-open{transform:translateY(-42px) scale(.60)}
}
@media(prefers-reduced-motion:reduce){
  .contact-hive,.hive-node,.hive-ghost{transition:none}
  .hive-core-orbit{display:none}
}
