@keyframes glow-pulse {
  0%,
  100% {
    box-shadow: 0 0 20px var(--accent-glow);
  }
  50% {
    box-shadow: 0 0 40px rgba(255, 85, 0, 0.5);
  }
}

@keyframes hero-enter {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* По умолчанию видимо: работает при file:// и без JS */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

/* Скрытие только после успешной инициализации скрипта (см. scroll-animations.js) */
html.reveal-js .reveal:not(.visible) {
  opacity: 0;
  transform: translateY(30px);
}

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

/* Доп. «оживление» мини-блоков «Что унесёшь» при появлении */
@keyframes benefit-inner-in {
  from {
    opacity: 0.85;
    transform: scale(0.97);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

html.reveal-js .benefit-mini.reveal.visible .benefit-mini__inner {
  animation: benefit-inner-in 0.65s var(--ease-out-expo) both;
}

.glow-text {
  text-shadow:
    0 0 30px rgba(255, 85, 0, 0.4),
    0 0 60px rgba(255, 85, 0, 0.2);
}

.glow-box {
  box-shadow:
    0 0 40px rgba(255, 85, 0, 0.15),
    inset 0 0 40px rgba(255, 85, 0, 0.05);
}
