/* ---------- quiz / picker ---------- */
.jb .q{border-top:1px solid var(--line); padding:30px 0}
.jb .q.first{border-top:0}
.jb .q h3{font-size:1.5rem; margin-bottom:16px}
.jb .opts{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px}
.jb .opt{background:var(--surface); border:1px solid var(--line); color:var(--ink);
  padding:16px 18px; border-radius:2px; cursor:pointer; font-family:inherit; font-size:.95rem;
  text-align:left; line-height:1.4; transition:border-color .15s ease,background .15s ease}
.jb .opt:hover{border-color:#3a3a3a}
.jb .opt[aria-pressed="true"]{border-color:var(--brass); background:rgba(201,162,86,.1); color:var(--head)}
.jb .opt .sm{display:block; color:var(--muted); font-size:.82rem; margin-top:4px}
.jb .opt[aria-pressed="true"] .sm{color:var(--brass)}
.jb .resultbar{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:var(--md)}
.jb .why-picked{font-size:.8rem; letter-spacing:.06em; color:var(--brass); margin-bottom:10px; font-weight:600}

/* ---------- forms / builder ---------- */
.jb .form{display:grid; grid-template-columns:1fr 1fr; gap:16px var(--md); margin-top:var(--md)}
.jb .fld{display:flex; flex-direction:column}
.jb .fld.wide{grid-column:1 / -1}
.jb .fld label{font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--brass);
  font-weight:600; margin-bottom:6px}
.jb .fld input,.jb .fld textarea,.jb .fld select{background:var(--surface2); border:1px solid var(--line);
  color:var(--ink); padding:12px 14px; border-radius:2px; font-family:inherit; font-size:.95rem; width:100%}
.jb .fld textarea{min-height:90px; resize:vertical; line-height:1.6}
.jb .fld input:focus,.jb .fld textarea:focus,.jb .fld select:focus{outline:none; border-color:var(--brass)}
.jb .fld .hint{font-size:.8rem; color:var(--muted); margin-top:6px; line-height:1.5}
.jb .out{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--brass);
  padding:22px 24px; margin-top:var(--md); white-space:pre-wrap;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.86rem; line-height:1.7; color:var(--ink); max-height:520px; overflow:auto}
.jb .jobset{display:flex; gap:10px; flex-wrap:wrap; margin-top:var(--md)}

/* ---------- checklist ---------- */
.jb .checks{border-top:1px solid var(--line); margin-top:var(--md)}
.jb .chk{display:grid; grid-template-columns:30px 1fr; gap:16px; padding:22px 4px;
  border-bottom:1px solid var(--line); align-items:start}
.jb .chk input[type=checkbox]{width:20px; height:20px; accent-color:var(--brass); cursor:pointer; margin-top:3px}
.jb .chk h4{font-size:1.2rem; margin-bottom:6px}
.jb .chk.done h4{opacity:.45; text-decoration:line-through}
.jb .chk.done .why{opacity:.45}
.jb .chk .why{color:var(--muted); font-size:.94rem; margin-bottom:8px}
.jb .chk .how{color:var(--muted); font-size:.9rem}
.jb .chk .how b{color:var(--brass); font-weight:600}

/* ---------- deadlines ---------- */
.jb .dl{display:grid; grid-template-columns:160px 1fr; gap:var(--md); padding:24px 4px;
  border-bottom:1px solid var(--line); border-left:3px solid transparent}
.jb .dl.urgent{border-left-color:var(--brass); background:var(--surface)}
.jb .dl .when{font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:1.25rem; color:var(--brass); line-height:1.15}
.jb .dl h4{font-size:1.2rem; margin-bottom:6px}
.jb .dl p{color:var(--muted); font-size:.94rem; margin:0 0 8px}

@media (max-width:900px){
  .jb .form{grid-template-columns:1fr}
  .jb .opts{grid-template-columns:1fr}
  .jb .dl{grid-template-columns:1fr; gap:8px}
  .jb .out{font-size:.8rem; padding:18px}
}

/* ---------- what to look for on their careers page ---------- */
.jb .lookfor{margin-top:18px; padding:18px 20px; background:var(--surface2);
  border:1px solid var(--line); border-left:3px solid var(--brass); border-radius:2px}
.jb .lookfor .k{font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--brass); font-weight:700; margin-bottom:8px}
.jb .lookfor .v{font-size:.95rem; color:var(--ink); line-height:1.7}
@media (max-width:900px){ .jb .lookfor{padding:16px} }

.jb .gembadge{display:inline-block; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:#0D0D0D; background:var(--brass); padding:5px 10px; border-radius:2px; margin-bottom:10px}

/* ---------- faceted filter rail ---------- */
.jb .filters{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-top:12px}
.jb .selwrap{display:flex; flex-direction:column}
.jb .selwrap label{font-size:.66rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--brass); font-weight:700; margin-bottom:6px}
.jb .selwrap select{background:var(--surface2); border:1px solid var(--line); color:var(--ink);
  padding:11px 12px; border-radius:2px; font-family:inherit; font-size:.9rem; width:100%}
.jb .selwrap select:focus{outline:none; border-color:var(--brass)}
.jb .toggles{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px}
@media (max-width:900px){ .jb .filters{grid-template-columns:1fr 1fr; gap:10px}
  .jb .selwrap select{font-size:.85rem; padding:10px} }

/* ---------- collapsible cards ---------- */
.jb .item .body{display:none}
.jb .item.open .body{display:block; margin-top:6px}
.jb .expand{margin-top:14px; background:transparent; border:1px solid var(--line); color:var(--muted);
  padding:10px 16px; border-radius:2px; cursor:pointer; font-family:inherit; font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; font-weight:600; width:100%}
.jb .expand:hover{border-color:var(--brass); color:var(--brass)}
.jb .item.open .expand{color:var(--brass); border-color:rgba(201,162,86,.4)}
.jb .item .links{margin-top:16px; padding-top:0; border-top:0}
/* ---------- unified search ---------- */
.jb .bigsearch{background:var(--surface2); border:1px solid var(--line); color:var(--ink);
  padding:18px 20px; border-radius:2px; font-family:inherit; font-size:1.05rem; width:100%}
.jb .bigsearch:focus{outline:none; border-color:var(--brass)}
.jb .bigsearch::placeholder{color:#6a6a6a}
.jb .suggest{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.jb .resh{font-size:1.15rem; margin:var(--lg) 0 0; display:flex; justify-content:space-between;
  align-items:baseline; gap:16px; flex-wrap:wrap; padding-bottom:10px; border-bottom:1px solid var(--line)}
.jb .resh a{font-family:'Inter',sans-serif; font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:600; border-bottom:0}
.jb p.more{font-size:.9rem; margin-top:14px}

.jb .stale{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--brass);
  padding:16px 20px; margin:16px 0}
.jb .stale p{color:var(--muted); font-size:.9rem; margin:0 0 6px}
.jb .stale p:last-child{margin-bottom:0}

/* ---------- live search ---------- */
.jb .lsbar{display:grid; grid-template-columns:2fr 1.3fr .9fr auto; gap:12px; margin-top:var(--md)}
.jb .lsbar input,.jb .lsbar select{background:var(--surface2); border:1px solid var(--line); color:var(--ink);
  padding:15px 16px; border-radius:2px; font-family:inherit; font-size:1rem; width:100%}
.jb .lsbar input:focus,.jb .lsbar select:focus{outline:none; border-color:var(--brass)}
.jb .boards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:var(--md)}
.jb a.board{background:var(--surface); padding:22px 24px; border-bottom:0; color:inherit; display:block}
.jb a.board:hover{background:var(--surface2)}
.jb a.board .bn{font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:1.3rem; color:var(--brass)}
.jb a.board .bh{color:var(--muted); font-size:.88rem; margin-top:6px; line-height:1.5}
.jb .pgroup{padding:22px 0; border-bottom:1px solid var(--line)}
.jb .pgroup h4{font-size:1.15rem; margin-bottom:12px}
.jb .lnk.live{border-color:var(--brass); background:rgba(201,162,86,.12); color:var(--brass)}
@media (max-width:900px){ .jb .lsbar{grid-template-columns:1fr} }
