/* =============================================================
   НьюВет — Библиотека Анимаций «BioTech Intellect» (AAA Стандарт)
   ============================================================= */

/* Анимация левитации (Floating) */
@keyframes float {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(0.5deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}
.float-animation {
  animation: float 6s ease-in-out infinite;
}

/* Медленное вращение для градиентных сфер */
@keyframes rotateBlob {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.1); }
  100% { transform: rotate(360deg) scale(1); }
}
.animate-rotate-blob {
  animation: rotateBlob 25s linear infinite;
}

/* Пульсирующее биологическое свечение (Glow Pulse) */
@keyframes glowPulse {
  0% { opacity: 0.15; transform: scale(1) translate(0px, 0px); }
  50% { opacity: 0.35; transform: scale(1.2) translate(30px, -20px); }
  100% { opacity: 0.15; transform: scale(1) translate(0px, 0px); }
}
.animate-glow-pulse-1 {
  animation: glowPulse 20s ease-in-out infinite alternate;
}
.animate-glow-pulse-2 {
  animation: glowPulse 25s ease-in-out infinite alternate-reverse;
  animation-delay: -5s;
}

/* Появление контента при прокрутке страницы */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Очередность появления элементов (Staggered Delays) */
.reveal:nth-child(2) { transition-delay: 0.1s; }
.reveal:nth-child(3) { transition-delay: 0.2s; }
.reveal:nth-child(4) { transition-delay: 0.3s; }
.reveal:nth-child(5) { transition-delay: 0.4s; }

/* Бургер-меню (Кнопка навигации) */
.burger-menu {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 1.5rem;
  height: 1.1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 60;
}
.burger-menu span {
  width: 1.5rem;
  height: 2px;
  background-color: var(--color-primary);
  border-radius: 9999px;
  transition: var(--transition-smooth);
}
.burger-menu.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.burger-menu.open span:nth-child(2) {
  opacity: 0;
  transform: translateX(10px);
}
.burger-menu.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Появление модалок */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes popIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}
.modal.active {
  animation: fadeIn 0.35s ease-out forwards;
}
.modal.active .modal-content {
  animation: popIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Эффект мерцающего неонового индикатора */
@keyframes neonPulse {
  0%, 100% { box-shadow: 0 0 5px rgba(16, 185, 129, 0.5); }
  50% { box-shadow: 0 0 15px rgba(16, 185, 129, 0.9), 0 0 25px rgba(16, 185, 129, 0.4); }
}
.neon-indicator {
  width: 8px;
  height: 8px;
  background-color: var(--color-accent);
  border-radius: 50%;
  animation: neonPulse 2s infinite;
}
