/* ============================================
   ARXES STUDIOS — Keyframes & Reveal Utilities
   ============================================ */

/* Reveal on scroll (GSAP will control, these are fallbacks) */
.reveal { opacity: 0; transform: translateY(24px); }
.reveal-in { opacity: 1; transform: translateY(0); }

/* Stagger children */
.stagger-children > * { opacity: 0; transform: translateY(20px); }

/* Fade up */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Subtle float */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Glow pulse */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 20px rgba(255, 204, 0, 0.2); }
  50% { box-shadow: 0 0 40px rgba(255, 204, 0, 0.35); }
}

/* Shine sweep (for cards) */
@keyframes shine {
  0% { left: -100%; }
  100% { left: 100%; }
}

.game-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.04),
    transparent
  );
  transition: none;
  pointer-events: none;
  z-index: 0;
}

.game-card:hover::before {
  animation: shine 0.8s ease-out;
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .nav-links { display: none; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .manifesto-grid { grid-template-columns: 1fr; }
  .manifesto-visual { height: 280px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact { background-attachment: scroll; }
  .nirvana-features { grid-template-columns: 1fr; text-align: center; }
  .nirvana-feature { justify-content: center; }
}

@media (max-width: 600px) {
  .process-grid { grid-template-columns: 1fr; }
  .hero-title { font-size: 2.2rem; }
  .hero-btns { flex-direction: column; }
  .btn { width: 100%; justify-content: center; }
  .nirvana-title { font-size: 2.8rem; letter-spacing: 0.08em; }
  .games-grid { grid-template-columns: 1fr; }
}
