.quiz{background:var(--ivory);min-height:100vh}
.qwrap{max-width:560px;margin:0 auto;padding:0 20px}
.qtop{background:var(--ww);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.qtop .qwrap{padding-top:10px;padding-bottom:12px}
.qlogo .logo{height:52px;width:auto;margin:0 auto}
.prog{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:10px}
.prog span{display:block;height:100%;width:16%;background:var(--copper);border-radius:99px;transition:width .3s ease}
.qcount{font-size:15px;color:var(--mut);text-align:center;margin-top:6px}
.qstep{padding:34px 0 10px}
.qstep h1{font-size:30px;text-wrap:balance;line-height:1.4;text-align:center;margin-bottom:26px}
.qsub{text-align:center;color:var(--ink2);margin:-14px 0 22px}
.opts{display:grid;gap:12px}
.opts button{font:inherit;font-size:19px;font-weight:500;color:var(--esp);text-align:left;background:#FFF;border:1.5px solid var(--line);
  border-radius:16px;padding:18px 20px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}
.opts button b{font-weight:600}
.opts button span{font-size:16px;color:var(--mut)}
.opts button:hover{border-color:var(--copper-l)}
.opts button.on{border-color:var(--copper);background:#FBEFE7;box-shadow:inset 0 0 0 1px var(--copper)}
.opts button:focus-visible{outline:3px solid var(--esp);outline-offset:2px}
.qback{text-align:center;padding:14px 0 40px}

form label{display:block;font-size:17px;font-weight:600;margin-bottom:14px}
form label small{font-weight:400;color:var(--mut);font-size:15px}
form input:not([type=checkbox]){display:block;width:100%;margin-top:6px;font:inherit;font-size:18px;padding:14px 16px;border:1.5px solid var(--line);
  border-radius:12px;background:#FFF;color:var(--esp)}
form input:focus{outline:none;border-color:var(--copper)}
.consent{display:flex !important;gap:12px;align-items:flex-start;font-weight:400 !important;font-size:15.5px !important;color:var(--ink2);margin-top:4px}
.consent input{width:22px;height:22px;flex:none;margin-top:3px;accent-color:var(--copper)}
.consent a{color:var(--copper-d)}
.err{color:#A3341C;font-size:16px;font-weight:600;margin:4px 0 10px}
form .btn{display:block;width:100%;margin-top:10px}

.result .rk{text-align:center;font-size:16px;font-weight:700;letter-spacing:.12em;color:var(--copper)}
.rcard{background:#FFF;border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:14px 0 20px}
.rcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rbody{padding:20px 22px 22px}
.rbody h1{text-align:left;font-size:28px;margin:2px 0 8px}
.rwhy{font-size:18px;color:var(--ink2);margin-bottom:6px}
.rbtn{display:block;width:100%;font-size:19px;padding:18px 20px}
.others{display:grid;gap:10px;margin:8px 0 6px}
.ocard{display:flex;gap:14px;align-items:center;background:#FFF;border:1px solid var(--line);border-radius:16px;padding:10px}
.ocard img{width:76px;height:76px;object-fit:cover;border-radius:12px;flex:none}
.oname{font-size:18px;font-weight:600}
.oprice{font-size:16px;color:var(--copper-d)}
.ocard .plabel{font-size:13px}
.callback{text-align:center;font-size:16px;color:var(--ink2);margin-top:18px}
.link.small{font-size:15px;color:var(--mut)}
.result .center+.center{margin-top:6px}
