.soon { grid-template-rows: 1fr auto; }
.soon-main { position: relative; z-index: 1; display: grid; place-items: center; text-align: center; padding: calc(var(--nav-h) + 4vh) 20px 20px; }
.soon-kicker { font-family: var(--display); font-size: clamp(13px, 1.1vw, 16px); letter-spacing: 0.4em; color: var(--gold); text-shadow: 0 2px 10px rgba(0,0,0,0.8); }
.soon-title { font-family: var(--title); color: #fff; line-height: 0.86; letter-spacing: 0.02em; font-size: clamp(56px, 9vw, 150px); text-shadow: 0 6px 30px rgba(0,0,0,0.8); margin: 14px 0 18px; }
.soon-title .num { color: var(--red); }
.soon-big { display: inline-block; font-family: var(--title); font-size: clamp(34px, 4.2vw, 64px); letter-spacing: 0.14em; color: var(--paper); padding: 10px 28px; border-top: 2px solid var(--red); border-bottom: 2px solid var(--red); text-shadow: 0 2px 10px rgba(0,0,0,0.8); margin-bottom: 26px; }
.soon-copy { max-width: 640px; font-size: clamp(16px, 1.2vw, 19px); text-shadow: 0 2px 10px rgba(0,0,0,0.9); margin: 0 auto 28px; }
.soon-foot { position: relative; z-index: 1; display: flex; justify-content: center; padding: 0 20px 36px; }
.soon-foot p { font-family: var(--ui); font-size: 12px; letter-spacing: 0.08em; color: var(--muted); text-align: center; max-width: 760px; margin: 0; }
.brand-mark { width: 44px; height: 44px; border-radius: 50%; box-shadow: 0 2px 10px rgba(0,0,0,0.6); }
.soon-logo { width: clamp(150px, 18vw, 240px); height: auto; margin: 0 auto 10px; filter: drop-shadow(0 12px 30px rgba(0,0,0,0.75)); animation: logoIn 1.2s ease both; }
@keyframes logoIn { from { opacity: 0; transform: scale(0.92) translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px) { .soon .hero-title, .soon .hero-center { display: none; } }
