*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:#0B0D12}
body{
  min-height:100vh;min-height:100dvh;
  background:#0B0D12;color:#fff;
  font-family:Inter,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  display:flex;align-items:center;justify-content:center;
}
.page{width:100%;max-width:780px;margin:0 auto;padding:56px 18px 64px;display:flex;flex-direction:column;align-items:center;text-align:center}
.mark{display:block;width:120px;height:auto}
.headline{font-weight:700;font-size:72px;line-height:1.1;letter-spacing:-0.3px;color:#fff;margin:25px 0 0}
.subhead{font-weight:400;font-size:20px;line-height:1.5;color:#fff;margin:24px 0 24px;max-width:626px}
.signup{width:100%;max-width:600px}
.field-row{display:flex;gap:16px;align-items:stretch}
.field-row input{
  flex:1 1 0%;min-width:150px;width:100%;
  padding:12px;font:400 16px/1.5 Inter,Helvetica,Arial,sans-serif;
  color:#040E01;background:#fff;border:1px solid #d1d5db;border-radius:6px;
}
.field-row input::placeholder{color:#6b7280}
.field-row input:focus{outline:2px solid #FF5A7A;outline-offset:2px}
.field-row input[aria-invalid="true"]{border-color:#FF5A7A}
.btn{
  flex:1 1 0%;cursor:pointer;border:none;border-radius:6px;
  background:#FF5A7A;color:#0E0F00;padding:12px 20px;
  font:600 16px/1.5 Inter,Helvetica,Arial,sans-serif;
  transition:filter .15s ease,transform .15s ease;
}
.btn:hover{filter:brightness(1.07)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.btn:disabled{opacity:.75;cursor:progress}
.note{font-size:13px;line-height:1.5;color:#fff;margin:16px 0 0}
.status{font-size:15px;line-height:1.5;margin:12px 0 0;min-height:0}
.status:empty{display:none}
.status.ok{color:#fff;font-size:18px;font-weight:600}
.status.err{color:#FF8FA5}
.signup.done .field-row,.signup.done .note{display:none}
.signup.done .status{margin-top:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:640px){
  .page{padding:40px 18px 48px}
  .headline{font-size:48px}
  .subhead{font-size:18px}
  .field-row{flex-direction:column;gap:12px}
  .field-row input,.btn{flex:none;width:100%}
}
@media (max-width:360px){.headline{font-size:40px}}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
