:root{--bg:#FBF7F1;--panel:#FFFFFF;--sand:#F4E8D8;--sand-soft:#F4EDE3;--ink:#2A2A2A;--deep:#2E2318;--muted:#6B6259;--accent:#CB7D43;--accent-soft:#D6996B;--accent-deep:#A96A28;--line:#E6DACB;--error:#B3261E;--ok:#4C7A5A;--radius:14px;--maxw:760px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:20px 16px 96px}.brandBar{border-bottom:1px solid var(--line);background:var(--panel);padding:16px}.brandInner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:12px}.brandMark{width:38px;height:38px;border-radius:10px;flex:0 0 auto;background:linear-gradient(140deg,var(--accent-soft),var(--accent));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}.brandName{font-weight:700;color:var(--deep);font-size:15px;line-height:1.25}.brandSub{font-size:12px;color:var(--muted)}h1.title{font-size:clamp(23px,5.4vw,30px);line-height:1.22;letter-spacing:-.01em;margin:22px 0 10px;color:var(--deep);font-weight:800}.intro{color:var(--muted);margin:0 0 18px;font-size:15.5px}.progressShell{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);padding:10px 0 12px}.progressTrack{height:6px;background:var(--sand);border-radius:999px;overflow:hidden}.progressFill{height:100%;background:var(--accent);border-radius:999px;transition:width .25s ease}.progressMeta{display:flex;justify-content:space-between;margin-top:7px;font-size:12.5px;color:var(--muted)}.progressMeta b{color:var(--deep)}.stepHead{margin:6px 0 18px}.stepKicker{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-deep)}.stepTitle{font-size:20px;font-weight:800;color:var(--deep);margin:4px 0 6px}.stepNote{font-size:14px;color:var(--muted)}.q{margin:0 0 26px}.qLabel{display:block;font-weight:700;color:var(--deep);font-size:15.5px;margin-bottom:4px}.qReq{color:var(--accent-deep);margin-left:3px}.qHint{color:var(--muted);margin:0 0 9px}.qErr,.qHint{font-size:13px}.qErr{color:var(--error);font-weight:600;margin-top:6px}input[type=date],input[type=email],input[type=number],input[type=tel],input[type=text],textarea{width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1.5px solid var(--line);border-radius:11px;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}textarea{min-height:96px;resize:vertical}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(203,125,67,.16)}input.bad,textarea.bad{border-color:var(--error)}.choices{display:flex;flex-wrap:wrap;gap:9px}.choices.col{flex-direction:column}.choice{display:flex;align-items:center;gap:10px;background:var(--panel);border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;cursor:pointer;font-size:15px;transition:border-color .15s,background .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.choice:hover{border-color:var(--accent-soft)}.choice.sel{border-color:var(--accent);background:#FFF8F0}.choice input{accent-color:var(--accent);width:17px;height:17px;flex:0 0 auto}.navBar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(251,247,241,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.navInner{max-width:var(--maxw);margin:0 auto;display:flex;gap:10px}.btn{font:inherit;font-weight:700;border-radius:12px;cursor:pointer;padding:14px 20px;border:1.5px solid transparent;transition:filter .15s,background .15s}.btnPrimary{background:var(--accent);color:#fff;flex:1 1}.btnPrimary:hover{filter:brightness(1.06)}.btnPrimary:disabled{opacity:.6;cursor:default}.btnGhost{background:transparent;color:var(--deep);border-color:var(--line)}.btnGhost:hover{background:var(--sand-soft)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.center{text-align:center}.tick{width:58px;height:58px;border-radius:50%;margin:0 auto 16px;background:var(--sand);color:var(--ok);display:grid;place-items:center;font-size:28px}.footNote{margin-top:26px;font-size:12.5px;color:var(--muted);text-align:center}.bad{border-color:var(--error)!important}