/* Coming-soon pages */
.soon-page{
  min-height:100dvh; display:flex; align-items:center; justify-content:center;
  padding:calc(var(--nav-h) + 40px) 0 60px; text-align:center;
}
.soon-inner{ max-width:720px; }
.soon-inner .lead{ margin:20px auto 36px; }

.soon-wave{ width:min(420px, 80vw); margin:0 auto 34px; opacity:0.9; }
.soon-wave svg{ width:100%; height:auto; overflow:visible; }
.wave-path{
  stroke-dasharray:1400; stroke-dashoffset:1400;
  animation:waveDraw 2.4s var(--ease-out) 300ms forwards;
}
@keyframes waveDraw{ to{ stroke-dashoffset:0; } }

.soon-steps{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:40px; }
.s-step{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 20px; border-radius:999px; font-size:0.88rem; color:var(--ink-3);
}
.s-step .tick{ font-family:var(--font-mono); }
.s-step.done{ color:var(--ink-2); }
.s-step.done .tick{ color:var(--long); }
.s-step.active{ color:var(--ink); border-color:var(--border-2); }
.s-step.active .tick{ color:var(--accent); animation:spinPulse 1.8s ease-in-out infinite; display:inline-block; }
@keyframes spinPulse{ 0%,100%{ opacity:0.4; } 50%{ opacity:1; } }

@media (prefers-reduced-motion: reduce){
  .wave-path{ stroke-dashoffset:0; animation:none; }
  .s-step.active .tick{ animation:none; }
}
