.q-wrap{max-width:860px;margin:auto;padding:30px 40px 70px}
.q-wrap h1{font-size:clamp(38px,5vw,58px)}.q-wrap h1 em{font-style:normal;color:var(--cyan)}
.q-step{border-top:1px solid var(--line);padding:34px 0}
.q-step h2{font-size:26px;letter-spacing:-.6px;display:flex;gap:14px;align-items:center}
.q-step h2 span{background:var(--navy);color:#fff;width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:15px;letter-spacing:0}
.q-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.q-cats label{border:1px solid var(--line);border-radius:6px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:4px;background:#fff}
.q-cats input{position:absolute;opacity:0}.q-cats small{color:#637487}
.q-cats label:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy);background:var(--paper)}
.q-cats label:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:3px}
.q-hint{color:#637487;font-size:14px}
.slot{display:grid;grid-template-columns:1fr 150px;gap:20px;border:1px solid var(--line);border-radius:6px;padding:20px;margin-bottom:14px;background:#fff}
.slot h3{margin:0 0 6px;font-size:18px;letter-spacing:-.3px}.slot .req{font-size:11px;font-weight:800;color:#b3261e;letter-spacing:1px;margin-left:8px}
.slot p{margin:0 0 8px;font-size:14px;line-height:1.55;color:#4a5d72}.slot .tip{background:#eef8fb;border-left:3px solid var(--cyan);padding:9px 12px;font-size:13px}
.shot{border:2px dashed var(--line);border-radius:6px;display:grid;place-items:center;text-align:center;min-height:130px;cursor:pointer;font-size:13px;font-weight:700;color:var(--navy);position:relative;overflow:hidden;background:var(--paper)}
.shot input{position:absolute;inset:0;opacity:0;cursor:pointer}.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot.done{border-style:solid;border-color:#2e7d32}
.q-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;margin-bottom:14px}
.q-field small{font-weight:400;color:#637487}
.q-field input,.q-field textarea{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:5px;padding:12px}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.q-consent{display:flex;gap:10px;font-size:13px;color:#4a5d72;margin:8px 0 22px;line-height:1.5}
.hp{position:absolute;left:-9999px}
.q-err{color:#b3261e;font-weight:700}
.q-result{border:1px solid var(--line);border-radius:8px;padding:30px;background:var(--paper);margin-top:20px}
.q-result h2{font-size:30px}.opt{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;margin:10px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}
.opt strong{font-size:26px;color:var(--navy)}.q-result ul{line-height:1.7}
button[disabled]{opacity:.6;cursor:wait}
@media(max-width:650px){.q-wrap{padding:24px 22px 50px}.q-cats{grid-template-columns:1fr 1fr}.slot{grid-template-columns:1fr}.q-grid{grid-template-columns:1fr}}
