* { font-family: 'DM Sans', sans-serif; }

.glow-btn { 
  background: linear-gradient(90deg, rgba(255,255,255,0.8), rgba(129,176,230,0.8), rgba(255,255,255,0.8), rgba(129,176,230,0.8)); 
  padding: 1px; 
  border-radius: 12px; 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
}

.gradient-text { 
  background: linear-gradient(to bottom, #ffffff, rgba(255,255,255,0.15)); 
  -webkit-background-clip: text; 
  -webkit-text-fill-color: transparent; 
  background-clip: text; 
}

.hide-scrollbar::-webkit-scrollbar { 
  display: none; 
}

.hide-scrollbar { 
  -ms-overflow-style: none; 
  scrollbar-width: none; 
}

.mobile-menu-panel { 
  transform: translateX(100%); 
  transition: transform 0.3s ease; 
}

.mobile-menu-panel.open { 
  transform: translateX(0); 
}

.nav-scrolled { 
  background-color: rgba(34,2,80,0.95) !important; 
  backdrop-filter: blur(12px); 
}

.step-content { 
  display: none; 
}

.step-content.active { 
  display: block; 
}

.step-item.active .step-dot { 
  background-color: #401880 !important; 
}

.step-item.active .step-title { 
  color: #2E096F !important; 
  font-weight: 700; 
}

/* Cycling Word Animations */
.cycling-word { 
  transition: opacity 0.4s ease, transform 0.4s ease; 
}

.cycling-word.fade-out { 
  opacity: 0; 
  transform: translateY(-10px); 
}

.cycling-word.fade-in { 
  opacity: 1; 
  transform: translateY(0); 
}

/* Form Styles */
.form-input { 
  width: 100%; 
  padding: 12px 16px; 
  border: 1.5px solid #E5E7EB; 
  border-radius: 12px; 
  font-size: 14px; 
  color: #374151; 
  outline: none; 
  transition: border-color 0.2s; 
  background: white; 
}

.form-input:focus { 
  border-color: #9781E6; 
  box-shadow: 0 0 0 3px rgba(151,129,230,0.1); 
}

.form-input::placeholder { 
  color: #9CA3AF; 
}

.success-state { 
  display: none; 
}

.success-state.show { 
  display: flex; 
}

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.float-anim { animation: float 4s ease-in-out infinite; }

@keyframes slideUp { 
  from { 
    opacity: 0; 
    transform: translateY(20px); 
  } 
  to { 
    opacity: 1; 
    transform: translateY(0); 
  } 
}

.slide-up { 
  animation: slideUp 0.5s ease forwards; 
}

@keyframes countUp { 
  from { 
    opacity: 0; 
    transform: translateY(20px); 
  } 
  to { 
    opacity: 1; 
    transform: translateY(0); 
  } 
}
.stat-card { 
  animation: countUp 0.6s ease forwards; 
}

.story-card:hover .story-img { 
  transform: scale(1.05); 
}
.story-img { 
  transition: transform 0.6s ease; 
}
