@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-10px); }
  60% { transform: translateY(-5px); }
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

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

.loader {
  position: fixed;
  inset: 0;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.loader.hidden { opacity: 0; visibility: hidden; }
.loader-inner { text-align: center; }
.loader-logo { height: 80px; width: auto; object-fit: contain; animation: pulse 1.5s infinite; margin-bottom: 24px; }
.loader-bar {
  width: 200px;
  height: 3px;
  background: rgba(255,255,255,0.2);
  border-radius: 3px;
  overflow: hidden;
  margin: 0 auto;
}
.loader-bar span {
  display: block;
  height: 100%;
  width: 0;
  background: var(--gold-gradient);
  animation: loadBar 1.5s ease forwards;
}
@keyframes loadBar {
  to { width: 100%; }
}

.why-icon { animation: pulse 3s infinite; }
.accordion-collapse { transition: height 0.35s ease; }
