*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}h1,h2,h3,p{margin:0}@keyframes splash-bg-out{to{opacity:0}}@keyframes logo-fly-in{0%{transform:translate(var(--invert-tx, 0px),var(--invert-ty, 0px)) scale(var(--invert-scale, 1))}to{transform:none}}@keyframes logo-appear{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes content-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dot-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(2)}}.page{height:100svh;overflow:hidden;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;justify-items:center;padding:48px 32px;background:url(/white-ripple.jpg) center / cover no-repeat}header{align-self:end;text-align:center;padding-bottom:64px}.logo{width:clamp(140px,18vw,200px);height:clamp(140px,18vw,200px);display:block}main{width:100%;max-width:520px}.content-hidden{opacity:0}.content-reveal{animation:content-fade-in .45s cubic-bezier(.4,0,.2,1) .2s both}.splash-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:url(/white-ripple.jpg) center / cover no-repeat;z-index:10;pointer-events:none}.splash-bg-out{animation:splash-bg-out .7s ease forwards}.splash-logo-wrap-out{animation:splash-bg-out .1s ease forwards}.splash-logo-wrap{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;pointer-events:none}.splash-logo{width:160px;height:160px;display:block;animation:logo-appear .4s cubic-bezier(.4,0,.2,1) both}.progress-wrap{display:flex;flex-direction:column;gap:28px}.progress-track{position:relative;height:3px;background:#e8e0d8;margin:10px 0}.progress-fill{position:absolute;top:0;left:0;height:1px;background:#d4a0b0;transition:width 1s cubic-bezier(.4,0,.2,1)}.dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#e8e0d8;transition:background .5s}.dot.reached{background:#d4a0b0}.dot.current{width:10px;height:10px;background:#111;animation:dot-pulse 3s ease-in-out infinite}.status-label{font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#888;margin:0;text-align:center}footer{align-self:end;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.1em;color:#bbb;padding-top:48px}
