.km-q__prog{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.km-q__track{flex:1;height:4px;background:#E8F0F0;border-radius:2px;overflow:hidden}
.km-q__bar{height:100%;background:#8FBFBB;border-radius:2px;transition:width .35s ease}
.km-q__count{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8a979c;white-space:nowrap}
.km-q__dom{font-size:clamp(20px,2.4vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0 0 8px}
.km-q__sub{font-size:15px;color:#5b6b72;margin:0 0 24px}
.km-q__opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.km-q__opt{text-align:left;background:#fff;border:1.5px solid #E8F0F0;border-radius:14px;padding:18px 20px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:500;color:#1E2B31;display:flex;align-items:center;gap:14px;transition:border-color .15s ease,background .15s ease}
.km-q__opt:hover{border-color:#8FBFBB}
.km-q__opt:focus-visible{outline:2px solid #8FBFBB;outline-offset:2px}
.km-q__box{width:22px;height:22px;border-radius:6px;border:1.5px solid #cfdcdc;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}
.km-q__opt[aria-pressed="true"]{border-color:#2F5A6B;background:#F4F9F9}
.km-q__opt[aria-pressed="true"] .km-q__box{background:#2F5A6B;border-color:#2F5A6B}
.km-q__opt[aria-pressed="true"] .km-q__box::after{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.km-q__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}
.km-q__ghost{background:none;border:none;font-family:inherit;font-size:15px;font-weight:600;color:#5b6b72;cursor:pointer;padding:8px 0}
.km-q__ghost:hover{color:#2F5A6B}
.km-q__res{animation:km-rise .5s ease both}
.km-q__titolo{font-size:clamp(22px,2.8vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:8px 0 0;text-wrap:balance}
.km-q__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.km-q__chip{font-size:13px;font-weight:600;padding:7px 14px;border-radius:100px}
.km-q__pill{display:inline-block;padding:8px 16px;border-radius:100px;font-size:14px;font-weight:600;color:#fff}
@media (max-width:749px){.km-q__opts{grid-template-columns:1fr}.km-q__opt{padding:16px}}