.support-halo {
  position: fixed;
  left: 28px;
  bottom: 28px;
  z-index: 79;
  width: 158px;
  height: 138px;
  color: #fff;
  filter: drop-shadow(0 14px 22px #02081799);
  transform: none;
}

.support-halo::before,
.support-halo::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  transition: transform .25s ease, filter .25s ease;
}

.support-halo::before {
  inset: 0;
  background: conic-gradient(from 25deg, #c8ef1f, #2f7fe7, #e3b536, #c8ef1f);
  filter: drop-shadow(0 0 18px #c8ef1f88);
}

.support-halo::after {
  inset: 7px;
  background: radial-gradient(circle at 50% 38%, #164f80, #06162f 68%, #020817);
}

.support-halo-orbit {
  position: absolute;
  inset: 18px;
  z-index: 1;
  border: 1px solid #c8ef1f99;
  border-radius: 50%;
  box-shadow: 0 0 0 9px #c8ef1f16;
  animation: supportHaloPulse 2.8s ease-in-out infinite;
}

.support-halo-icon {
  position: absolute;
  left: 17px;
  top: 18px;
  z-index: 3;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 2px solid #c8ef1f;
  border-radius: 50%;
  background: #06162f;
  color: #c8ef1f;
  font-size: 22px;
  font-weight: 900;
}

.support-halo-copy {
  position: absolute;
  inset: 23px 18px 18px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-shadow: 0 2px 8px #000;
}

.support-halo-copy small { color: #9ed2ff; font-size: 7px; font-weight: 900; letter-spacing: 1.8px; }
.support-halo-copy strong { margin-top: 6px; color: #fff; font-size: 21px; letter-spacing: 1.5px; }
.support-halo-copy b { margin-top: 7px; color: #e3b536; font-size: 10px; letter-spacing: 2px; }

.support-halo:hover::before,
.support-halo:focus-visible::before {
  transform: scale(1.06);
  filter: drop-shadow(0 0 28px #c8ef1fcc);
}

.support-halo:focus-visible { outline: 3px solid #fff; outline-offset: 6px; }

@keyframes supportHaloPulse {
  0%, 100% { transform: scale(.96); opacity: .72; }
  50% { transform: scale(1.04); opacity: 1; }
}

@media (max-width: 680px) {
  .support-halo { left: 12px; bottom: 12px; width: 112px; height: 98px; }
  .support-halo-copy { inset: 17px 12px 12px; }
  .support-halo-copy small { font-size: 5px; }
  .support-halo-copy strong { font-size: 15px; }
  .support-halo-copy b { font-size: 7px; }
  .support-halo-icon { left: 8px; top: 9px; width: 25px; height: 25px; font-size: 16px; }
  .support-halo-orbit { inset: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .support-halo-orbit { animation: none; }
  .support-halo::before { transition: none; }
}
