:root{--primary:#6c369c;--primary-hover:#552878;--primary-fg:#f5f0fa;--primary-soft:#f5f0fa;--secondary:#ffbc1f;--bg:#fff;--bg-muted:#f5f5f5;--bg-subtle:#fafafa;--fg:#262626;--fg-strong:#171717;--fg-muted:#737373;--fg-subtle:#a3a3a3;--border:#e5e5e5;--border-strong:#d4d4d4;--ring:#6c369c2e;--ring-error:#fca5a5;--destructive:#dc2626;--destructive-soft:#fef2f2;--red-500:#ef4444;--success:#16a34a;--success-soft:#f0fdf4;--warning:#ea580c;--warning-soft:#fff7ed}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--fg);background:var(--bg-muted);-webkit-font-smoothing:antialiased;padding:8px;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;line-height:1.5}.mono{font-family:IBM Plex Mono,monospace}.hidden{display:none!important}.wrap{flex-direction:column;gap:8px;max-width:560px;margin:0 auto;display:flex}.brandbar{background:var(--bg);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;display:flex}.brandbar img{width:auto;height:26px;display:block}.op{letter-spacing:.4px;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:9999px;margin-left:auto;padding:5px 10px;font-size:11px;font-weight:600}.hero{color:#fff;background:linear-gradient(135deg,#6c369c 0%,#552878 100%);border-radius:8px;padding:26px 22px 24px}.kicker{letter-spacing:1.4px;text-transform:uppercase;color:#e6d6f5;align-items:center;gap:7px;margin:0 0 10px;font-size:11.5px;font-weight:600;display:flex}.hero h1{letter-spacing:-1px;text-wrap:balance;margin:0 0 8px;font-size:27px;font-weight:700;line-height:1.12}.hero p{color:#efe6f8;max-width:46ch;margin:0 0 16px;font-size:15px}.pills{flex-wrap:wrap;gap:6px;display:flex}.pills span{background:#ffffff21;border:1px solid #ffffff2e;border-radius:9999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.card{background:var(--bg);border-radius:8px;padding:20px 18px}.section-title{letter-spacing:.5px;text-transform:uppercase;color:var(--primary);align-items:center;gap:7px;margin:0 0 2px;font-size:12px;font-weight:600;display:flex}.section-sub{color:var(--fg-muted);margin:0 0 14px;font-size:12.5px}.divider{background:var(--border);height:1px;margin:14px 0}.field{flex-direction:column;gap:7px;margin-bottom:15px;display:flex}.field:last-child{margin-bottom:0}.field-label{color:var(--fg-strong);font-size:14px;font-weight:500}.field-label .req{color:var(--destructive);margin-left:1px}.field-hint{color:var(--fg-muted);margin-top:-2px;font-size:12.5px}.input-wrap{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;width:100%;min-height:50px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.input-wrap.invalid{border-color:var(--red-500)}.input-wrap.invalid:focus-within{box-shadow:0 0 0 3px var(--ring-error)}.input{width:100%;color:var(--fg);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:12px 0;font-family:inherit;font-size:16px}.input::placeholder{color:var(--fg-subtle)}.addon{color:var(--fg-muted);white-space:nowrap;font-size:14px}.addon-sep{background:var(--border);width:1px;height:20px}.ci-select{color:var(--primary);cursor:pointer;background:0 0;border:0;outline:none;padding:0;font-family:inherit;font-size:16px;font-weight:600}.select-wrap{width:100%;position:relative}.select-wrap select{appearance:none;background:var(--bg);border:1px solid var(--border);width:100%;min-height:50px;color:var(--fg);cursor:pointer;border-radius:8px;outline:none;padding:0 40px 0 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.select-wrap select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.select-wrap.invalid select{border-color:var(--red-500)}.select-wrap select.placeholder{color:var(--fg-subtle)}.select-wrap .chev{width:18px;height:18px;color:var(--fg-muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}textarea.input{resize:vertical;min-height:84px;padding:12px 0;line-height:1.5}.ta-wrap{align-items:flex-start}.field-error{color:var(--destructive);align-items:center;gap:5px;margin-top:-1px;font-size:12.5px;display:none}.field.show-error .field-error{display:flex}.btn{cursor:pointer;background:var(--primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:0 20px;font-family:inherit;font-size:16px;font-weight:600;line-height:1;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--primary);background:0 0;min-height:46px;font-size:15px}.btn-ghost:hover{background:var(--primary-soft)}.spinner{border:2px solid #ffffff8c;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.consent{color:var(--fg-muted);text-align:center;margin:12px 4px 2px;font-size:12px;line-height:1.45}.footer{text-align:center;color:var(--fg-subtle);padding:6px 0 10px;font-size:11.5px}.formbanner{background:var(--warning-soft);border-left:3px solid var(--warning);color:#7c3a12;border-radius:0 6px 6px 0;align-items:flex-start;gap:10px;margin-bottom:18px;padding:11px 13px;font-size:12.5px;display:flex}.success{text-align:center;padding:34px 22px 30px}.success .badge{background:var(--success-soft);width:74px;height:74px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.success h2{color:var(--fg-strong);letter-spacing:-.5px;margin:0 0 8px;font-size:23px;font-weight:700}.success p{color:var(--fg-muted);max-width:40ch;margin:0 auto 18px;font-size:15px}.idchip{background:var(--primary-soft);color:var(--primary);border-radius:9999px;align-items:center;gap:8px;margin-bottom:22px;padding:9px 16px;font-size:15px;font-weight:600;display:inline-flex}@media (width<=420px){.hero h1{font-size:24px}.card{padding:18px 15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}
