:root{
  --bg:#050505;--bg-2:#0b0a09;--line:#f4ede1;--text:#efe8dc;--dim:#8f877b;--faint:#2a2723;
  --hair:rgba(244,237,225,.14);--amber:#ffb054;--ember:#ff8a1f;--danger:#ff6b5b;
  --sans:"Montserrat",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --gutter:clamp(16px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.6;min-height:100svh;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
  background-image:radial-gradient(640px circle at 50% -10%,rgba(255,160,70,.09),transparent 60%)}
::selection{background:var(--amber);color:#000}
a{color:var(--amber)}
.wrap{max-width:640px;margin:0 auto;padding:48px var(--gutter) 80px}
.brand{display:flex;align-items:center;gap:12px;font-weight:400;font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--text);text-decoration:none}
.brand i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px 3px rgba(255,160,70,.6)}
h1{margin:56px 0 12px;font-weight:200;font-size:clamp(28px,6vw,44px);line-height:1.15;letter-spacing:.01em}
.lead{color:var(--dim);font-size:15px;margin-bottom:36px}
form{display:grid;gap:22px}
label{display:grid;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
textarea,input,select{width:100%;background:var(--bg-2);border:1px solid var(--hair);border-radius:12px;padding:14px 16px;
  color:var(--text);font:400 16px/1.5 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .2s}
textarea{min-height:120px;resize:vertical}
textarea:focus,input:focus,select:focus{outline:none;border-color:var(--amber)}
.count{justify-self:end;font-size:10px;letter-spacing:.1em}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){.row{grid-template-columns:1fr}}
.plans{display:grid;gap:10px}
.plan{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--hair);border-radius:12px;padding:14px 16px;cursor:pointer;
  font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:none;color:var(--text)}
.plan:has(input:checked){border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}
.plan input{width:auto;accent-color:var(--amber)}
.plan span:last-child{font-family:var(--mono);color:var(--dim);font-size:13px}
button{justify-self:start;display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:999px;padding:13px 26px;
  background:none;color:var(--text);font:400 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
button:hover:not(:disabled){background:var(--line);color:#000}
button:disabled{opacity:.5;cursor:progress}
button .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px 2px rgba(255,160,70,.7)}
.error{color:var(--danger);font-size:14px;min-height:1.6em}
.fine{color:var(--dim);font-size:12px}
#checkout{margin-top:8px;border-radius:14px;overflow:hidden}
.status{margin-top:28px;display:flex;gap:14px;align-items:flex-start;font-size:16px}
.pulse{flex:none;margin-top:8px;width:9px;height:9px;border-radius:50%;background:var(--amber);animation:pulse 1.6s ease-in-out infinite}
.done .pulse{animation:none;box-shadow:0 0 14px 3px rgba(255,160,70,.6)}
.fail .pulse{animation:none;background:var(--danger)}
@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}
[hidden]{display:none!important}
