/* ─────────────────────────────────────────────
   DSCR QUIZ — new design system (self-contained)
   ─────────────────────────────────────────────
   A restyle only. Every class name, id and element the quiz script depends on
   is unchanged; this file just replaces the page's old stylesheet. The script
   drives the flow by toggling .active on .step and .selected on .tile, and by
   setting inline display/width/left, so those behaviours are preserved exactly.

   Everything is scoped under .quiz-wrap because names like .tile, .step and
   .step-title are generic enough to collide with the rest of the site.
   ───────────────────────────────────────────── */

/* A funnel is a form, and a form reads better on white. The whole quiz is a
   white sheet in either site theme, the same way the long-form program pages
   are. Re-mapping the tokens here means every component below comes out light
   without a single override, and the inverse-surface pieces (the results
   panel) still invert correctly against it. */
.quiz-wrap{
  --blk:#F5F5F5;--blk-i:#F5F5F5;
  --bg:#fff;--fg:#000;--muted:#6E6E6E;--line:#E5E5E5;--card:#F5F5F5;
  --bg-i:#000;--fg-i:#fff;--muted-i:#A3A3A3;--line-i:#1F1F1F;--card-i:#111;
  /* The markup still carries inline styles written against the old token
     names (the SMS consent block and a couple of buttons use var(--blue) and
     var(--gray)). Those are content this restyle does not touch, so the old
     names are aliased onto the new palette instead. Without this they resolve
     to nothing: the consent checkbox loses its accent colour and the label
     loses its muted grey. */
  --purple:#7549EA;--pdeep:#4C1EB8;--lilac:#997BF4;
  --blue:var(--purple);--gray:var(--muted);--navy:var(--fg);--light:var(--card);
  --border:var(--line);--sky:var(--lilac);
  min-height:100vh;display:flex;flex-direction:column;align-items:center;
  padding:56px 24px 88px;background:var(--bg);color:var(--fg)}

/* ── Progress ─────────────────────────────────────────────────────────── */
.quiz-wrap .progress-bar-container{width:100%;max-width:660px;margin:0 auto 40px;border:0;padding:0}
.quiz-wrap .progress-bar{height:3px;background:var(--line);overflow:hidden}
.quiz-wrap .progress-fill{height:100%;background:var(--purple);transition:width .4s ease}

/* ── Who is asking ────────────────────────────────────────────────────── */
.quiz-wrap .channing-avatar{width:64px;height:64px;object-fit:cover;display:block;
  margin:0 auto 12px;border:1px solid var(--line)}
.quiz-wrap .step-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:40px}
.quiz-wrap .step-label strong{color:var(--fg);font-weight:700}

/* ── Steps ───────────────────────────────────────────────────────────────
   display:none / block is what the script switches. Do not change it. */
.quiz-wrap .step{display:none;width:100%;max-width:660px;animation:quizIn .22s ease-out}
.quiz-wrap .step.active{display:block}
@keyframes quizIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.quiz-wrap .step{animation:none}}

.quiz-wrap .step-title{font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(26px,3.6vw,40px);line-height:1.04;letter-spacing:1px;text-transform:uppercase;
  color:var(--fg);text-align:center;margin-bottom:12px}
.quiz-wrap .step-hint{font-family:'Barlow',sans-serif;font-size:16px;line-height:1.6;
  color:var(--muted);text-align:center;margin-bottom:34px}

/* ── Answer tiles ─────────────────────────────────────────────────────── */
.quiz-wrap .tiles{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.quiz-wrap .tile{background:var(--card);border:1px solid var(--line);border-left:3px solid transparent;
  padding:20px 28px;cursor:pointer;font-family:'Barlow',sans-serif;font-size:16px;font-weight:600;
  color:var(--fg);text-align:center;min-width:130px;
  transition:border-color .15s ease-out,background .15s ease-out,color .15s ease-out}
.quiz-wrap .tile:hover{border-color:var(--purple);border-left-color:var(--purple)}
.quiz-wrap .tile.selected{border-color:var(--purple);border-left-color:var(--purple);
  background:rgba(117,73,234,.14);color:var(--fg);font-weight:700}
.quiz-wrap .tile-icon{display:block;margin:0 auto 10px;line-height:1;font-size:26px;color:var(--purple)}
.quiz-wrap .tile-icon svg,.quiz-wrap .tile-icon .ico{width:26px;height:26px;color:var(--purple)}
.quiz-wrap .tile-sm{min-width:110px;padding:16px 22px}

/* ── Sliders ──────────────────────────────────────────────────────────── */
.quiz-wrap .slider-val{font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(38px,6vw,58px);line-height:1;letter-spacing:1px;color:var(--purple);
  text-align:center;margin-bottom:6px}
.quiz-wrap .slider-sub{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:28px}
.quiz-wrap .slider-wrap{position:relative;padding:0 4px;margin-bottom:36px}
.quiz-wrap input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;
  background:var(--line);outline:none;cursor:pointer;position:relative;z-index:2}
.quiz-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;
  background:var(--purple);border:0;cursor:pointer}
.quiz-wrap input[type=range]::-moz-range-thumb{width:22px;height:22px;background:var(--purple);
  border:0;cursor:pointer;border-radius:0}
.quiz-wrap input[type=range]:focus-visible{outline:2px solid var(--purple);outline-offset:6px}
/* The script sets left and width inline on this. Keep it below the thumb. */
.quiz-wrap .slider-track{position:absolute;top:50%;left:4px;height:3px;background:var(--purple);
  pointer-events:none;transform:translateY(-50%);z-index:1}

/* ── Text inputs ──────────────────────────────────────────────────────── */
.quiz-wrap .input-group{margin-bottom:18px}
.quiz-wrap .input-group label{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.quiz-wrap .input-group input{width:100%;background:var(--card);border:1px solid var(--line);
  padding:15px 16px;font-family:'Barlow',sans-serif;font-size:16px;font-weight:500;color:var(--fg);
  outline:none;transition:border-color .15s ease-out}
.quiz-wrap .input-group input::placeholder{color:var(--muted)}
.quiz-wrap .input-group input:focus{border-color:var(--purple)}
.quiz-wrap .input-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ── Step buttons ─────────────────────────────────────────────────────── */
.quiz-wrap .btn-next{display:block;width:100%;max-width:340px;margin:0 auto;
  transform:skewX(-10deg);background:var(--purple);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;letter-spacing:.14em;
  text-transform:uppercase;padding:17px 32px 15px;border:0;line-height:1;cursor:pointer;
  transition:background .15s ease-out}
.quiz-wrap .btn-next:hover{background:var(--pdeep)}
.quiz-wrap .btn-back{display:flex;align-items:center;gap:6px;background:none;border:0;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);cursor:pointer;margin:20px auto 0;padding:6px 8px}
.quiz-wrap .btn-back:hover{color:var(--purple)}

/* ── Intro ────────────────────────────────────────────────────────────── */
.quiz-wrap .intro-wrap{text-align:center;max-width:620px;margin:0 auto}
.quiz-wrap .intro-badge{display:inline-block;transform:skewX(-10deg);background:var(--purple);
  color:#fff;font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;padding:9px 20px 7px;line-height:1;margin-bottom:24px}
.quiz-wrap .intro-wrap h1{font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:1px;text-transform:uppercase;
  color:var(--fg);margin-bottom:18px}
.quiz-wrap .intro-wrap h1 em{color:var(--purple);font-style:normal}
.quiz-wrap .intro-wrap p{font-family:'Barlow',sans-serif;font-size:18px;line-height:1.65;
  color:var(--muted);margin-bottom:34px}
.quiz-wrap .intro-trust{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-bottom:38px}
.quiz-wrap .trust-pill{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.quiz-wrap .trust-pill svg,.quiz-wrap .trust-pill .ico{width:16px;height:16px;color:var(--purple)}
.quiz-wrap .intro-trust .trust-pill{font-size:13px}

/* ── Results ──────────────────────────────────────────────────────────── */
.quiz-wrap .results-wrap{width:100%;max-width:760px;margin:0 auto;animation:quizIn .3s ease-out}
.quiz-wrap .results-hello{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--purple);margin-bottom:10px}
.quiz-wrap .results-title{font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(28px,4vw,46px);line-height:1.02;letter-spacing:1px;text-transform:uppercase;
  color:var(--fg);margin-bottom:10px}
.quiz-wrap .results-sub{font-family:'Barlow',sans-serif;font-size:17px;line-height:1.65;
  color:var(--muted);margin-bottom:38px}

/* The headline number. Takes the opposite surface from the page, the way the
   rate cards and the application panel do. */
.quiz-wrap .power-box{background:var(--fg);color:var(--bg);border-left:3px solid var(--purple);
  padding:30px 32px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap}
.quiz-wrap .power-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:8px}
.quiz-wrap .power-num{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(34px,5vw,54px);
  line-height:1;letter-spacing:1px;color:var(--lilac)}
.quiz-wrap .power-note{font-family:'Barlow',sans-serif;font-size:13px;opacity:.55;margin-top:8px}
.quiz-wrap .power-right{text-align:right}
.quiz-wrap .power-dp{font-family:'Anton',sans-serif;font-weight:400;font-size:24px;letter-spacing:1px}
.quiz-wrap .power-dp-label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;opacity:.55}

.quiz-wrap .programs-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.quiz-wrap .programs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:30px}
.quiz-wrap .prog-result-card{background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--purple);padding:22px;display:flex;align-items:flex-start;gap:14px}
.quiz-wrap .prog-icon-wrap{width:40px;height:40px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;border:1px solid var(--line);color:var(--purple);
  font-size:22px;line-height:1}
.quiz-wrap .prog-icon-wrap svg,.quiz-wrap .prog-icon-wrap .ico{width:22px;height:22px}
.quiz-wrap .prog-result-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin-bottom:4px}
.quiz-wrap .prog-result-desc{font-family:'Barlow',sans-serif;font-size:14px;line-height:1.55;
  color:var(--muted)}
.quiz-wrap .prog-badge{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;margin-top:10px;
  border:1px solid var(--purple);color:var(--purple)}
.quiz-wrap .prog-badge.yes{background:rgba(117,73,234,.14)}
.quiz-wrap .prog-badge.check{background:transparent}

/* ── Result actions ───────────────────────────────────────────────────── */
.quiz-wrap .cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;margin-top:0}
.quiz-wrap .cta-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:20px 16px;text-align:center;text-decoration:none;cursor:pointer;
  border:1px solid var(--line);background:var(--card);color:var(--fg);
  transition:border-color .15s ease-out,background .15s ease-out}
.quiz-wrap .cta-btn:hover{border-color:var(--purple)}
.quiz-wrap .cta-btn .cta-icon{color:var(--purple);line-height:1;font-size:24px}
.quiz-wrap .cta-btn .cta-icon svg,.quiz-wrap .cta-btn .cta-icon .ico{width:24px;height:24px}
.quiz-wrap .cta-btn .cta-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}
.quiz-wrap .cta-btn .cta-sub{font-family:'Barlow',sans-serif;font-size:13px;color:var(--muted)}
/* The one the reader should take is the filled one. */
.quiz-wrap .cta-apply{background:var(--purple);border-color:var(--purple)}
.quiz-wrap .cta-apply .cta-label{color:#fff}
.quiz-wrap .cta-apply .cta-sub{color:rgba(255,255,255,.72)}
.quiz-wrap .cta-apply .cta-icon{color:#fff}
.quiz-wrap .cta-apply:hover{background:var(--pdeep);border-color:var(--pdeep)}

.quiz-wrap .not-ready-box{background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--purple);padding:26px;margin-bottom:26px;text-align:left}
.quiz-wrap .not-ready-box h4{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:19px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin-bottom:10px}
.quiz-wrap .not-ready-box p{font-family:'Barlow',sans-serif;font-size:15px;line-height:1.6;color:var(--muted)}

.quiz-wrap .results-disclaimer{font-family:'Barlow',sans-serif;font-size:13px;line-height:1.6;
  color:var(--muted);text-align:center;padding:0 12px}

@media(max-width:600px){
  .quiz-wrap{padding:40px 20px 64px}
  .quiz-wrap .programs-grid,.quiz-wrap .cta-row{grid-template-columns:1fr}
  .quiz-wrap .input-row{grid-template-columns:1fr}
  .quiz-wrap .power-box{flex-direction:column;text-align:center;align-items:stretch}
  .quiz-wrap .power-right{text-align:center}
  .quiz-wrap .tiles{flex-direction:column;align-items:stretch}
  .quiz-wrap .tile{width:100%}
}
