
:root{--bg:#fdf6f2;--card:#fff;--pri:#d24a0c;--pri2:#a8390a;--txt:#2b2420;--mut:#7a6d66;--bd:#ead9cf;--err:#c0262d;--ok:#1f8a4c}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--txt)}
.wrap{max-width:760px;margin:0 auto;padding:24px 16px 60px}
header.top{background:linear-gradient(135deg,#2b2420,#5a3a28);color:#fff;padding:28px 20px;border-radius:14px;margin-bottom:18px}
header.top h1{margin:0;font-size:26px}
header.top h1 i{font-weight:700}
header.top p{margin:8px 0 0;opacity:.85;font-size:14px}
.steps{display:flex;gap:6px;margin-bottom:16px}
.steps div{flex:1;height:6px;border-radius:4px;background:var(--bd)}
.steps div.on{background:var(--pri)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:24px}
h2{color:var(--pri);margin:0 0 18px;font-weight:600}
.f{margin-bottom:18px}
.f label.q{display:block;font-weight:600;margin-bottom:6px;font-size:15px}
.f label.q b{color:var(--err)}
.hint{font-size:12.5px;color:var(--mut);margin:-2px 0 8px;white-space:pre-line}
input[type=text],input[type=email],input[type=number],input[type=date],input[type=tel],select,textarea{width:100%;padding:11px 12px;border:1px solid var(--bd);border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pri);border-color:transparent}
textarea{min-height:110px;resize:vertical}
.opt{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer}
.opt input{accent-color:var(--pri);width:17px;height:17px}
.err{color:var(--err);font-size:13px;margin-top:4px}
.nav{display:flex;gap:10px;margin-top:10px}
button{font:inherit;padding:11px 22px;border-radius:8px;border:1px solid var(--bd);background:#fff;cursor:pointer;font-weight:600}
button.p{background:var(--pri);color:#fff;border-color:var(--pri)}
button.p:hover{background:var(--pri2)}
button:disabled{opacity:.6}
.hide{display:none}
.done{text-align:center;padding:40px 10px}
.done h2{color:var(--ok)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

@media(max-width:600px){
    .wrap{padding:16px 12px 36px}
    header.top{padding:22px 16px}
    header.top h1{font-size:22px}
    .card{padding:18px 16px}
    .row{grid-template-columns:1fr;row-gap:18px;margin-bottom:18px}
    .row>.f{margin-bottom:0}
    .f{margin-bottom:20px}
    .f label.q{line-height:1.5}
    .hint{line-height:1.6;margin-top:4px;margin-bottom:10px}
    input[type=text],input[type=email],input[type=number],input[type=date],input[type=tel],select,textarea{min-height:44px}
    textarea{min-height:110px}
    .nav button{flex:1}
}
