/* survey.css: layout for ScalePoint Research survey pages. Builds on the tokens in /site.css. */
body.sv{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
.sv *{box-sizing:border-box}
.sv-top{border-bottom:1px solid var(--rule-soft);background:var(--paper)}
.sv-top-in{max-width:760px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px}
.sv-brand .mark{width:26px;height:26px}
.sv-step{font-family:var(--mono);font-size:12px;color:var(--dimmer)}
.sv-bar{height:3px;background:var(--rule-soft)}
.sv-bar i{display:block;height:100%;width:0;background:var(--teal);transition:width .3s}
.sv-main{max-width:760px;margin:0 auto;padding:36px 20px 64px}
.sv-k{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--dimmer);margin:0 0 10px}
.sv h1{font-size:30px;font-weight:500;letter-spacing:-.015em;line-height:1.2;margin:0 0 18px}
.sv h2{font-size:22px;font-weight:500;letter-spacing:-.01em;margin:0 0 24px}
.sv-p{font-size:16.5px;line-height:1.6;color:var(--body);margin:0 0 14px;max-width:62ch}
.sv-q{background:var(--card);border:1px solid var(--rule-soft);border-radius:12px;padding:20px 22px;margin:0 0 16px}
.sv-q fieldset{border:0;margin:0;padding:0;min-width:0}
.sv-qt{font-size:16.5px;font-weight:500;line-height:1.4;margin:0 0 4px;padding:0}
.sv-hint{font-size:14px;color:var(--dim);margin:0 0 4px}
.sv-opts{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.sv-opt{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border:1px solid var(--rule);border-radius:9px;cursor:pointer;font-size:15px;line-height:1.4;background:#fff;transition:border-color .15s,background .15s}
.sv-opt:hover{border-color:var(--navy)}
.sv-opt input{margin:2px 0 0;accent-color:var(--teal);width:17px;height:17px;flex:none}
.sv-opt.on{border-color:var(--teal);background:var(--tealtint,#e6f6f4)}
.sv-opt.off{opacity:.45;cursor:not-allowed}
.sv-grp{font-family:var(--mono);font-size:12px;color:var(--dimmer);margin:14px 0 2px}
.sv-more{background:none;border:0;padding:6px 0;margin-top:6px;color:var(--navy);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}
.sv-scale{display:flex;gap:8px;margin-top:12px}
.sv-scale label{flex:1;text-align:center;padding:12px 0;border:1px solid var(--rule);border-radius:9px;cursor:pointer;font-size:16px;background:#fff}
.sv-scale label.on{border-color:var(--teal);background:var(--tealtint,#e6f6f4);font-weight:500}
.sv-scale input{position:absolute;opacity:0;pointer-events:none}
.sv-scale label:focus-within{outline:2px solid var(--teal);outline-offset:2px}
.sv-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--dim);margin-top:6px}
.sv-rank{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.sv-rank li{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 13px;border:1px solid var(--rule);border-radius:9px;background:#fff;font-size:15px;line-height:1.35}
.sv-rank .n{font-family:var(--mono);font-size:13px;color:var(--teal);width:16px;flex:none}
.sv-rank .t{flex:1}
.sv-rank button{width:34px;height:34px;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--navy);font-size:16px;cursor:pointer;flex:none}
.sv-rank button:disabled{opacity:.3;cursor:default}
.sv-cur{display:flex;gap:8px;margin-top:12px}
.sv-cur label{padding:7px 14px;border:1px solid var(--rule);border-radius:999px;cursor:pointer;font-size:14px;background:#fff}
.sv-cur label.on{border-color:var(--teal);background:var(--tealtint,#e6f6f4);font-weight:500}
.sv-cur input{position:absolute;opacity:0;pointer-events:none}
.sv-cur label:focus-within{outline:2px solid var(--teal);outline-offset:2px}
.sv textarea,.sv input[type=email]{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--rule);border-radius:9px;background:#fff;color:var(--ink);margin-top:12px}
.sv textarea{min-height:110px;resize:vertical}
.sv-lab{display:block;font-size:14px;color:var(--dim);margin-top:14px}
.sv-lab+input{margin-top:6px}
.sv-small{font-size:13px;color:var(--dim);margin:10px 0 0}
.sv-err{color:#b3261e;font-size:14px;margin:10px 0 0;display:none}
.sv-q.bad{border-color:#b3261e}
.sv-q.bad .sv-err{display:block}
.sv-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.sv-btn{font:inherit;font-size:15px;font-weight:500;padding:12px 22px;border-radius:999px;border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer}
.sv-btn:hover{background:var(--navy);border-color:var(--navy)}
.sv-btn[disabled]{opacity:.6;cursor:wait}
.sv-back{font:inherit;font-size:15px;padding:12px 4px;border:0;background:none;color:var(--navy);cursor:pointer}
.sv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-foot{max-width:760px;margin:0 auto;padding:18px 20px 34px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:10.5px;color:var(--dimmer);display:flex;gap:8px 18px;flex-wrap:wrap}
.sv-foot a{color:inherit}
@media (max-width:640px){
 .sv-main{padding:26px 16px 48px}.sv-top-in{padding:14px 16px}
 .sv h1{font-size:25px}.sv h2{font-size:20px}
 .sv-q{padding:16px}
 .sv-scale{gap:6px}
}
.sv-num{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--teal);margin-right:8px;vertical-align:1px}
.sv-sub{font-size:17px;margin:26px 0 12px}
.sv-secs{margin:0;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:8px;max-width:62ch}
.sv-secs li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;column-gap:6px;padding:12px 14px;background:var(--card);border:1px solid var(--rule-soft);border-radius:10px;font-size:15px;line-height:1.45}
.sv-secs li::before{content:counter(s);grid-row:span 2;font-family:var(--mono);font-size:13px;color:var(--teal);padding-top:1px}
.sv-secs strong{font-weight:500;color:var(--ink)}
.sv-secs span{color:var(--body)}
.sv-again-row{margin-top:28px;padding-top:16px;border-top:1px solid var(--rule-soft);text-align:center}
.sv-again{background:none;border:0;padding:6px;font:inherit;font-size:13.5px;color:var(--dim);text-decoration:underline;cursor:pointer}
.sv-again[data-sure]{color:#b3261e}
.sv-ot{flex:1;min-width:0}
.sv-info{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:8px;border-radius:50%;border:1px solid var(--rule);background:#fff;color:var(--navy);font:italic 500 12px/1 Georgia,serif;cursor:pointer;vertical-align:1px;padding:0}
.sv-info:hover,.sv-info.open{border-color:var(--teal);color:var(--teal)}
.sv-desc{display:block;margin-top:6px;font-size:13.5px;line-height:1.45;color:var(--dim)}
.sv-lead{display:block;font-size:14px;font-weight:400;color:var(--dim);margin:0 0 6px}
.sv-note{font-size:15px;color:var(--body);margin:10px 0 0;padding:11px 13px;background:var(--tealtint,#e6f6f4);border-radius:9px}
