/* ==========================================================================
   Digital Maheshwari — Utilities
   ========================================================================== */

.text-center { text-align: center; }
.text-muted { color: var(--dm-text-muted); }
.text-gold { color: var(--dm-gold-dark); }
.mx-auto { margin-inline: auto; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: var(--dm-space-2); }
.gap-3 { gap: var(--dm-space-3); }
.gap-4 { gap: var(--dm-space-4); }
.gap-6 { gap: var(--dm-space-6); }
.mt-6 { margin-top: var(--dm-space-6); }
.mt-8 { margin-top: var(--dm-space-8); }
.mb-0 { margin-bottom: 0; }

/* ---- Scroll reveal (progressive enhancement; content visible without JS) ---- */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--dm-duration-slow) var(--dm-ease), transform var(--dm-duration-slow) var(--dm-ease);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
.no-js .reveal { opacity: 1; transform: none; }

.reveal-delay-1 { transition-delay: 80ms; }
.reveal-delay-2 { transition-delay: 160ms; }
.reveal-delay-3 { transition-delay: 240ms; }
.reveal-delay-4 { transition-delay: 320ms; }
