
/* ===================================================================== */
/*  therapistsupport.org — the pagekit research/directory family, in     */
/*  the house style. Rollout step 5, family 2 (article.pk-wrap pages).   */
/*  Scope: body.bcp. Tokens and element rules come from css/house.css    */
/*  (.bc2 on the same body); chrome keeps css/house-chrome.css.          */
/*  This sheet owns ALL layout for the pk shell, its components and the  */
/*  page widgets (the /for/associates ledger, the wage-claim and         */
/*  forgiveness calculators, the states chart) — converted pages carry   */
/*  no legacy hash sheet and no pagekit/builder inline style block.      */
/*  NOTE: house-chrome PART 2 carries box-shadow:none !important on the  */
/*  pk panels, so every panel here draws with a hairline BORDER.         */
/*  Maintained at _dev/house-pk.css; _dev/family_pk.py links it.         */
/* ===================================================================== */

/* --- the shell -------------------------------------------------------- */
body.bcp main{display:block}
body.bcp .pk-wrap{max-width:1080px;margin:0 auto;padding:34px var(--pad) 8px}
body.bcp .pk-sec{margin:0 0 46px;scroll-margin-top:86px}
body.bcp .pk-k{font-family:var(--mn);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);margin:0 0 8px}
body.bcp .pk-h{font-size:30px;max-width:30ch;margin:0 0 14px}
@media(max-width:760px){body.bcp .pk-h{font-size:24px}}
body.bcp .pk-h3{font-size:20px;line-height:1.18;margin:28px 0 8px;
  scroll-margin-top:86px}
body.bcp .pk-d,body.bcp .pk-p{margin:0 0 16px;max-width:70ch}
body.bcp .pk-fine{font-size:13.5px;color:var(--dim);margin:22px 0 0;
  max-width:74ch}
body.bcp .pk-cap{font-size:13.5px;color:var(--dim);margin:0 0 26px;
  max-width:74ch}
body.bcp .pk-cap b,body.bcp .pk-fine b{color:var(--ink)}
body.bcp code{font-family:var(--mn);font-size:12.5px;background:var(--sink);
  border:1px solid var(--hair);border-radius:4px;padding:1px 5px}

/* --- the hero: the page's single dark band ----------------------------- */
body.bcp .pk-hero{background:var(--deep);color:#fff;border-radius:14px;
  padding:36px 36px 30px;margin:0 0 30px}
body.bcp .pk-hero .hk{font-family:var(--mn);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:#79A08F;margin:0 0 14px}
body.bcp .pk-hero h1{font-size:clamp(33px,4.4vw,54px);color:#fff;
  margin:0 0 16px;max-width:22ch}
body.bcp .pk-hero h1 em{font-style:normal;color:var(--gold)}
body.bcp .pk-hero .hl{font-size:17.5px;line-height:1.6;color:#C6DBD1;
  margin:0 0 20px;max-width:62ch}
body.bcp .pk-hero .hl b,body.bcp .pk-hero .hl a{color:var(--gold)}
body.bcp .pk-figs{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:rgba(255,255,255,.16);border-radius:10px;overflow:hidden;
  margin:0 0 20px}
body.bcp .pk-figs>div{background:var(--card);padding:14px 16px}
body.bcp .pk-figs .n{font-family:var(--figs);font-weight:800;font-size:27px;
  line-height:1.1;color:var(--ink);display:block;letter-spacing:-.01em}
body.bcp .pk-figs .l{font-family:var(--mn);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:block;
  margin:7px 0 0;line-height:1.5}
body.bcp .pk-hero .hj{display:flex;flex-wrap:wrap;gap:9px;margin:0}
body.bcp .pk-hero .hj a{display:inline-block;font-family:var(--mn);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(255,217,118,.55);
  border-radius:20px;padding:7px 13px;color:var(--gold);background:transparent}
body.bcp .pk-hero .hj a:hover{background:rgba(255,217,118,.14)}
@media(max-width:900px){body.bcp .pk-figs{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body.bcp .pk-hero{padding:24px 20px 22px}}

/* the In-short card is a light card on the dark hero */
body.bcp .pk-hero .tsshort{background:var(--card);color:var(--ink);
  border-left:4px solid var(--gold);border-radius:8px;padding:16px 18px;
  margin:0 0 18px;max-width:560px}
body.bcp .tsshort .tsk{font-family:var(--mn);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 8px}
body.bcp .tsshort q{quotes:none;display:block;font-family:var(--disp);
  font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.2;
  color:var(--ink);margin:0 0 8px}
body.bcp .tsshort .tsa{font-size:15px;color:var(--ink);margin:0 0 8px}
body.bcp .tsshort .tsfig{font-family:var(--figs);font-weight:800;
  font-size:22px;color:var(--pine)}

/* --- the question panel ------------------------------------------------ */
body.bcp .pk-q{background:var(--card);border:1px solid var(--hair);
  border-left:4px solid var(--gold);border-radius:10px;padding:18px 20px;
  margin:0 0 24px}
body.bcp .pk-q .ql{font-family:var(--mn);font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}
body.bcp .pk-q p{font-size:15.5px;line-height:1.7;color:var(--ink);
  margin:0 0 11px;max-width:68ch}
body.bcp .pk-q p:last-child{margin:0}

/* --- the numbered verdict stack ---------------------------------------- */
body.bcp .pk-v{background:var(--card);border:1px solid var(--hair);
  border-radius:10px;overflow:hidden;margin:0 0 24px}
body.bcp .pk-v>div{padding:16px 19px;border-bottom:1px solid var(--hair)}
body.bcp .pk-v>div:last-child{border-bottom:0}
body.bcp .pk-v .vn{font-family:var(--figs);font-weight:800;font-size:24px;
  line-height:1;color:var(--pine);display:block;margin:0 0 7px}
body.bcp .pk-v .vt{font-family:var(--disp);font-weight:800;font-size:18px;
  letter-spacing:-.02em;line-height:1.25;color:var(--ink);display:block;
  margin:0 0 7px}
body.bcp .pk-v p{font-size:15px;line-height:1.66;color:var(--dim);margin:0;
  max-width:70ch}
body.bcp .pk-v p b{color:var(--ink)}

/* --- tables ------------------------------------------------------------ */
body.bcp .pk-tw{border:1px solid var(--hair);border-radius:var(--r);
  background:var(--card);overflow-x:auto;margin:0 0 12px}
body.bcp .pk-t{border-collapse:collapse;width:100%;font-size:14.5px}
body.bcp .pk-t th{background:var(--card);color:var(--dim);
  font-family:var(--mn);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;text-align:left;padding:11px 14px;
  border-bottom:2px solid var(--ink);white-space:nowrap}
body.bcp .pk-t td{padding:11px 14px;border-top:1px solid var(--hair);
  background:none;color:var(--ink);vertical-align:top;
  overflow-wrap:break-word;line-height:1.55}
body.bcp .pk-t tr:first-child td{border-top:0}
body.bcp .pk-t td.pk-f{font-family:var(--figs);font-weight:600;
  font-size:16.5px;white-space:nowrap}
body.bcp .pk-t td.pk-m{font-family:var(--mn);font-size:12.5px;
  white-space:nowrap}
body.bcp .pk-t td.pk-n{font-family:var(--mn);font-size:13px;
  white-space:nowrap;text-align:right}
body.bcp .pk-t tr.bad td{background:#FBEDEA}
body.bcp .pk-t tr.bad td.pk-f{color:#A8422F}
body.bcp .pk-t tr.good td{background:var(--wash)}
body.bcp .pk-t tr.hi td{background:var(--sink)}
body.bcp .pk-t tr.mid td{background:var(--sink);color:var(--dim)}
@media(max-width:640px){body.bcp .pk-t th,body.bcp .pk-t td{
  padding:10px 11px;font-size:13.5px}}

/* --- the callout: quiet deep panel ------------------------------------- */
body.bcp .pk-call{background:var(--deep);color:#fff;border-radius:12px;
  padding:22px 25px;margin:0 0 26px}
body.bcp .pk-call h3{font-family:var(--mn);font-size:11px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
  margin:0 0 10px;font-weight:500}
body.bcp .pk-call .big{font-family:var(--figs);font-weight:800;font-size:34px;
  color:var(--gold);display:block;line-height:1.1;margin:2px 0 6px}
body.bcp .pk-call p{font-size:16px;line-height:1.62;color:#C6DBD1;
  margin:0 0 12px;max-width:66ch}
body.bcp .pk-call p:last-child{margin:0}
body.bcp .pk-call p b,body.bcp .pk-call p a{color:var(--gold)}

/* --- the checklist ----------------------------------------------------- */
body.bcp .pk-ask{background:var(--card);border:1px solid var(--hair);
  border-left:4px solid var(--pine);border-radius:10px;padding:20px 22px;
  margin:0 0 20px}
body.bcp .pk-ask h3{font-size:19px;margin:0 0 10px}
body.bcp .pk-ask ul{margin:0;padding:0 0 0 19px}
body.bcp .pk-ask li{font-size:15px;line-height:1.68;color:var(--dim);
  margin:0 0 10px;max-width:68ch}
body.bcp .pk-ask li:last-child{margin:0}
body.bcp .pk-ask li b{color:var(--ink)}

/* --- the calculators (wage claim, forgiveness, out-of-state) ----------- */
body.bcp .pk-calc{background:var(--card);border:1px solid var(--hair);
  border-radius:12px;padding:22px 24px;margin:0 0 20px}
body.bcp .pk-cg{display:grid;grid-template-columns:1fr 1fr;gap:22px;
  margin:0 0 20px}
body.bcp .pk-cc h3{font-size:18px;margin:0 0 12px}
body.bcp .pk-fl{display:block;font-family:var(--mn);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0 0 5px}
body.bcp .pk-calc input,body.bcp .pk-calc select{width:100%;
  box-sizing:border-box;font-family:var(--mn);font-size:15px;
  color:var(--ink);background:#fff;border:1px solid var(--hair);
  border-radius:6px;padding:9px 11px;margin:0 0 13px}
body.bcp .pk-calc input:focus,body.bcp .pk-calc select:focus{outline:none;
  border-color:var(--pine);box-shadow:0 0 0 3px var(--wash)}
body.bcp .pk-out{border:1px solid var(--hair);border-radius:var(--r);
  background:var(--card);overflow:hidden}
body.bcp .pk-out .r{display:grid;grid-template-columns:1fr auto;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--hair);align-items:baseline}
body.bcp .pk-out .r:last-child{border-bottom:0}
body.bcp .pk-out .r.hd{background:var(--sink)}
body.bcp .pk-out .r.hd span{font-family:var(--mn);font-size:10.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--dim)}
body.bcp .pk-out .r.tot{background:var(--wash)}
body.bcp .pk-out .lbl{font-size:14.5px;line-height:1.5;color:var(--ink)}
body.bcp .pk-out .va{font-family:var(--figs);font-weight:800;font-size:18px;
  color:var(--ink);text-align:right;min-width:104px}
body.bcp .pk-out .r.tot .va{color:var(--pine);font-size:20px}
body.bcp .pk-note{font-size:13.5px;line-height:1.65;color:var(--dim);
  margin:14px 0 0;max-width:72ch}
body.bcp .pk-note b{color:var(--ink)}
@media(max-width:900px){body.bcp .pk-cg{grid-template-columns:1fr;gap:8px}}
@media(max-width:640px){body.bcp .pk-out .va{min-width:0}}

/* --- the states chart + mini cards (therapists-by-state) --------------- */
body.bcp .pk-chart{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--r);padding:16px 18px;margin:0 0 14px;overflow-x:auto}
body.bcp .pk-mini{display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin:0 0 14px}
body.bcp .pk-mini .pk-m{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--r);padding:14px 16px}
body.bcp .pk-mini .pk-m h3{font-size:15px;line-height:1.2;margin:0 0 3px}
body.bcp .pk-mini .soc{font-family:var(--mn);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}
@media(max-width:760px){body.bcp .pk-mini{grid-template-columns:1fr}}

/* --- sources ----------------------------------------------------------- */
body.bcp .pk-src{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--r);padding:18px 20px;margin:0 0 16px}
body.bcp .pk-src h3{font-family:var(--mn);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--dim);
  margin:0 0 11px;font-weight:500}
body.bcp .pk-src ol{margin:0;padding:0 0 0 20px}
body.bcp .pk-src li{font-size:14px;line-height:1.55;color:var(--dim);
  margin:0 0 8px}
body.bcp .pk-src li:last-child{margin:0}
body.bcp .pk-src li::marker{font-family:var(--mn);font-size:11px;
  color:var(--pine)}
body.bcp .pk-src b{color:var(--ink)}

/* --- the /for/associates ledger (the hours engine) --------------------- */
/* display:block is load-bearing: house.css's .bc2 .lg is the LOGO lockup
   (inline-flex) — the collision audit's 30-name problem, live. This rule
   outranks it (body.bcp .lg) and takes the box back. */
body.bcp .lg{display:block;background:var(--card);border:1px solid var(--hair);
  border-radius:12px;padding:18px 18px 20px;margin:0 0 20px}
body.bcp .lg-priv{font-family:var(--mn);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pine);margin:0 0 10px}
body.bcp .lg-in{display:grid;gap:12px;margin-bottom:18px}
@media(min-width:660px){body.bcp .lg-in{grid-template-columns:repeat(4,1fr)}}
body.bcp .lg-in label{display:block;font-family:var(--mn);font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--dim);
  margin-bottom:5px}
body.bcp .lg-in input{width:100%;box-sizing:border-box;
  font-family:var(--figs);font-weight:800;font-size:20px;padding:8px 10px;
  background:#fff;border:1px solid var(--hair);border-radius:6px;
  color:var(--ink)}
body.bcp .lg-in input:focus{outline:none;border-color:var(--pine);
  box-shadow:0 0 0 3px var(--wash)}
body.bcp .lg-bar{position:relative;height:32px;background:var(--sink);
  border-radius:6px;overflow:hidden;margin:6px 0 4px;border:0}
body.bcp .lg-bar i{display:block;height:100%;background:var(--pine);
  width:0;transition:width .25s}
body.bcp .lg-mk{position:relative;height:26px;margin-bottom:14px}
body.bcp .lg-mk span{position:absolute;top:0;font-family:var(--mn);
  font-size:10px;color:var(--dim);white-space:nowrap;
  transform:translateX(-50%);padding-top:3px}
body.bcp .lg-mk span::before{content:"";position:absolute;left:50%;top:-4px;
  width:2px;height:5px;background:var(--ink)}
body.bcp .lg-g{display:grid;gap:10px}
@media(min-width:560px){body.bcp .lg-g{grid-template-columns:repeat(4,1fr)}}
body.bcp .lg-g div{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--rs);padding:10px 12px}
body.bcp .lg-g .k{font-family:var(--mn);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--dim);display:block}
body.bcp .lg-g .v{display:block;font-family:var(--figs);font-weight:800;
  font-size:23px;color:var(--ink);line-height:1.1;margin:3px 0 2px;
  font-variant-numeric:tabular-nums}
body.bcp .lg-g .s{display:block;font-size:11.5px;color:var(--dim);
  line-height:1.35}
body.bcp .lg-g.req div.hot{background:var(--gold);border-color:var(--gold)}
body.bcp .lg-g.req div.hot .k,body.bcp .lg-g.req div.hot .s{color:var(--ink)}
body.bcp .lg-g div.done{background:var(--wash);border-color:var(--wash)}
body.bcp .lg-note{font-size:12.5px;color:var(--dim);margin:14px 0 0}

/* the question cards and the two start doors on the same page */
body.bcp .ask{background:var(--card);border:1px solid var(--hair);
  border-left:4px solid var(--pine);border-radius:10px;padding:14px 16px;
  margin:0 0 12px}
body.bcp .ask q{display:block;font-family:var(--figs);font-size:19px;
  font-weight:600;line-height:1.3;color:var(--ink);quotes:none}
body.bcp .ask .an{font-family:var(--disp);font-weight:800;font-size:15px;
  margin:9px 0 5px;color:var(--pine)}
body.bcp .ask p{font-size:14.5px;margin:0 0 9px}
body.bcp .ask a{font-family:var(--mn);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pine)}
body.bcp .start{display:grid;gap:12px;margin:4px 0 0}
@media(min-width:640px){body.bcp .start{grid-template-columns:1fr 1fr}}
body.bcp .start a{display:block;background:var(--pine);color:#fff;
  border-radius:var(--rs);padding:14px 16px;text-decoration:none}
body.bcp .start a:hover{background:var(--pine-2)}
body.bcp .start .q{display:block;font-family:var(--disp);font-weight:800;
  font-size:18px;line-height:1.2;margin-bottom:4px;color:#fff}
body.bcp .start .s{display:block;font-size:13.5px;color:#C6DBD1;
  line-height:1.4}
body.bcp .shelf{display:grid;gap:12px}
@media(min-width:720px){body.bcp .shelf{grid-template-columns:1fr 1fr}}
body.bcp .shelf a.card{display:block;background:var(--card);
  border:1px solid var(--hair);border-radius:var(--r);padding:14px 16px;
  color:var(--ink);text-decoration:none}
body.bcp .shelf a.card:hover{border-color:var(--pine)}
body.bcp .shelf .t{font-family:var(--disp);font-weight:800;font-size:15.5px;
  line-height:1.25;margin-bottom:5px;display:block}
body.bcp .shelf .n{font-size:13.5px;color:var(--dim);line-height:1.45;
  display:block}

/* --- provenance (outside the wrap) ------------------------------------- */
body.bcp .tsfoot{max-width:1080px;margin:0 auto;padding:0 var(--pad) 44px}
body.bcp .tsdepth{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--r);padding:16px 20px}
body.bcp .tsbadge{display:inline-block;font-family:var(--mn);font-size:9.5px;
  letter-spacing:.12em;text-transform:uppercase;background:var(--gold);
  color:var(--ink);padding:3px 8px;border-radius:3px}
body.bcp .tswhat{font-size:13px;color:var(--dim);margin:10px 0 0;
  max-width:64ch}

/* --- More on this ------------------------------------------------------ */
body.bcp .uplink{background:var(--sink);padding:44px var(--pad)}
body.bcp .uplink>div{max-width:1080px;margin:0 auto}
body.bcp .uplink .uk{font-family:var(--mn);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}
body.bcp .uplink h2{font-size:28px;margin:0 0 6px}
body.bcp .uplink .ud{color:var(--dim);margin:0 0 20px}
body.bcp .uplink .ug{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);
  margin-bottom:18px}
@media(max-width:860px){body.bcp .uplink .ug{grid-template-columns:1fr}}
body.bcp .uplink .uc{display:block;background:var(--card);
  border:1px solid var(--hair);border-radius:var(--r);padding:16px 18px;
  color:var(--ink)}
body.bcp .uplink .uc:hover{border-color:var(--pine)}
body.bcp .uplink .uc b{display:block;font-family:var(--disp);font-weight:800;
  font-size:17px;letter-spacing:-.016em;line-height:1.25;margin-bottom:7px}
body.bcp .uplink .uc span{font-size:13.5px;color:var(--dim);line-height:1.45}
body.bcp .uplink .uall{display:inline-block;font-family:var(--mn);
  font-size:12px;color:var(--pine)}

/* --- utilities --------------------------------------------------------- */
body.bcp .sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
