*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#202020,#373737);color:#222}
.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.card{width:100%;max-width:540px;background:#fff;border-radius:20px;padding:34px;box-shadow:0 24px 70px #0007}
.brand{border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:22px}
.brand-name{font-size:clamp(20px,5vw,27px);font-weight:900;letter-spacing:1.2px;line-height:1.1;color:#252525}
.brand-sub{font-size:10px;font-weight:800;letter-spacing:2px;margin-top:7px;color:#927500}
.progress{height:5px;background:#eee;border-radius:20px;margin:12px 0 28px;overflow:hidden}
.bar{height:100%;background:#d9ad00;border-radius:20px;transition:width .2s}
.h1{font-size:31px;line-height:1.12;margin:0 0 12px}
.sub{color:#666;line-height:1.55;margin-bottom:26px}
.field{margin:18px 0}
.field label{display:block;font-weight:700;margin-bottom:8px}
.field input{width:100%;padding:14px;border:1px solid #d6d6d6;border-radius:10px;font-size:16px;outline:none;background:#fff}
.field input:focus{border-color:#d9ad00;box-shadow:0 0 0 3px #d9ad0022}
.choices{display:grid;grid-template-columns:1fr;gap:10px}
.choice{width:100%;text-align:left;background:#fff;border:1px solid #ddd;padding:15px;border-radius:10px;cursor:pointer;font-size:15px;color:#222}
.choice:hover{border-color:#d9ad00}
.choice.selected{border:2px solid #d9ad00;background:#fff9dc}
.actions{display:flex;gap:10px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:15px 20px;font-weight:800;font-size:16px;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.6;cursor:wait}
.primary{background:#d9ad00;color:#181818;flex:1}
.secondary{background:#eee;color:#222}
.error{color:#b00020;font-size:14px;line-height:1.45;margin-top:10px}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#666;line-height:1.45;margin:18px 0}
.consent input{margin-top:2px;flex-shrink:0}
.result{text-align:center}
.amount{font-size:clamp(32px,8vw,46px);font-weight:900;margin:12px 0 18px;overflow-wrap:anywhere}
.note{font-size:13px;color:#777;line-height:1.5}
.success{background:#f7f7f7;padding:16px;border-radius:10px;margin-top:18px;font-size:14px;line-height:1.45}
.footer{text-align:center;color:#999;font-size:11px;margin-top:26px;letter-spacing:.3px}
@media(max-width:520px){.app{padding:14px}.card{padding:24px 20px;border-radius:16px}.h1{font-size:28px}.actions{flex-direction:column}.btn{width:100%}.brand-name{letter-spacing:.6px}}
