/* Able logo — glow pulse only (energy is in the artwork nodes) */
.able-logo-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex-shrink: 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}
.able-logo-wrap::before {
  content: "";
  position: absolute;
  width: 140%;
  height: 140%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(57, 255, 20, 0.45) 0%, transparent 65%);
  animation: able-glow-pulse 1.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes able-glow-pulse {
  0%, 100% { opacity: 0.45; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.12); }
}
.able-logo-alive,
.able-logo-wrap img {
  position: relative;
  z-index: 1;
  animation: able-logo-float 1.8s ease-in-out infinite;
}
@keyframes able-logo-float {
  0%, 100% {
    transform: translateY(0);
    filter: drop-shadow(0 0 16px rgba(57, 255, 20, 0.45));
  }
  50% {
    transform: translateY(-2px);
    filter: drop-shadow(0 0 26px rgba(57, 255, 20, 0.95));
  }
}
.nav-logo .able-logo-wrap::before,
.brand .able-logo-wrap::before {
  width: 160%;
  height: 160%;
}
.hero-logo.able-logo-wrap {
  width: 140px;
  height: 140px;
  margin: 0 auto 24px;
  display: flex;
  opacity: 0;
  animation: fadeUp .8s .3s forwards;
}
.hero-logo.able-logo-wrap::before {
  width: 150%;
  height: 150%;
}
.hero-logo.able-logo-wrap img {
  width: 140px !important;
  height: 140px !important;
  max-width: 140px;
  max-height: 140px;
}
nav .able-logo-wrap,
.brand .able-logo-wrap {
  width: 36px;
  height: 36px;
}
nav .able-logo-wrap img,
.brand .able-logo-wrap img {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px;
  max-height: 36px;
}
.footer-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 12px;
  font-family: 'Orbitron', monospace;
  text-align: center;
}
.footer-logo .able-logo-wrap {
  width: 48px;
  height: 48px;
  margin: 0 auto;
}
.footer-logo .able-logo-wrap img {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px;
  max-height: 48px;
}
footer .able-logo-wrap {
  width: 32px;
  height: 32px;
  margin: 0 auto 8px;
}
footer .able-logo-wrap img {
  width: 32px !important;
  height: 32px !important;
}
