*{box-sizing:border-box}
:root{
  --bg:#080808;
  --card:#111214;
  --panel:#17191c;
  --line:#2a2d31;
  --text:#f6f7f8;
  --muted:#aeb4bc;
  --accent:#e30613;
  --accent-dark:#b9040e;
  --focus:#ff6670;
  --success:#34c86f;
  --radius:18px;
}
html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#202126 0,#090909 42%,#050505 100%)}
button,input,textarea,select{font:inherit}
.page-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:36px 0 28px}
.wizard-card{background:rgba(17,18,20,.97);border:1px solid #27292d;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden}
.brand-header{display:flex;align-items:center;gap:18px;padding:28px 32px;border-bottom:1px solid var(--line)}
.brand-mark{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#8f0008);font-weight:900;letter-spacing:-1px;box-shadow:0 10px 24px rgba(227,6,19,.25)}
.eyebrow,.step-kicker{margin:0 0 5px;color:#ff6872;font-size:.77rem;font-weight:800;letter-spacing:.18em}
h1,h2{font-family:Montserrat,Inter,system-ui,sans-serif;margin:0}
h1{font-size:clamp(1.35rem,3vw,2rem)}
h2{font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15}
.progress-wrap{padding:19px 32px;background:#0e0f11;border-bottom:1px solid var(--line)}
.progress-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:.88rem;color:var(--muted)}
#stepLabel{color:var(--text);font-weight:700}
.progress-track{height:7px;background:#25272b;border-radius:999px;overflow:hidden}
.progress-bar{height:100%;width:11.11%;background:linear-gradient(90deg,var(--accent),#ff5560);border-radius:inherit;transition:width .25s ease}
.step{display:none;padding:36px 32px}
.step.is-active{display:block}
.section-heading{margin-bottom:28px}
.section-heading>p:last-child,.welcome-panel p,.success-panel p{color:var(--muted);line-height:1.65}
.welcome-panel{text-align:center;padding:22px 0 16px}
.welcome-icon,.success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:rgba(227,6,19,.12);border:1px solid rgba(227,6,19,.36);color:#ff4e59;font-size:1.75rem;font-weight:900}
.privacy-note{max-width:680px;margin:18px auto 0;padding:15px 18px;background:#15171a;border:1px solid var(--line);border-radius:14px}
label,legend{font-weight:700}
label{display:block;margin-bottom:20px}
label>span,legend>span,.signature-heading span span{color:#ff6b75}
input,textarea,select{width:100%;margin-top:8px;padding:14px 15px;color:var(--text);background:#0d0e10;border:1px solid #35383e;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(255,102,112,.13)}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:#ff5964}
small,.field-help{display:block;margin-top:7px;color:var(--muted);font-size:.84rem;line-height:1.5}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
fieldset{border:0;padding:0;margin:0 0 24px}
legend{margin-bottom:11px}
.choice-row,.choice-grid,.choice-stack{display:flex;gap:10px;flex-wrap:wrap}
.choice-stack{flex-direction:column;align-items:stretch}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.choice{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid #34373c;border-radius:12px;background:#111316;font-weight:600;cursor:pointer}
.choice input{width:auto;margin:0;accent-color:var(--accent)}
.conditional{padding:18px;margin:0 0 22px;background:#15171a;border:1px solid var(--line);border-radius:14px}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
.actions-end{justify-content:flex-end}
.btn{border:0;border-radius:12px;padding:13px 22px;font-weight:800;cursor:pointer}
.btn-primary{color:white;background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 10px 24px rgba(227,6,19,.24)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-secondary{color:var(--text);background:#25282d;border:1px solid #373a40}
.terms-link{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:17px 18px;color:white;text-decoration:none;background:#181a1e;border:1px solid #35383e;border-radius:14px;font-weight:800}
.declarations{display:grid;gap:12px}
.declaration{display:flex;align-items:flex-start;gap:12px;margin:0;padding:15px;background:#121417;border:1px solid #30333a;border-radius:13px;font-weight:600;line-height:1.45}
.declaration input{width:auto;margin:3px 0 0;accent-color:var(--accent)}
.review-panel{display:grid;gap:14px;margin-bottom:24px}
.review-section{padding:17px;background:#15171a;border:1px solid var(--line);border-radius:14px}
.review-section h3{margin:0 0 10px;font-size:1rem}
.review-row{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:5px 0;color:var(--muted);line-height:1.4}
.review-row strong{color:var(--text);font-weight:650;word-break:break-word}
.signature-box{margin-top:22px}
.signature-heading{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:8px}
.text-button{border:0;background:none;color:#ff7079;font-weight:800;cursor:pointer}
#signatureCanvas{display:block;width:100%;height:190px;background:#fff;border:2px solid #3b3e44;border-radius:14px;touch-action:none}
.signature-box p{margin:7px 0 0;color:var(--muted);font-size:.84rem}
.form-error{margin-top:18px;padding:14px 16px;background:rgba(227,6,19,.13);border:1px solid rgba(255,92,103,.48);border-radius:12px;color:#ffd7da}
.success-panel{text-align:center;padding:22px 0}
.success-icon{background:rgba(52,200,111,.12);border-color:rgba(52,200,111,.38);color:var(--success)}
.reference-card{display:inline-flex;flex-direction:column;gap:5px;margin:18px 0;padding:15px 25px;background:#15171a;border:1px solid var(--line);border-radius:14px}
.reference-card span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.reference-card strong{font-size:1.2rem}
.welcome-links{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:22px}
.welcome-links a{color:white;text-decoration:none;padding:11px 15px;background:#202328;border:1px solid #373a40;border-radius:10px;font-weight:700}
.footer-note{text-align:center;color:#7d838c;font-size:.84rem;margin:18px 0 0}
[hidden]{display:none!important}

@media (max-width:650px){
  .page-shell{width:min(100% - 16px,920px);padding:8px 0 18px}
  .wizard-card{border-radius:18px}
  .brand-header,.progress-wrap,.step{padding-left:20px;padding-right:20px}
  .brand-header{padding-top:22px;padding-bottom:22px}
  .brand-mark{width:52px;height:52px;border-radius:14px}
  .grid.two,.choice-grid{grid-template-columns:1fr}
  .choice-row{flex-direction:column}
  .choice{width:100%}
  .review-row{grid-template-columns:1fr;gap:3px}
  .actions{position:sticky;bottom:0;margin-left:-20px;margin-right:-20px;margin-bottom:-36px;padding:14px 20px 18px;background:linear-gradient(180deg,rgba(17,18,20,.3),#111214 35%);z-index:4}
  .btn{min-height:48px}
}

.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
