*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{font-family:DM Sans,sans-serif}body{background:#fff;-webkit-font-smoothing:antialiased}.lf-form{display:flex;flex-direction:column;gap:10px;width:100%}.lf-input{width:100%;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;color:#333;background:#fff;border:1px solid #e0e0e0;border-radius:8px;outline:none;transition:border-color .15s ease}.lf-input::placeholder{color:#bbb}.lf-input:focus{border-color:#333}.lf-button{width:100%;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:#fff;background:#333;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,opacity .15s ease;letter-spacing:.01em;margin-top:2px}.lf-button:hover:not(:disabled){background:#111}.lf-button:disabled{opacity:.5;cursor:not-allowed}.lf-error{font-size:12px;color:#c0392b;text-align:center}.lf-success{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.lf-success-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f0f0f0;font-size:16px;color:#333}.lf-success p{font-size:13px;color:#888;line-height:1.5}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:0}.hero{display:flex;flex-direction:column;align-items:center;gap:8px}.icon{width:clamp(160px,22vw,260px);height:auto;margin-bottom:0;opacity:0;animation:fadeUp .6s .1s ease forwards}.wordmark{width:clamp(300px,40vw,520px);height:auto;opacity:0;animation:fadeUp .6s .25s ease forwards}.divider{width:32px;height:1px;background:#ddd;margin:1px 0;opacity:0;animation:fadeUp .6s .4s ease forwards}.status{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;color:#999;letter-spacing:.04em;opacity:0;animation:fadeUp .6s .55s ease forwards}.dot{width:10px;height:10px;border-radius:50%;background:#333;flex-shrink:0;animation:blink 2.5s ease infinite}.waitlist{margin-top:56px;display:flex;flex-direction:column;align-items:center;gap:20px;opacity:0;animation:fadeUp .6s .7s ease forwards;width:100%;max-width:400px}.waitlist-label{font-size:13px;color:#aaa;letter-spacing:.02em;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}
