/* ===================== UTILITIES ===================== */
.text-gold { color: var(--gold) !important; }
.text-none { text-decoration: none !important; }
.d-flex-between-end {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 1rem;
}
.btn-small {
  font-size: 0.75rem !important;
  padding: 0.75rem 1.5rem !important;
}
.mt-1 { margin-top: 1rem !important; }
.mt-1-5 { margin-top: 1.5rem !important; }
.inline-flex { display: inline-flex !important; }
.delay-1 { transition-delay: 0.1s !important; }
.delay-15 { transition-delay: 0.15s !important; }
.delay-2 { transition-delay: 0.2s !important; }
.delay-3 { transition-delay: 0.3s !important; }
.delay-4 { transition-delay: 0.4s !important; }
.logo-text-small { font-size: 1.2rem !important; }
.fs-small { font-size: 0.75rem !important; }
.justify-center { justify-content: center !important; }
.align-center { align-items: center !important; }

/* ===================== SCROLL ANIMATIONS ===================== */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}
.reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}
.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-left,
  .reveal-right {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
