/* =========================================================
   GUARDIANOS SHARED MOTION SYSTEM
========================================================= */

.motion-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .7s cubic-bezier(.2,.8,.2,1),
    transform .7s cubic-bezier(.2,.8,.2,1);
}

.motion-reveal.motion-visible {
  opacity: 1;
  transform: translateY(0);
}

.motion-reveal[data-motion-delay="1"] { transition-delay: .07s; }
.motion-reveal[data-motion-delay="2"] { transition-delay: .14s; }
.motion-reveal[data-motion-delay="3"] { transition-delay: .21s; }
.motion-reveal[data-motion-delay="4"] { transition-delay: .28s; }

.motion-surface {
  --mx: 50%;
  --my: 50%;
  position: relative;
  isolation: isolate;
}

.motion-surface::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(
      260px circle at var(--mx) var(--my),
      rgba(83, 183, 240, .075),
      transparent 64%
    );
  transition: opacity .24s ease;
}

.motion-surface:hover::after {
  opacity: 1;
}

.motion-lift {
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    box-shadow .28s ease;
}

.motion-lift:hover {
  transform: translateY(-3px);
  border-color: rgba(92,188,246,.2) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.14);
}

.network-center {
  animation: networkBreath 3.2s ease-in-out infinite;
}

@keyframes networkBreath {
  50% {
    box-shadow:
      0 0 0 20px rgba(92,188,246,.018),
      0 0 70px rgba(92,188,246,.14);
  }
}

.network-line {
  background-size: 26px 1px;
  animation: networkSignal 1.3s linear infinite;
}

@keyframes networkSignal {
  to { background-position: 26px 0; }
}

.value-chip.active,
.service-tab.active,
.industry-tab.active {
  box-shadow: inset 2px 0 0 rgba(92,188,246,.35);
}

.partner-node.active::after,
.micro-service.active::after,
.risk-node.active::after {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(92,188,246,.09);
  border-radius: inherit;
  pointer-events: none;
  animation: activeSurfacePulse 1.9s ease-out infinite;
}

@keyframes activeSurfacePulse {
  0% { opacity: .5; transform: scale(.985); }
  100% { opacity: 0; transform: scale(1.06); }
}

.contact-ai-orb {
  animation: askariFloat 3.6s ease-in-out infinite;
}

@keyframes askariFloat {
  50% { transform: translateY(-5px); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .network-center,
  .network-line,
  .contact-ai-orb,
  .partner-node.active::after,
  .micro-service.active::after,
  .risk-node.active::after {
    animation: none !important;
  }
}
