/* =====================================================
   UniSewa — Coming Soon — Animations
===================================================== */

@keyframes pulse-dot {
  0% { box-shadow: 0 0 0 0 rgba(201,164,106,0.55); }
  70% { box-shadow: 0 0 0 10px rgba(201,164,106,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,164,106,0); }
}

@keyframes pulse-dot-green {
  0% { box-shadow: 0 0 0 0 rgba(91,212,156,0.55); }
  70% { box-shadow: 0 0 0 9px rgba(91,212,156,0); }
  100% { box-shadow: 0 0 0 0 rgba(91,212,156,0); }
}

@keyframes shine {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}

@keyframes shimmer {
  0% { left: -60%; }
  55%, 100% { left: 130%; }
}

@keyframes divider-sweep {
  0%, 100% { opacity: 0; transform: translateX(-30%); }
  50% { opacity: 1; transform: translateX(30%); }
}

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes glow-drift-1 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(40px, 30px); }
}

@keyframes glow-drift-2 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-50px, -20px); }
}

@keyframes glow-drift-3 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(30px, -40px); }
}

@keyframes line-flow {
  0% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -200; }
}

/* Apply */
.brand__mark { animation: float-y 5s ease-in-out infinite; }

.bg__glow--1 { animation: glow-drift-1 16s ease-in-out infinite; }
.bg__glow--2 { animation: glow-drift-2 18s ease-in-out infinite; }
.bg__glow--3 { animation: glow-drift-3 20s ease-in-out infinite; }

.gold-line { animation: line-flow 10s linear infinite; }

/* Reveal-on-scroll is opt-in via JS adding .js-reveal to <html>.
   Without JS, [data-reveal] elements stay fully visible (no FOUC trap). */
.js-reveal [data-reveal] {
  opacity: 0;
  animation: fade-up 0.9s var(--ease) forwards;
  animation-play-state: paused;
}
.js-reveal [data-reveal].is-visible {
  animation-play-state: running;
}
.glass-card[data-reveal] { animation-delay: 0.05s; }
.feature[data-reveal]:nth-of-type(1) { animation-delay: 0.15s; }
.feature[data-reveal]:nth-of-type(2) { animation-delay: 0.25s; }
.feature[data-reveal]:nth-of-type(3) { animation-delay: 0.35s; }
.feature[data-reveal]:nth-of-type(4) { animation-delay: 0.45s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
