body.quiz-page{background:var(--sand);min-height:100vh;display:flex;flex-direction:column}
.q-header{background:#fff;border-bottom:1px solid var(--line)}
.q-header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.q-header .logo img{height:46px}
.q-header .header-phone{display:flex}
.q-main{flex:1;padding:36px 0 64px}
.q-shell{max-width:720px;margin:0 auto}
.q-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.9rem}
.q-back{background:none;border:0;font:inherit;font-weight:500;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 0}
.q-back svg{width:18px;height:18px}
.q-count{color:var(--muted);font-weight:500}
.q-bar{height:8px;background:#ece7dc;border-radius:99px;overflow:hidden;margin-bottom:22px}
.q-bar span{display:block;height:100%;background:var(--sun);border-radius:99px;transition:width .35s ease}
.q-card{background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);padding:44px 44px 40px;min-height:380px}
.q-title{font-size:clamp(1.5rem,3vw,2rem);text-align:center;margin-bottom:.35em;outline:0}
.q-sub{text-align:center;color:var(--muted);margin:0 auto 28px;max-width:32em}
.q-title+.opts,.q-title+.q-form{margin-top:28px}
.opts{display:grid;gap:12px}
.opts.cols-2{grid-template-columns:1fr 1fr}
.opts.cols-3{grid-template-columns:1fr 1fr 1fr}
.q-form{max-width:480px;margin:0 auto}
.pc-row{display:flex;gap:10px}
.pc-row .input{flex:1;text-transform:uppercase}
.pc-row .btn{padding:0 24px;width:auto}
.pc-ok{font-size:.92rem;margin:8px 0 0}
.pc-ok.good{color:var(--green);font-weight:500}
.pc-ok.warn{color:#8a5a00}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.q-next{width:100%;margin-top:8px}
.q-estimate{display:flex;gap:14px;align-items:center;background:var(--sun-soft);border-radius:14px;padding:16px 18px;max-width:480px;margin:0 auto 24px;font-size:.95rem;color:var(--ink);line-height:1.45}
.q-estimate .opt-ico{background:#fff;width:42px;height:42px}
.q-safe{display:flex;gap:8px;align-items:flex-start;justify-content:center;font-size:.85rem;color:var(--muted);margin:14px 0 0}
.q-safe svg{width:16px;height:16px;flex:none;margin-top:2px}
.q-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:26px;font-size:.88rem;color:var(--body);font-weight:500}
.q-trust span{display:flex;align-items:center;gap:6px}
.q-trust svg{width:18px;height:18px;color:var(--green)}
.q-logos{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 34px;margin-top:26px;align-items:center}
.q-logos img{height:40px;width:auto;filter:grayscale(1);opacity:.65}
.q-foot{text-align:center;font-size:.8rem;color:var(--muted);padding:18px 16px 24px}
.q-foot a{color:var(--muted)}
.q-step.in{animation:qin .3s ease both}
.q-step.in-back{animation:qback .3s ease both}
@keyframes qin{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes qback{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@media (max-width:720px){
  .q-main{padding:18px 0 40px}
  .q-card{padding:28px 18px 26px;border-radius:20px;min-height:0}
  .q-header .header-phone span{display:none}
  .opts.cols-3{grid-template-columns:1fr 1fr}
  .opt{min-height:60px;padding:14px 10px;font-size:.95rem}
  .opt.has-ico{min-height:112px;padding:18px 10px}
  .grid-2{grid-template-columns:1fr}
  .pc-row .btn{padding:0 18px}
}
@media (prefers-reduced-motion:reduce){.q-step.in,.q-step.in-back{animation:none}}
