:root{--terracotta:#ba5640;--cream:#faf2e5}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--terracotta);color:var(--cream);font-family:Avenir Next,Trebuchet MS,system-ui,sans-serif}.soon{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100%;padding:24px;display:flex;position:relative;overflow:hidden}.clouds{pointer-events:none;color:var(--cream);position:absolute;inset:0}.cloud{height:auto;animation:linear infinite drift;position:absolute;left:0}@keyframes drift{0%{transform:translate(110vw)}to{transform:translate(-30vw)}}.soon__logo-wrap{z-index:1;animation:.9s cubic-bezier(.34,1.56,.64,1) both pop-in;position:relative}.soon__logo{width:min(70vw,360px);height:auto;animation:3.2s ease-in-out infinite float;display:block}.soon__shadow{filter:blur(6px);background:#0000002e;border-radius:50%;width:40%;height:14px;margin:18px auto 0;animation:3.2s ease-in-out infinite shadow}.soon__code{z-index:1;letter-spacing:.08em;font-size:clamp(3rem,14vw,7rem);font-weight:800;line-height:1;animation:.6s cubic-bezier(.34,1.56,.64,1) .3s both letter-in;position:relative}.soon__subtitle{z-index:1;font-size:clamp(1.1rem,4vw,1.6rem);font-weight:600;animation:.6s cubic-bezier(.34,1.56,.64,1) .5s both letter-in;position:relative}.soon__link{z-index:1;background:var(--cream);color:var(--terracotta);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:12px 28px;font-weight:800;text-decoration:none;transition:transform .15s;animation:.6s cubic-bezier(.34,1.56,.64,1) .7s both letter-in;position:relative}.soon__link:hover,.soon__link:focus-visible{transform:scale(1.06)}.soon__title{z-index:1;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(2rem,7vw,4rem);font-weight:800;position:relative}.soon__title span{animation:.6s cubic-bezier(.34,1.56,.64,1) both letter-in;display:inline-block}.soon__dots{z-index:1;gap:10px;display:flex;position:relative}.soon__dots i{background:var(--cream);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite bounce}.soon__dots i:nth-child(2){animation-delay:.15s}.soon__dots i:nth-child(3){animation-delay:.3s}@keyframes pop-in{0%{opacity:0;transform:scale(.6)translateY(30px)}}@keyframes float{50%{transform:translateY(-14px)rotate(-1.5deg)}}@keyframes shadow{0%,to{transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}@keyframes letter-in{0%{opacity:0;transform:translateY(24px)}}@keyframes bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.soon *,.soon__logo-wrap{animation:none!important}}
