.form-wrapper{width:100%;max-width:768px;padding:0;position:-webkit-sticky;position:sticky;top:80px}.form-progress{align-items:flex-start;gap:0;margin-bottom:2.5rem;display:flex;position:relative}.form-progress:before{content:"";background:var(--border);z-index:0;height:1px;position:absolute;top:12px;left:12px;right:12px}.form-step-dot{z-index:1;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.form-step-num{background:var(--bg-alt);border:1px solid var(--border);width:24px;height:24px;color:var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.form-step-dot.active .form-step-num{background:var(--ink);border-color:var(--ink);color:var(--white)}.form-step-dot.done .form-step-num{background:var(--accent);border-color:var(--accent);color:var(--white)}.form-step-label{color:var(--ink-faint);text-align:center;white-space:nowrap;font-size:11px}.form-step-dot.active .form-step-label{color:var(--ink);font-weight:500}.form-step-dot.done .form-step-label{color:var(--accent)}.form-step-header{margin-bottom:1.5rem}.form-step-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.3px;font-size:24px}.form-body{flex-direction:column;gap:1.5rem;display:flex}.form-field{flex-direction:column;gap:2px;display:flex}.form-label{color:var(--ink);font-size:13px;font-weight:500}.form-hint{color:var(--ink-light);margin:0;font-size:13px}.form-error{color:#c0392b;margin:0;font-size:12px}.form-input{border:1px solid var(--border);font-family:var(--font-body);color:var(--ink);background:var(--white);border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:80px}.form-select{border:1px solid var(--border);font-family:var(--font-body);color:var(--ink);background:var(--white);appearance:none;border-radius:7px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-select:focus{border-color:var(--accent)}.form-radio-group{flex-direction:column;gap:8px;display:flex}.form-radio{border:1px solid var(--border);cursor:pointer;background:var(--white);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.form-radio:hover{border-color:var(--ink-faint)}.form-radio.selected{border-color:var(--accent);background:var(--accent-light)}.form-radio input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.form-radio-label{color:var(--ink);font-size:14px;font-weight:500;display:block}.form-radio-sub{color:var(--ink-light);margin-top:2px;font-size:12px;display:block}.form-checkboxes{flex-direction:column;gap:8px;display:flex}.form-checkbox{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.form-checkbox:hover{border-color:var(--ink-faint)}.form-checkbox.selected{border-color:var(--accent);background:var(--accent-light)}.form-checkbox input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.form-checkbox-label{color:var(--ink);font-size:14px;font-weight:500;display:block}.form-checkbox-hint{color:var(--ink-light);margin-top:2px;font-size:12px;display:block}.form-callout{border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6}.form-callout p{line-height:1.5}.form-callout p+p{margin-top:.75rem}.form-callout strong{font-weight:500}.form-callout--warn{color:#7a5c00;background:#fef9ec;border:1px solid #f0d070}.form-callout--warn strong{color:#5a4000}.form-callout--error{color:#8b2010;background:#fef0ee;border:1px solid #f0a090}.form-callout--info{background:var(--info-light);color:var(--info);border:1px solid #1e6b4533}.form-callout--info strong{color:var(--info)}.form-summary{background:var(--ink);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.form-summary-title{letter-spacing:.05em;text-transform:uppercase;color:#fff6;border-bottom:1px solid #ffffff1a;margin-bottom:1rem;padding-bottom:.75rem;font-size:12px;font-weight:500}.form-summary-row>span:last-child{text-align:right}.form-summary-row{color:#ffffffb3;justify-content:space-between;padding:5px 0;font-size:13px;display:flex}.form-summary-row.discount span:last-child{color:#6ee8a2}.form-summary-text{color:var(--ink-faint);font-size:12px}.form-summary-total{border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.form-summary-total span:first-child{color:var(--white);font-size:18px;font-weight:500}.form-summary-total span:last-child{color:var(--white);letter-spacing:-.5px;font-size:20px;font-weight:600}.form-nav{justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.form-btn-back{color:var(--ink-light);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;padding:0;font-size:14px;transition:color .15s}.form-btn-back:hover{color:var(--ink)}.form-btn-next,.form-btn-submit{background:var(--ink);color:var(--white);cursor:pointer;font-family:var(--font-body);border:none;border-radius:7px;margin-left:auto;padding:13px 28px;font-size:15px;font-weight:500;transition:background .15s}.form-btn-next:hover,.form-btn-submit:hover{background:#2a2a28}.form-btn-submit{background:var(--accent)}.form-btn-submit:hover{background:var(--accent-hover)}.form-btn-submit:disabled,.form-btn-next:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.form-step-label{display:none}.form-progress:before{left:10px;right:10px}.form-wrapper{max-width:none;position:static}}
