.coming-body .whatsapp-float { display: none; }
.coming-page { background: #f8f9fa; }
.coming-stage { position: relative; min-height: calc(100vh - 84px); display: grid; place-items: center; padding: 70px 24px 86px; border-bottom: 1px solid #e1e5ea; overflow: hidden; }
.coming-stage::before { content: ""; position: absolute; top: 50%; left: 50%; width: min(72vw, 980px); height: min(72vw, 980px); border: 1px solid rgba(17,24,39,.055); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 110px rgba(17,24,39,.018), 0 0 0 220px rgba(211,47,47,.012); pointer-events: none; }
.coming-background { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(17,24,39,.085) 1px, transparent 1.1px); background-size: 26px 26px; mask-image: radial-gradient(circle at center, #000 0, transparent 60%); opacity: .65; pointer-events: none; }
.coming-background i { position: absolute; background: rgba(211,47,47,.34); }
.coming-background i:nth-child(1), .coming-background i:nth-child(2) { top: 50%; width: 64px; height: 1px; }
.coming-background i:nth-child(1) { left: calc(50% - 340px); }
.coming-background i:nth-child(2) { right: calc(50% - 340px); }
.coming-background i:nth-child(3), .coming-background i:nth-child(4) { left: 50%; width: 1px; height: 64px; }
.coming-background i:nth-child(3) { top: calc(50% - 340px); }
.coming-background i:nth-child(4) { bottom: calc(50% - 340px); }
.coming-center { position: relative; z-index: 1; width: min(100%, 780px); text-align: center; }
.coming-lock { position: relative; display: grid; width: 192px; height: 192px; margin: 0 auto 39px; place-items: center; border: 1px solid #dce1e7; border-radius: 50%; color: var(--red); background: rgba(255,255,255,.96); box-shadow: 0 26px 65px rgba(17,24,39,.1), inset 0 0 0 12px #fafafa; }
.coming-lock::after { content: ""; position: absolute; right: 25px; bottom: 26px; width: 12px; height: 12px; border: 4px solid #fff; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 1px rgba(22,163,74,.2); }
.coming-lock svg { position: relative; z-index: 2; width: 88px; height: 100px; overflow: visible; }
.coming-lock-shackle { stroke: #1f2937; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.coming-lock-body { fill: var(--red); stroke: #b91c1c; stroke-width: 2; }
.coming-lock-highlight { stroke: rgba(255,255,255,.28); stroke-width: 2; stroke-linecap: round; }
.coming-lock-key-dot { fill: #fff; }
.coming-lock-key-line { stroke: #fff; stroke-width: 6; stroke-linecap: round; }
.coming-lock-orbit { position: absolute; inset: -13px; border: 1px dashed rgba(211,47,47,.28); border-radius: 50%; animation: coming-orbit 18s linear infinite; }
.coming-lock-pulse { position: absolute; inset: 19px; border: 1px solid rgba(211,47,47,.14); border-radius: 50%; animation: coming-pulse 2.8s ease-in-out infinite; }
.coming-lock small { position: absolute; bottom: -29px; color: #9099a6; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.coming-status { display: inline-flex; min-height: 30px; padding: 0 12px; align-items: center; gap: 9px; border: 1px solid #dde2e8; border-radius: 999px; color: #667085; background: rgba(255,255,255,.78); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.coming-status i { width: 7px; height: 7px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 4px rgba(245,158,11,.13); animation: coming-status 2s ease-in-out infinite; }
.coming-center h1 { margin: 25px 0 0; color: #111827; font-size: clamp(66px, 8vw, 112px); line-height: .88; letter-spacing: -.075em; }
.coming-center h1 em { color: var(--red); font-style: normal; }
.coming-center > p { margin: 28px 0 0; color: #657080; font-size: 16px; }
.coming-home { position: relative; display: inline-flex; margin-top: 30px; padding: 10px 0; align-items: center; gap: 16px; color: #273243; font-size: 13px; font-weight: 780; text-decoration: none; }
.coming-home::after { content: ""; position: absolute; right: 0; bottom: 4px; left: 0; height: 1px; background: #aab2bd; transform-origin: right; transition: transform var(--motion-base) var(--motion-ease), background var(--motion-fast) ease; }
.coming-home span { transition: transform var(--motion-fast) var(--motion-ease); }
.coming-home:hover { color: var(--red); }
.coming-home:hover::after { background: var(--red); transform: scaleX(.55); }
.coming-home:hover span { transform: translateX(4px); }
@keyframes coming-orbit { to { transform: rotate(360deg); } }
@keyframes coming-pulse { 50% { opacity: .35; transform: scale(1.06); } }
@keyframes coming-status { 50% { opacity: .42; transform: scale(.8); } }
@media (max-width: 950px) {
  .coming-stage { min-height: calc(100vh - 78px - var(--mobile-dock-space)); padding-bottom: 94px; }
}
@media (max-width: 560px) {
  .coming-stage { min-height: calc(100svh - 78px - var(--mobile-dock-space)); padding: 54px 18px 72px; }
  .coming-stage::before { width: 480px; height: 480px; box-shadow: 0 0 0 70px rgba(17,24,39,.018); }
  .coming-background { background-size: 22px 22px; }
  .coming-background i { display: none; }
  .coming-lock { width: 154px; height: 154px; margin-bottom: 34px; }
  .coming-lock svg { width: 70px; height: 82px; }
  .coming-lock-orbit { inset: -10px; }
  .coming-lock-pulse { inset: 16px; }
  .coming-center h1 { margin-top: 22px; font-size: clamp(57px, 17vw, 77px); }
  .coming-center > p { margin-top: 23px; font-size: 14px; }
  .coming-home { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .coming-lock-orbit, .coming-lock-pulse, .coming-status i { animation: none; }
  .coming-home, .coming-home::after, .coming-home span { transition: none; }
}
