:root{
  --ink:#15233a; --ink-2:#3a4d6b; --muted:#71819a; --line:#e1e7f0; --line-2:#eef2f8;
  --bg:#f6f8fc; --paper:#fff;
  --accent:#FF4700; --accent-2:#cc3900; --accent-soft:#fff1ec;
  --ok:#1b6a3a; --warn:#a55a00; --fail:#a32020;
  --shadow:0 1px 2px rgba(21,35,58,.04), 0 4px 18px rgba(21,35,58,.07);
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Inter","Helvetica Neue",Arial,sans-serif;}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
a{color:var(--accent-2);text-decoration:none}

/* chrome */
.topbar{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-mark{font-weight:800;letter-spacing:.04em;color:var(--accent);font-size:20px}
.brand-sub{color:var(--muted);font-size:13px}
.main{padding:34px 0 70px;min-height:60vh}
.foot{background:var(--paper);border-top:1px solid var(--line);padding:18px 0}
.foot .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.muted{color:var(--muted);font-size:13px}

/* typography */
h1{font-size:30px;line-height:1.2;letter-spacing:-.01em;margin:.2em 0 .3em}
h2{font-size:22px;margin:.2em 0 .5em}
.lead{font-size:18px;color:var(--ink-2);margin:0 0 1.4em}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--accent)}

/* card */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 26px;box-shadow:var(--shadow);margin-bottom:18px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:0;
  border-radius:10px;padding:13px 26px;font-size:16px;font-weight:600;cursor:pointer;
  transition:background .15s,transform .05s}
.btn:hover{background:var(--accent-2)}
.btn:active{transform:translateY(1px)}
.btn:disabled{background:#c9d2e0;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--line-2)}
.btn-row{display:flex;gap:12px;align-items:center;margin-top:22px;flex-wrap:wrap}
.btn-row .spacer{flex:1}

/* progress */
.progress{height:8px;background:var(--line-2);border-radius:99px;overflow:hidden;margin-bottom:6px}
.progress > i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .35s}
.progress-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:22px}

/* choice options (binary/ternary/radio) */
.options{display:flex;flex-direction:column;gap:12px;margin:8px 0}
.opt{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;
  padding:16px 18px;cursor:pointer;background:var(--paper);transition:border-color .12s,background .12s}
.opt:hover{border-color:#c4d0e2}
.opt input{margin-top:3px;accent-color:var(--accent);width:18px;height:18px;flex:none}
.opt.sel{border-color:var(--accent);background:var(--accent-soft)}
.opt .ot{font-weight:600}
.opt .od{color:var(--muted);font-size:13.5px;margin-top:2px}

/* rank chips */
.chips{display:flex;flex-direction:column;gap:10px}
.chip{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;
  padding:14px 16px;cursor:pointer;background:var(--paper);user-select:none}
.chip .num{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:flex;
  align-items:center;justify-content:center;font-weight:700;color:var(--muted);flex:none}
.chip.sel{border-color:var(--accent);background:var(--accent-soft)}
.chip.sel .num{background:var(--accent);color:#fff;border-color:var(--accent)}

/* scale */
.scale-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line-2)}
.scale-row .sl{flex:1;font-weight:500}
.scale-dots{display:flex;gap:6px}
.scale-dots label{width:34px;height:34px;border:1.5px solid var(--line);border-radius:9px;display:flex;
  align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--muted)}
.scale-dots input{display:none}
.scale-dots input:checked + label,.scale-dots label.sel{background:var(--accent);color:#fff;border-color:var(--accent)}

/* textarea */
textarea{width:100%;min-height:120px;border:1.5px solid var(--line);border-radius:12px;padding:14px;
  font:inherit;font-size:16px;background:#fcfdff;resize:vertical}
textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}

/* result */
.conf{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600}
.conf.high{background:#e8f6ee;color:var(--ok)} .conf.medium{background:#fff4e3;color:var(--warn)} .conf.low{background:#fdecec;color:var(--fail)}
.prof{position:relative}
.prof .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.prof h2{margin:0}
.fit{font-weight:800;color:var(--accent);font-size:22px;font-variant-numeric:tabular-nums;flex:none}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.tag{background:var(--line-2);border-radius:99px;padding:4px 12px;font-size:12.5px;color:var(--ink-2)}
.tag.money{background:#e8f6ee;color:var(--ok)}
.blurb{color:var(--ink-2);margin:10px 0}
.tasks{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:14px}
.tasks li{margin:3px 0}
.why{margin-top:12px;font-size:13.5px;color:var(--muted)}
.why b{color:var(--ink-2)}
.video{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:8px;border:1px solid var(--line);
  border-radius:10px;text-decoration:none;color:var(--ink-2);transition:background .12s}
.video:hover{background:var(--line-2)}
.video img{border-radius:7px;flex:none;object-fit:cover}
.video .vt{font-size:13.5px;font-weight:600;line-height:1.3}
.video .vt em{display:block;color:var(--muted);font-weight:400;font-style:normal;font-size:12px;margin-top:2px}

/* intake cards */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pick{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;background:var(--paper);position:relative}
.pick:hover{border-color:#c4d0e2}
.pick.sel{border-color:var(--accent);background:var(--accent-soft)}
.pick .badge{position:absolute;top:10px;right:12px;width:26px;height:26px;border-radius:50%;background:var(--accent);
  color:#fff;display:none;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.pick.sel .badge{display:flex}
.pick .pt{font-weight:700}
.pick .pd{color:var(--muted);font-size:13px;margin-top:3px}
.hint{font-size:13.5px;color:var(--muted);margin:6px 0 16px}

table.sessions{width:100%;border-collapse:collapse}
table.sessions th,table.sessions td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line-2);font-size:14px}
table.sessions th{color:var(--muted);text-transform:uppercase;font-size:11.5px;letter-spacing:.06em}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:14px}
.alert.error{background:#fdecec;color:var(--fail);border:1px solid #f5c2c2}

@media(max-width:600px){
  h1{font-size:25px}.grid{grid-template-columns:1fr}.main{padding:24px 0 56px}
  .scale-dots label{width:30px;height:30px}
}
