.quiz{min-height:70vh;padding-block:70px 90px;max-width:760px}
.stage h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}
.stage h2{font-size:clamp(23px,3vw,32px);font-weight:800;letter-spacing:-.028em;line-height:1.2;text-wrap:balance;margin-bottom:6px}
.stage .lead{font-size:17px;line-height:1.6;color:var(--mut);margin:18px 0 30px;max-width:54ch}
.prog{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:26px}
.prog i{display:block;height:100%;width:0;background:var(--brand);border-radius:99px;transition:width .4s cubic-bezier(.22,1,.36,1)}
.qmeta{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:16px}
.qhelp{font-size:15px;color:var(--mut);margin:10px 0 0;max-width:52ch}
.opts{display:grid;gap:10px;margin:28px 0 30px}
.opt{display:flex;align-items:flex-start;gap:13px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;cursor:pointer;text-align:left;font:inherit;font-size:15.5px;
  color:var(--ink);transition:border-color .15s,background .15s}
.opt:hover{border-color:#C9BFAE}
.opt.on{border-color:var(--brand);background:rgba(43,80,216,.04)}
.opt .tick{width:19px;height:19px;border-radius:50%;border:1.5px solid var(--line);flex:0 0 auto;margin-top:2px;
  display:flex;align-items:center;justify-content:center}
.opt.on .tick{border-color:var(--brand);background:var(--brand)}
.opt.on .tick::after{content:'';width:6px;height:6px;border-radius:50%;background:#fff}
.opt.multi .tick{border-radius:5px}
.qnav{display:flex;gap:10px;align-items:center}
.qnav .btn.ghost{padding:11px 18px}
.gform{display:grid;gap:12px;max-width:420px}
.gform input{font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.gform input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.skip{margin-top:16px;background:none;border:none;font:inherit;font-size:14px;color:var(--mut);
  text-decoration:underline;cursor:pointer;padding:0}
/* results */
.headline{background:var(--dark);color:#fff;border-radius:var(--rl);padding:44px 40px;margin-bottom:26px}
.headline .n{font-size:clamp(40px,6vw,60px);font-weight:900;letter-spacing:-.04em;color:#fff;line-height:1}
.headline p{color:rgba(244,240,233,.66);margin-top:14px;font-size:16.5px;line-height:1.55;max-width:48ch}
.headline .kick{color:var(--brand-lt)}
.closed{background:rgba(46,125,82,.07);border:1px solid rgba(46,125,82,.22);border-radius:14px;
  padding:16px 20px;font-size:15px;color:#215B3C;margin-bottom:26px;line-height:1.55}
.lkr{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px;margin-bottom:12px}
.lkr.ok{background:transparent;border-style:dashed;opacity:.72}
.lkr .hd{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.lkr .st{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:3px 8px;border-radius:5px;background:rgba(43,80,216,.1);color:var(--brand)}
.lkr.ok .st{background:rgba(46,125,82,.12);color:#215B3C}
.lkr h4{font-size:19px;font-weight:700;letter-spacing:-.018em;flex:1}
.lkr .amt{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--brand);font-size:16px}
.lkr p{font-size:15px;color:var(--mut);line-height:1.56}
.lkr .fix{margin-top:10px;font-size:14.5px;color:var(--ink)}
.lkr .fix b{color:var(--brand)}
.rec{background:var(--soft);border-radius:var(--rl);padding:36px 34px;margin-top:30px}
.rec h3{font-size:24px;font-weight:800;letter-spacing:-.022em;margin-bottom:10px}
.rec p{font-size:15.5px;color:var(--mut);line-height:1.6;margin-bottom:20px;max-width:52ch}
.method{font-size:13.5px;color:var(--mut);line-height:1.6;margin-top:26px;padding-top:20px;
  border-top:1px solid var(--line);max-width:60ch}

/* ---- the GAP SCORE lockup, in the logo's voice ---- */
.omark.brandline{font-size:30px;margin-bottom:18px}

/* ---- sample meter: fills, then the leaks drain back ---- */
.meter{border:1px solid var(--line);border-radius:16px;background:#fff;
  padding:20px 22px 18px;margin:30px 0 30px;max-width:520px}
.mh{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  font-size:12.5px;color:var(--mut);margin-bottom:16px}
.mh span:last-child{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap}
.mrow{display:grid;grid-template-columns:92px 1fr 26px;align-items:center;gap:12px;padding:5px 0}
.ml{font-size:13.5px;color:var(--ink)}
.mb{height:6px;border-radius:99px;background:var(--soft);overflow:hidden}
.mb i{display:block;height:100%;width:0;border-radius:99px;background:#2E7D52;
  transition:width .62s cubic-bezier(.16,1,.3,1),background-color .4s ease}
.mrow.leak .mb i{background:var(--brand)}
.ms{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--mut);text-align:right}
.mf{font-size:12.5px;color:var(--mut);margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
@media(max-width:620px){
  .meter{padding:17px 16px 15px;margin:24px 0}
  .mrow{grid-template-columns:78px 1fr 22px;gap:9px}
  .ml{font-size:12.5px}
  .omark.brandline{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.mb i{transition:none}}
