@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatSoft {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-18px) scale(1.04);
  }
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 0 rgba(20, 184, 166, 0);
  }
  50% {
    box-shadow: 0 0 55px rgba(20, 184, 166, 0.35);
  }
}

.hero-copy,
.course-panel,
.feature-card,
.section-head,
.glass-box,
.resource-card,
.scenario-card,
.video-panel,
.gallery-card {
  animation: fadeUp 0.9s ease both;
}

.shape-one,
.shape-two {
  animation: floatSoft 7s ease-in-out infinite;
}

.brand-mark,
.scenario-number,
.file-badge {
  animation: pulseGlow 4s ease-in-out infinite;
}

.feature-card:nth-child(2),
.resource-card:nth-child(2),
.scenario-card:nth-child(2),
.gallery-card:nth-child(2) {
  animation-delay: 0.12s;
}

.feature-card:nth-child(3),
.resource-card:nth-child(3),
.scenario-card:nth-child(3),
.gallery-card:nth-child(3) {
  animation-delay: 0.22s;
}

.feature-card:nth-child(4),
.gallery-card:nth-child(4) {
  animation-delay: 0.32s;
}