*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:#000;color:#ece8f2;font:16px/1.5 'DM Sans',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
.soon{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;padding:56px clamp(24px,6vw,88px)}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.o1{width:760px;height:760px;left:-200px;top:-260px;background:radial-gradient(circle,#b8458f,rgba(184,69,143,0) 68%);opacity:.5;animation:drift 16s ease-in-out infinite}
.o2{width:900px;height:900px;right:-300px;bottom:-420px;background:radial-gradient(circle,#7a4bc4,rgba(122,75,196,0) 68%);opacity:.5;animation:drift 20s ease-in-out infinite reverse}
.grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,-40px) scale(1.18)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
header,.hero,footer{position:relative}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#bdb5cc}
.live{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#d49be6}
.live i{width:8px;height:8px;border-radius:50%;background:#d0508f;animation:pulse 1.6s infinite}
.hero{flex:1;display:flex;flex-direction:column;justify-content:center;gap:26px;padding:40px 0}
.eyebrow{font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:#d49be6}
h1{margin:0;font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(60px,11vw,150px);line-height:.93;letter-spacing:-.025em}
.rule{width:110px;height:5px;background:linear-gradient(90deg,#b8458f,#7a4bc4)}
.hero p{margin:0;font-size:clamp(16px,1.6vw,21px);color:#bdb5cc;max-width:560px}
.count{display:flex;gap:clamp(8px,1.4vw,18px)}
.count div{width:clamp(70px,9.2vw,132px);padding:clamp(12px,1.6vw,22px) 0;text-align:center;background:rgba(13,11,16,.75);border:1px solid #2d2538;border-radius:16px}
.count b{display:block;font-family:'Playfair Display',serif;font-size:clamp(30px,4.4vw,64px);font-weight:700;line-height:1.1}
.count span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8e869b}
.notify{display:flex;gap:10px;max-width:520px}
.notify input{flex:1;min-width:0;background:rgba(21,17,27,.9);border:1px solid #2d2538;color:#ece8f2;border-radius:10px;padding:15px 16px;font:inherit;font-size:15px}
.notify input:focus{outline:0;border-color:#7a4bc4}
.notify button{border:0;color:#fff;font:inherit;font-weight:700;font-size:16px;padding:15px 36px 15px 26px;cursor:pointer;background:linear-gradient(90deg,#b8458f,#7a4bc4);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);border-radius:8px 0 0 8px}
.notify button:hover{filter:brightness(1.12)}
.notify button:after{content:" \27A1"}
.err,.ok{max-width:520px;padding:12px 16px;border-radius:10px}
.err{background:#2a1013;border:1px solid #c4564f;color:#f0b8b4}
.ok{background:#0f2218;border:1px solid #3f9a6b;color:#9fd9b9}
footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #26202e;padding-top:20px;font-size:14px;color:#8e869b}
.links{display:flex;gap:28px}
.links a:hover,footer a:hover{color:#fff}
@media(max-width:640px){.soon{padding:28px 24px}.notify{flex-direction:column}.notify button{align-self:flex-start}footer{flex-direction:column;align-items:flex-start}}
.bgimg,.shade{position:absolute;inset:0;pointer-events:none}
.bgimg{background-size:cover;background-position:center}
.shade{background:#000}
.has-bg .count div,.has-bg .notify input{backdrop-filter:blur(8px)}
