/* ==========================================================================
   THREE PEAK — readiness assessment
   Styles used only by assessment.html
   ========================================================================== */

.quiz{background:var(--glacier);padding-top:clamp(2.5rem,5vw,4rem)}
.quizwrap{max-width:760px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

/* Progress */
.qprog{margin-bottom:2.5rem}
.qprog .bar{height:4px;background:var(--glacier-2);border-radius:2px;overflow:hidden}
.qprog .fill{height:100%;background:var(--pine);width:0;transition:width .35s ease}
.qprog .meta{
  display:flex;justify-content:space-between;margin-top:.7rem;
  font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-mute);
}

/* Question card */
.qcard{
  background:#fff;border:1px solid rgba(46,64,87,.14);border-radius:6px;
  padding:clamp(1.6rem,3.5vw,2.6rem);
}
.qcard .dim{font-size:.68rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pine)}
.qcard h2{font-size:clamp(1.3rem,2.6vw,1.75rem);margin-top:.7rem;font-weight:400;line-height:1.25}
.qcard .hint{margin-top:.7rem;color:var(--ink-mute);font-size:.94rem}

.opts{list-style:none;margin-top:1.7rem;display:flex;flex-direction:column;gap:.6rem}
.opt{
  display:block;width:100%;text-align:left;cursor:pointer;
  background:var(--frost);border:1px solid rgba(46,64,87,.2);border-radius:4px;
  padding:.95rem 1.1rem;font-family:var(--font);font-size:.97rem;color:var(--ink);
  line-height:1.5;transition:border-color .15s,background .15s,transform .12s;
}
.opt:hover{border-color:var(--pine);background:#fff;transform:translateX(2px)}
.opt:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.opt.sel{border-color:var(--pine);background:#fff;box-shadow:inset 3px 0 0 var(--pine)}

.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem;gap:1rem}
.qback{
  background:none;border:0;cursor:pointer;font-family:var(--font);
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-mute);padding:.5rem 0;
}
.qback:hover{color:var(--slate-deep)}
.qback[disabled]{opacity:.3;cursor:default}

/* ===== RESULTS ===== */
.result{display:none}
.result.show{display:block}

.scorehead{
  background:var(--slate-deep);color:var(--glacier);border-radius:6px;
  padding:clamp(1.6rem,3.5vw,2.4rem);margin-bottom:1.2rem;
}
.scorehead .lbl{font-size:.68rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mist)}
.scorehead .lvl{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:300;margin-top:.5rem;line-height:1.1}
.scorehead p{margin-top:.9rem;color:var(--muted);font-size:1rem;max-width:56ch}

.dims{
  background:#fff;border:1px solid rgba(46,64,87,.14);border-radius:6px;
  padding:clamp(1.5rem,3vw,2.2rem);margin-bottom:1.2rem;
}
.dims h3{font-size:1.15rem;font-weight:400;margin-bottom:1.4rem}
.dimrow{margin-bottom:1.1rem}
.dimrow:last-child{margin-bottom:0}
.dimrow .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}
.dimrow .nm{font-size:.88rem;font-weight:600;color:var(--slate-deep)}
.dimrow .sc{font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-mute)}
.dimrow .track{height:8px;background:var(--glacier-2);border-radius:4px;overflow:hidden}
.dimrow .val{height:100%;border-radius:4px;transition:width .6s ease}

.rec{
  background:var(--pine);color:var(--glacier);border-radius:6px;
  padding:clamp(1.6rem,3.5vw,2.4rem);margin-bottom:1.2rem;
}
.rec .lbl{font-size:.68rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:#bcd8cf}
.rec h3{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:400;margin-top:.5rem}
.rec p{margin-top:.9rem;color:#d6e7e1;max-width:56ch}
.rec ul{list-style:none;margin-top:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.rec li{position:relative;padding-left:1.2rem;color:#d6e7e1;font-size:.95rem}
.rec li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;
  border-radius:50%;background:#bcd8cf}
.rec .btn{margin-top:1.7rem;background:var(--glacier);color:var(--pine-deep)}
.rec .btn:hover{background:#fff}

.gaps{
  background:var(--frost);border:1px solid rgba(46,64,87,.14);border-radius:6px;
  padding:clamp(1.5rem,3vw,2.2rem);margin-bottom:1.2rem;
}
.gaps h3{font-size:1.15rem;font-weight:400;margin-bottom:1rem}
.gaps ul{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.gaps li{position:relative;padding-left:1.2rem;color:var(--ink-mute);font-size:.95rem;line-height:1.6}
.gaps li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--alpenglow)}

.emailbox{
  background:#fff;border:1px solid rgba(46,64,87,.14);border-radius:6px;
  padding:clamp(1.5rem,3vw,2.2rem);
}
.emailbox h3{font-size:1.15rem;font-weight:400}
.emailbox p{margin-top:.6rem;color:var(--ink-mute);font-size:.94rem;max-width:52ch}
.emailbox .row{display:flex;gap:.6rem;margin-top:1.2rem}
.emailbox input[type=email]{
  flex:1;background:var(--frost);border:1px solid rgba(46,64,87,.24);
  border-radius:3px;padding:.85rem .9rem;font-family:var(--font);font-size:1rem;color:var(--ink);
}
.emailbox input:focus{outline:2px solid var(--pine);outline-offset:1px}
.restart{
  margin-top:1.6rem;text-align:center;font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
}
.restart button{
  background:none;border:0;cursor:pointer;color:var(--ink-mute);
  font-family:var(--font);font-size:inherit;font-weight:inherit;
  letter-spacing:inherit;text-transform:inherit;
}
.restart button:hover{color:var(--slate-deep)}

@media(max-width:600px){
  .emailbox .row{flex-direction:column}
  .emailbox .row .btn{justify-content:center}
}
