:root {
  --glow-color: #FFF700;
}

.slide-in-left {
  animation: slideInLeft 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: transform, opacity;
}

@keyframes slideInLeft {
  0% { transform: translate3d(-24px, 0, 0); opacity: 0; }
  100% { transform: translate3d(0, 0, 0); opacity: 1; }
}

.fade-up {
  animation: fadeUp 800ms cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: transform, opacity;
}

@keyframes fadeUp {
  0% { transform: translate3d(0, 16px, 0); opacity: 0; }
  100% { transform: translate3d(0, 0, 0); opacity: 1; }
}

.parallax-scene { perspective: 800px; overflow: hidden; }
.parallax-layer { transform-style: preserve-3d; will-change: transform; }

.morph-blob {
  background: radial-gradient(circle at 30% 30%, rgba(255,247,0,0.6), rgba(255,247,0,0.2));
  filter: blur(0.5px);
  animation: blobMorph 12s ease-in-out infinite;
  will-change: border-radius, transform;
}

@keyframes blobMorph {
  0% { border-radius: 48% 52% 50% 50% / 48% 50% 52% 50%; transform: translate3d(0,0,0) scale(1); }
  33% { border-radius: 58% 42% 46% 54% / 60% 40% 58% 42%; transform: translate3d(2px,-2px,0) scale(1.02); }
  66% { border-radius: 42% 58% 54% 46% / 40% 60% 42% 58%; transform: translate3d(-2px,2px,0) scale(0.98); }
  100% { border-radius: 48% 52% 50% 50% / 48% 50% 52% 50%; transform: translate3d(0,0,0) scale(1); }
}

.card-3d {
  transition: transform 300ms ease, box-shadow 300ms ease;
  transform-style: preserve-3d;
  will-change: transform, box-shadow;
  backface-visibility: hidden;
}
.card-3d:hover { transform: translateZ(20px) rotateX(2deg) rotateY(-2deg); box-shadow: 0 25px 50px rgba(255, 247, 0, 0.25); }

.scroll-animate { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity 500ms ease, transform 500ms ease; }
.scroll-animate.visible { opacity: 1; transform: translate3d(0, 0, 0); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
