/* css/house-tool.css — rollout step 5, family 4 (the tool pages).
   Written by hand, applied by _dev/family_tool.py. Unlike the other
   families this one KEEPS each tool's app CSS (hash sheets + inline
   blocks) and re-grounds it: these are the house-skin rules that touched
   tool-app vocabulary, ported verbatim with body.house -> body.bct, so
   the pages keep their exact skinned appearance after the skin and the
   replicated chrome sheets are unlinked. All core tokens inherit from
   css/house.css; this family sheet owns layout and component treatment. */

body.bct{
  background:var(--paper); color:var(--ink);
  font-family:var(--hs-body); letter-spacing:-.011em;
}

/* ================================================================
   PART 2 - recovered tool-vocabulary rules from the replicated chrome
   sheets. house-chrome.css replicates those sheets' CHROME selectors
   only; these are the tool-app rules (slab grounds, tiles, heroes...)
   that also lived there and vanished with the subtraction. Extracted
   mechanically, scoped body.bct, house-tool PART 1 above still wins
   where both speak (it comes... later? no - CSS: last wins). So this
   part is INSERTED BEFORE part 1's ported skin rules by the writer.
   ============================================================== */
body.bct .fchip.fchip{font-size:10.5px}
body.bct .chk.chk{font-size:10.5px}
body.bct .f em, body.bct .fgrid .f em, body.bct label.f em, body.bct .f.sm em{font-size:10.5px}
body.bct .f .hint, body.bct .f span.hint{font-size:10.5px}
body.bct .tile em, body.bct .tile > em{font-size:10.5px}
body.bct .f em, body.bct .fsub{font-size:10.5px}
body.bct .fsub{font-size:10.5px;letter-spacing:.1em}
body.bct p, body.bct li, body.bct dd, body.bct dt, body.bct blockquote, body.bct figcaption, body.bct summary, body.bct .lco, body.bct .srn, body.bct .tcio, body.bct cite, body.bct q{overflow-wrap:anywhere}
body.bct .libband.libband .in.in{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .libwrap.libwrap{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .afband.afband .in.in{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .tax.tax .in.in{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .adv.adv .in.in{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .gro.gro .in.in{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .clwrap.clwrap{max-width:1180px;padding-left:26px;padding-right:26px;margin-left:auto;margin-right:auto}
body.bct .tw.tw.tw, body.bct .li-tw.li-tw.li-tw, body.bct .dc-tw.dc-tw.dc-tw, body.bct .octw.octw.octw, body.bct .srn-w.srn-w.srn-w, body.bct .tblw.tblw.tblw{position:relative;
  scrollbar-width:thin;
  scrollbar-color:#E2DACA transparent;
  background:
    linear-gradient(to right, #F6F8F6 30%, rgba(251,249,243,0)) left center,
    linear-gradient(to right, rgba(251,249,243,0), #F6F8F6 70%) right center,
    radial-gradient(farthest-side at 0 50%, rgba(22,33,27,.16), rgba(22,33,27,0)) left center,
    radial-gradient(farthest-side at 100% 50%, rgba(22,33,27,.16), rgba(22,33,27,0)) right center;
  background-repeat:no-repeat;
  background-size:36px 100%, 36px 100%, 14px 100%, 14px 100%;
  background-attachment:local, local, scroll, scroll;}
body.bct .tw.tw.tw::-webkit-scrollbar{height:9px}
body.bct .tw.tw.tw::-webkit-scrollbar-thumb{background:#E2DACA;border-radius:10px}
body.bct .tw.tw.tw::-webkit-scrollbar-track{background:transparent}
body.bct .sec.alt .card{background:#fff}
body.bct .sec.alt{border-top:3px solid #1B2420;border-bottom:3px solid #1B2420}
body.bct .btn, body.bct .clgo, body.bct .gherocta > a, body.bct .therocta > a, body.bct .aherocta > a{border:2px solid #1B2420;border-radius:10px;box-shadow:3px 3px 0 #1B2420}
body.bct .btn:active, body.bct .clgo:active{transform:translate(3px,3px);box-shadow:0 0 0 #1B2420}
body.bct .pg, body.bct .uc, body.bct .lc, body.bct .rc, body.bct .fb, body.bct .how, body.bct .job, body.bct .reffold, body.bct .edge, body.bct .ig, body.bct .tcard{border:2px solid #1B2420;border-radius:10px;box-shadow:2px 2px 0 #1B2420}
body.bct .pg:hover, body.bct .rc:hover, body.bct .lc:hover{box-shadow:4px 4px 0 #1B2420;
  transform:translate(-1px,-1px)}
body.bct .rule{border-radius:10px}
body.bct .band .pw{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center}
body.bct .band h1 em{font-style:normal;color:var(--pop)}
body.bct .band .lede b{color:#fff}
body.bct .sec.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.bct p.sub{font-size:15px;line-height:1.72;color:#635D4E;margin:0 0 20px;max-width:72ch}
body.bct .sec.alt .card{background:var(--paper)}
body.bct .sec.alt .ref{background:var(--paper)}
body.bct .sec.alt .fact{background:var(--cream)}
body.bct .btn.ghost:hover{background:#F6F8F6}
body.bct .sec.alt .issue{background:var(--cream)}
body.bct .sec.alt .feat{background:var(--paper)}
body.bct .sec.alt .cform{background:var(--paper)}
@media (max-width:1000px){
body.bct .band .pw{grid-template-columns:1fr}
}
@media (max-width:640px){
body.bct a.tsall, body.bct a.uall, body.bct a.tcall, body.bct a.srmore, body.bct a.go, body.bct a.pdgo, body.bct button.keep{min-height:24px;display:inline-flex;align-items:center;padding-block:4px}
body.bct .sub.sub.sub.sub{font-size:12px}
body.bct .pr-kick.pr-kick.pr-kick.pr-kick{font-size:12px}
body.bct .anote.anote.anote.anote{font-size:12px}
body.bct .lab.lab.lab.lab{font-size:12px}
body.bct .tck.tck.tck.tck{font-size:12px}
body.bct .cnum.cnum.cnum.cnum{font-size:12px}
body.bct .nx-f.nx-f.nx-f.nx-f{font-size:12px}
body.bct .jobfoot.jobfoot.jobfoot.jobfoot{font-size:12px}
body.bct .mo.mo.mo.mo{font-size:12px}
body.bct .tbl.tbl.tbl.tbl .r.r.r.r span, body.bct .tbl.tbl.tbl.tbl .r.r.r.r b .sub.sub.sub.sub{font-size:12px}
body.bct .libband.libband .in.in{padding-left:18px;padding-right:18px}
body.bct .libwrap.libwrap{padding-left:18px;padding-right:18px}
body.bct .afband.afband .in.in{padding-left:18px;padding-right:18px}
body.bct .tax.tax .in.in{padding-left:18px;padding-right:18px}
body.bct .adv.adv .in.in{padding-left:18px;padding-right:18px}
body.bct .gro.gro .in.in{padding-left:18px;padding-right:18px}
body.bct .clwrap.clwrap{padding-left:18px;padding-right:18px}
}
@media (min-width:1400px){
body.bct .jobs.solo{grid-template-columns:minmax(0,1000px)}
body.bct .fgrid[style]{max-width:820px !important}
}
@media (min-width:1800px){
body.bct .jobs.solo{grid-template-columns:minmax(0,1120px)}
body.bct .fgrid[style]{max-width:920px !important}
}
@media (min-width:900px){
body.bct .tw.tw.tw td, body.bct .tw.tw.tw th, body.bct .li-tw.li-tw.li-tw td, body.bct .li-tw.li-tw.li-tw th, body.bct .dc-tw.dc-tw.dc-tw td, body.bct .dc-tw.dc-tw.dc-tw th, body.bct .octw.octw.octw td, body.bct .octw.octw.octw th, body.bct .srn-w.srn-w.srn-w td, body.bct .srn-w.srn-w.srn-w th, body.bct .tblw.tblw.tblw td, body.bct .tblw.tblw.tblw th{white-space:normal;overflow-wrap:break-word}
body.bct .tw.tw.tw table, body.bct .li-tw.li-tw.li-tw table, body.bct .dc-tw.dc-tw.dc-tw table, body.bct .octw.octw.octw table, body.bct .srn-w.srn-w.srn-w table, body.bct .tblw.tblw.tblw table{width:100%;min-width:0}
}

/* Editorial rate tables scroll within their measure on narrow screens. */
body.bct .ledger-wrap,body.bct .eap-rate{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* PART 1 - ported skin rules (win over part 2 by order) */

body.bct .pk-figs .n, body.bct .lhdval b, body.bct .lfig>b,
body.bct .fact b, body.bct .lhdr b{font-family:var(--hs-figs); font-weight:700; letter-spacing:-.01em;}
body.bct .hk, body.bct .lkick>*:first-child, body.bct .tsk,
body.bct .uk, body.bct .tck, body.bct .grouplab, body.bct .lkind{font-family:var(--hs-mn); letter-spacing:.16em; text-transform:uppercase;
  color:var(--hs-dim);}
body.bct .lcta, body.bct .tcgo, body.bct .ctarow .btn,
body.bct .nlrow button, body.bct .aherocta a:first-child{background:var(--pine); color:#fff; font-family:var(--hs-disp);
  font-weight:800; border-radius:10px; border:0;
  box-shadow:0 1px 0 rgba(15,50,39,.25);}
body.bct .lcta:hover, body.bct .tcgo:hover, body.bct .ctarow .btn:hover,
body.bct .nlrow button:hover{background:#14372C}
body.bct .lghost, body.bct .ctarow .btn.ghost{background:transparent; color:var(--pine); border:1.5px solid var(--pine);
  border-radius:10px; font-weight:700; box-shadow:none;}
body.bct .pk-t{background:var(--hs-card); border:1px solid var(--line)}
body.bct .pk-t th{font-family:var(--hs-mn); font-size:10.5px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--hs-dim);
  border-bottom:2px solid var(--ink); background:var(--hs-card);}
body.bct .pk-t td{border-color:var(--line)}
body.bct .pk-t code{font-family:var(--hs-mn); background:var(--hs-sink);
  border:1px solid var(--line); border-radius:6px;}
body.bct .shelf .card .t{font-weight:600; color:var(--ink)}
body.bct .shelf .card .n{color:var(--hs-dim)}
body.bct label.f input, body.bct .lg-in input{background:var(--hs-card); border:1px solid var(--line); border-radius:6px;
  color:var(--ink); font-family:var(--hs-figs);}
body.bct label.f input:focus, body.bct .lg-in input:focus{border-color:var(--pine);}
body.bct main.home .band{background:var(--paper) !important; color:var(--ink)}
body.bct main.home .band .lede{color:var(--hs-dim) !important}
body.bct main.home .band .fine{color:var(--hs-dim) !important}
body.bct main.home .slab{background:var(--deep) !important; color:#F6F8F6 !important}
body.bct main.home .slab h2{color:#FFFFFF !important}
body.bct main.home .slab p{color:#84AC99 !important}
body.bct main.home .band{padding-left:max(var(--pad, 40px), calc(50% - 620px)) !important;
  padding-right:max(var(--pad, 40px), calc(50% - 620px)) !important;}
body.bct .dc-hero .hj a{background:transparent !important; border:1px solid rgba(255,217,118,.55)
  !important; color:var(--gold) !important; box-shadow:none !important;
  border-radius:10px !important;}
body.bct .dc-hero .hj a:hover{background:rgba(255,217,118,.14) !important; transform:none !important}
body.bct section.hero, body.bct .adv .band, body.bct .adv .hero,
body.bct .clband, body.bct .clhero{background:var(--deep) !important; background-image:none !important}
body.bct section.hero h1{color:#FFFFFF !important}
body.bct section.hero h1 em{color:var(--gold) !important}
body.bct .slab.pine, body.bct .slab.carbon,
body.bct .slab.brick, body.bct .slab.gold{background:var(--hs-card) !important; color:var(--ink) !important;
  border:1px solid var(--line) !important; border-radius:10px !important;}
body.bct .slab.pine{border-left:5px solid var(--pine) !important}
body.bct .slab.brick{border-left:5px solid #B5483F !important}
body.bct .slab.gold{border-left:5px solid #B0730B !important}
body.bct .slab.carbon{border-left:5px solid #1B2420 !important}
body.bct .slab.pine :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.bct .slab.brick :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.bct .slab.gold :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.bct .slab.carbon :where(p,span,label,small,div,li,b,i,h2,h3,h4){color:inherit !important}
body.bct .slab.pine .card, body.bct .slab.brick .card,
body.bct .slab.gold .card, body.bct .slab.carbon .card{background:var(--paper) !important; border:1px solid var(--line) !important}
body.bct .adv .fbar i{background:var(--gold) !important}
body.bct .adv .sell{background:rgba(255,217,118,.10) !important}
body.bct .xptrack i,
body.bct .mo i{background:var(--gold) !important}
body.bct .tbar i, body.bct .gbar i{background:var(--pine) !important}
body.bct .pk-hero h1, body.bct .pk-hero h2,
body.bct .artband h1, body.bct .artband h2,
body.bct .dc-hero h1, body.bct .dc-hero h2,
body.bct .adv .hero h1, body.bct .adv .band h1{color:#FFFFFF !important}
body.bct .dc-h, body.bct .pr-h{color:var(--ink) !important}
body.bct .pk-call{background:var(--deep) !important}
body.bct .pk-call h2, body.bct .pk-call h3{color:#FFFFFF !important}
body.bct .pk-hero{background:var(--deep) !important}
body.bct .pk-hero h1 em, body.bct .pk-hero h2 em{color:var(--gold) !important; font-style:normal}
/* Shared answer/tool hero emitted by pagekit.hero. This page remains in the
   tool family because its application CSS is intentionally preserved. */
body.bct .pk-hero.hh-article{background:#14372C!important;color:#fff;border:0;
  border-radius:0;box-shadow:none;width:100vw;max-width:none;box-sizing:border-box;
  margin-left:calc(50% - 50vw);padding:0;overflow:hidden}
body.bct .pk-hero .hh-main{max-width:1180px;margin:0 auto;padding:42px 26px 36px}
body.bct .pk-hero .hh-u{border-bottom:.16em solid #F6C560;padding-bottom:1px}
body.bct .pk-hero .hh-cta{color:#fff;font-size:15px;font-weight:750;
  text-decoration:underline;text-underline-offset:5px;text-decoration-color:#F6C560;
  display:inline-flex;align-items:center;min-height:44px}
body.bct .pk-hero .hh-cta:focus-visible{outline:3px solid #F6C560;outline-offset:4px}
body.bct .pk-hero .hh-rail{background:#0F2A21;
  border-top:1px solid rgba(255,255,255,.16)}
body.bct .pk-hero .hh-rail-in{max-width:1180px;margin:0 auto;padding:0 26px;
  display:flex;align-items:center;font-family:var(--hs-mn);font-size:12px;
  letter-spacing:.075em;text-transform:uppercase;color:#C6DBD1}
body.bct .pk-hero .hh-rail-in>span{padding:13px 30px}
body.bct .pk-hero .hh-rail-in>span:first-child{padding-left:0}
body.bct .pk-hero .hh-rail-in>span+span{border-left:1px solid rgba(255,255,255,.14)}
body.bct .pk-hero .hh-rail b{color:#F6C560;font-size:13.5px}
body.bct .pk-hero .hh-meta{margin-left:auto;padding-right:0;border-left:0!important;
  color:rgba(255,255,255,.62)}
@media(max-width:640px){
  body.bct .pk-hero .hh-main{padding:34px 18px 30px}
  body.bct .pk-hero .hh-rail-in{padding:11px 18px;flex-wrap:wrap;gap:0 16px}
  body.bct .pk-hero .hh-rail-in>span{padding:0;border-left:0!important}
  body.bct .pk-hero .hh-meta{display:none}
  body.bct .pk-hero .hh-meta.hh-private{display:inline}
}
body.bct .bonus{background:var(--deep) !important; color:#C6DBD1 !important}
body.bct .bonus::before{display:none !important}
body.bct .bonus .pr-h, body.bct .bonus h2, body.bct .bonus h3{color:#FFFFFF !important}
body.bct .btn, body.bct .card, body.bct .citeb, body.bct .dc-ask,
body.bct .dc-chg, body.bct .dc-ex, body.bct .dc-facts, body.bct .dc-fb,
body.bct .dc-grp, body.bct .dc-nav a, body.bct .dc-note,
body.bct .dc-tw, body.bct .fact, body.bct .fi-ok, body.bct .hcalc,
body.bct .hgo, body.bct .hmost a, body.bct .ig-flow .node,
body.bct .ig-split .bar, body.bct .ig-stat .g, body.bct .ins,
body.bct .insf, body.bct .np-hub, body.bct .np-promo, body.bct .pdc,
body.bct .pdgone, body.bct .pdkey, body.bct .pdn, body.bct .pdwarn,
body.bct .pg, body.bct .pk-ask, body.bct .pk-calc, body.bct .pk-q,
body.bct .pk-src, body.bct .pk-tw, body.bct .pk-v, body.bct .ref,
body.bct .slab, body.bct .src, body.bct .srpanel, body.bct .srtab,
body.bct .tccoda, body.bct .tcnext, body.bct .tcgo, body.bct .tsbadge,
body.bct .tsdepth, body.bct .tsmeta, body.bct .tsupd,
body.bct .tsshort, body.bct .pk-t{box-shadow:none !important}
body.bct .pdc, body.bct .pdkey, body.bct .dc-facts, body.bct .tsdepth,
body.bct .pk-q, body.bct .pk-src, body.bct .src, body.bct .fact{border-color:var(--line) !important; border-width:1px !important;
  border-radius:10px !important; background:var(--hs-card) !important}
body.bct .arttool a, body.bct .hh-chip, body.bct .hgo,
body.bct .pr-cta, body.bct .src .srk, body.bct .tccoda{border:0 !important; box-shadow:none !important; border-radius:10px !important}
body.bct label.f, body.bct .f, body.bct .fgrid>*{background:var(--hs-card) !important; border:1px solid var(--line) !important;
  border-radius:10px !important}
body.bct label.f>span, body.bct .f>span{color:var(--hs-dim) !important}
body.bct label.f input, body.bct .f input, body.bct .f select{background:transparent !important; border:0 !important; color:var(--ink) !important}
body.bct .hcalc, body.bct .pk-calc, body.bct .srpanel, body.bct .citeb,
body.bct .ins, body.bct .insf, body.bct .ref, body.bct .tcnext,
body.bct .tctrack, body.bct .dc-ask, body.bct .dc-ex, body.bct .dc-grp,
body.bct .dc-note, body.bct .dc-tw, body.bct .pk-ask, body.bct .pk-tw,
body.bct .pk-v, body.bct .pg, body.bct .hmost a, body.bct .dc-nav a{border-color:var(--line) !important; border-width:1px !important}
body.bct section.hero label, body.bct section.hero .hint,
body.bct .hero .f span{color:#C6DBD1 !important}
body.bct section.hero .f input, body.bct .hero label.f input{color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  caret-color:var(--gold) !important}
body.bct section.hero .fv, body.bct .hero .fv{color:#C6DBD1 !important}
body.bct section.hero .f, body.bct .hero label.f{border-color:rgba(255,217,118,.45) !important; background:transparent !important}
body.bct .pk-hero .hk{color:#84AC99 !important}
body.bct .drawer{background:var(--hs-sink) !important;
  border:1px solid var(--line) !important; border-radius:10px}
body.bct .dh h5{color:var(--pine) !important}
body.bct .drawer .tog span{color:#635D4E !important}
body.bct .dbtn{background:#FFFFFF !important; border:1px solid var(--line) !important;
  color:var(--ink) !important}
body.bct .dbtn:hover{background:var(--hs-wash) !important}
body.bct .dbtn.gold{background:var(--gold) !important; border:1px solid #F6C560 !important;
  color:#1B2420 !important}

/* PART 3 - fixes found by the interactive gate (win by file order) ---- */
/* the tax page's hero and its indigo slab were grounded by a legacy
   sheet variant house has no color for: both map to deep */
body.bct .thero{background:var(--deep) !important}
body.bct .slab.indigo{background:var(--deep) !important}
/* table headers inside dark slabs */
body.bct .slab th{color:#C6DBD1 !important}
/* form fields: ink in light fields everywhere; the deep-band hero keeps
   white type in its transparent fields */
body.bct label.f input, body.bct .fv input{
  color:var(--ink) !important; -webkit-text-fill-color:var(--ink) !important}
body.bct section.hero .f input, body.bct .hero .fv input{
  color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  caret-color:var(--gold) !important}
body.bct .drawer label.f em{color:#635D4E !important}
/* green delta figures on light cards: house pine, not mint */
body.bct em.rup{color:#2C6350 !important}
/* tool heroes that legacy grounded dark: map to deep */
body.bct .ahero, body.bct .libband{background:var(--deep) !important}
/* bold text inside dark slabs reads light; cards within stay ink */
body.bct .slab p b, body.bct .slab figcaption b, body.bct .slab li b,
body.bct .slab .ig b{color:#FFFFFF !important}
body.bct .slab .card p b, body.bct .slab .card li b{color:var(--ink) !important}
/* gold figures on light cards darken to keep 4.5:1 */
body.bct .gpanel .gold, body.bct .clcite b{color:#8A6516 !important}
/* light cards inside dark slabs: their accent text was mixed for the
   slab's ground, not the card's */
body.bct .finish em{color:#2C6350 !important}
body.bct .verdict.good b{color:#2C6350 !important}
body.bct .verdict b{color:#8A6516 !important}
/* the funnel stage row lost its shrink rule with the legacy sheet */
body.bct #funnel .stages{display:flex;flex-wrap:nowrap;max-width:100%}
body.bct #funnel .stg{flex:1 1 0;min-width:0}
/* tax page: segmented bar, slider field, and output rows. Contextual text
   colours are explicit so the global gold token stays immutable. */
body.bct .sbar .sb.on{color:#FFFFFF !important}
body.bct .slider input{color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important}
body.bct .slab .rw b{color:#FFFFFF !important}
body.bct #corpout .side b{color:#8A6516 !important}
/* the old dark-nav pill behind the links reads as a gray blob on paper */
body.bct .sitenav-links{background:none !important;border-radius:0 !important}
/* row values and the salary readout sit directly on the deep slab */
body.bct .slab .rw .v{color:#FFFFFF !important}
body.bct .slab .slider .out{color:var(--gold) !important}

/* Dark tool heroes --------------------------------------------------
   The family consolidation kept the legacy dark grounds but dropped the
   companion light type on four tools. Keep this deliberately scoped to the
   hero vocabularies: cards and form fields inside them retain their own
   light-surface colours. */
body.bct :is(.ahero,.clhero,.thero,.libband){color:#C6DBD1 !important}
body.bct :is(.ahero,.clhero,.thero,.libband) h1{color:#FFFFFF !important}
body.bct :is(.ahero,.clhero,.thero,.libband) h1 em{color:var(--gold) !important}
body.bct :is(.ahero,.clhero,.thero) :is(.atag,.alede,.cldeck,.clwho,.ttag,.tlede){
  color:#C6DBD1 !important;
}
body.bct :is(.ahero,.clhero,.thero) :is(.atag,.clwho,.ttag){
  color:var(--gold) !important;
}
body.bct :is(.ahero,.clhero,.thero) :is(.crumbs,.crumbs a){
  color:#C6DBD1 !important;
}
body.bct :is(.ahero,.clhero,.thero) :is(.alede,.cldeck,.tlede) b{
  color:#FFFFFF !important;
}
body.bct .libband :is(.dek,.lede){color:#C6DBD1 !important}
body.bct .libband :is(.sub,.kick){color:var(--gold) !important}
body.bct .libband :is(.bcr,.bcr a,.libmeta){color:#C6DBD1 !important}

/* Readable, Basecamp-like measure on very wide displays. The previous
   1560px expansion made the tools feel like full-bleed admin screens. */
body.bct :is(.ahero,.thero) > .in,
body.bct .clhero > .clwrap,
body.bct .libband > .in{
  max-width:1180px !important;
}

/* Contrast repairs found by the rendered family audit. */
body.bct .aherocta a.ghost{
  color:var(--gold) !important;
  border-color:rgba(255,217,118,.62) !important;
  background:transparent !important;
}
body.bct .clgo,
body.bct .therocta > a{
  color:var(--ink) !important;
  background:var(--gold) !important;
}
body.bct .therocta > a.ghost{
  color:var(--gold) !important;
  background:transparent !important;
  border-color:rgba(255,217,118,.62) !important;
}
body.bct .slab.indigo p{color:#C6DBD1 !important}
body.bct .slab.indigo :is(.card,.how) p,
body.bct .slab.indigo .paytab td,
body.bct .slab.indigo .paytab td :is(b,i,span){color:var(--ink) !important}
body.bct .slab.pine .jobtag{color:var(--pine) !important}
body.bct .slab.indigo .out.empty{color:#C6DBD1 !important}
body.bct .gapbar-seg.gapbar-ins{
  background:var(--pine) !important;
  color:#FFFFFF !important;
}

/* Tool pages use the same fixed desktop measure as the rest of the site. */
body.house.bc2.bct :is(
  .libband > .in,.libwrap,.afband > .in,.tax > .in,.adv > .in,
  .gro > .in,.clwrap
){max-width:1180px !important}

/* Grow is an interactive tool, not an editorial slab. Keep its reading and
   control surfaces bounded even if a cached page-specific bundle is missing,
   and explicitly cancel the global scalloped-slab mask. */
body.house.bc2.bct.grow-page .ghero .in{
  width:100%;max-width:1180px;margin-left:auto;margin-right:auto;
  padding-left:26px;padding-right:26px;
  display:grid;grid-template-columns:1.12fr .88fr;gap:32px;align-items:center;
}
body.house.bc2.bct.grow-page .gro > .slab{
  width:calc(100% - 52px);max-width:1060px !important;
  margin-left:auto !important;margin-right:auto !important;
  padding:28px 30px 32px;
  background:var(--hs-card) !important;color:var(--ink) !important;
  border:1px solid var(--line) !important;border-radius:10px !important;
  -webkit-mask:none !important;mask:none !important;
}
body.house.bc2.bct.grow-page .gro > .slab.pine{border-left:5px solid var(--pine) !important}
body.house.bc2.bct.grow-page .gro > .slab.carbon{border-left:5px solid var(--carbon) !important}
body.house.bc2.bct.grow-page .gro > .slab.brick{border-left:5px solid #B5483F !important}
body.house.bc2.bct.grow-page .gro .chh{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:5px;
}
body.house.bc2.bct.grow-page .gro .chh h2{
  max-width:none;font-family:var(--hs-disp);font-size:clamp(21px,2.5vw,28px);
  line-height:1.12;letter-spacing:-.02em;margin:0;color:var(--ink) !important;
}
body.house.bc2.bct.grow-page .gro .chn{
  font-family:var(--hs-mn);font-size:10px;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;color:var(--pine) !important;
}
body.house.bc2.bct.grow-page .gro .dek{
  max-width:68ch;margin:0 0 18px;font-size:13.5px;line-height:1.7;
  color:var(--muted) !important;
}
body.house.bc2.bct.grow-page .gherocta{
  display:flex;flex-wrap:wrap;gap:9px;
}
body.house.bc2.bct.grow-page .fgrid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;
}
body.house.bc2.bct.grow-page .fgrid > .f{
  display:block;min-width:0;padding:8px 12px 9px;cursor:text;
}
body.house.bc2.bct.grow-page .f em{
  display:block;margin-bottom:3px;font-style:normal;font-size:10px;font-weight:800;
  line-height:1.35;letter-spacing:.1em;text-transform:uppercase;
}
body.house.bc2.bct.grow-page .f .fv{
  display:flex;align-items:baseline;gap:3px;font-family:var(--hs-figs);
  font-size:19px;font-weight:600;color:var(--ink);
}
body.house.bc2.bct.grow-page .cinputs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:4px;
}
body.house.bc2.bct.grow-page .cbox{
  min-width:0;padding:15px 16px 16px;background:var(--paper);
  border:1px solid var(--line);border-radius:10px;
}
body.house.bc2.bct.grow-page .cbox > b{
  display:block;margin-bottom:2px;font-family:var(--hs-figs);font-size:15px;color:var(--ink);
}
body.house.bc2.bct.grow-page .cbox > i{
  display:block;margin-bottom:11px;font-style:normal;font-size:10.5px;
  line-height:1.5;color:var(--muted);
}
body.house.bc2.bct.grow-page .gro .disc{
  width:calc(100% - 52px);max-width:1060px;margin:6px auto 0;
  padding:14px 26px 40px;box-sizing:border-box;font-size:12px;
  line-height:1.72;color:var(--muted);
}
body.house.bc2.bct.grow-page .tcnext{
  width:calc(100% - 52px);max-width:960px;margin:26px auto 4px;
  padding:17px 19px;box-sizing:border-box;background:var(--hs-card);
  border:2px solid var(--ink);border-radius:10px;
}
body.house.bc2.bct.grow-page .tcnext .tck{
  margin:0 0 6px;font-family:var(--hs-mn);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--pine);
}
body.house.bc2.bct.grow-page .tcnext h2{
  max-width:none;margin:0 0 6px;font-family:var(--hs-disp);font-size:19px;
  font-weight:800;line-height:1.18;letter-spacing:-.03em;color:var(--ink);
}
body.house.bc2.bct.grow-page .tcnext p{
  max-width:62ch;margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--muted);
}
body.house.bc2.bct.grow-page .tcnext .tcgo{
  display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;
  background:var(--pine);border:2px solid var(--ink);border-radius:10px;
  color:#fff;font-size:15px;font-weight:700;text-decoration:none;
}
body.house.bc2.bct.grow-page .tcnext .tcall{
  display:inline-block;margin-left:13px;font-size:13.5px;color:var(--pine);
}
body.house.bc2.bct.grow-page .uplink{
  width:100%;max-width:1120px;margin:34px auto 8px;padding:0 26px;
  box-sizing:border-box;border-top:3px solid var(--ink);
}
body.house.bc2.bct.grow-page .uplink > div{
  padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:10px;
}
body.house.bc2.bct.grow-page .uplink .uk{
  margin:0 0 6px;font-family:var(--hs-mn);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
body.house.bc2.bct.grow-page .uplink h2{
  max-width:none;margin:0 0 6px;font-family:var(--hs-disp);font-size:19px;color:var(--ink);
}
body.house.bc2.bct.grow-page .uplink .ud{
  max-width:64ch;margin:0 0 15px;font-size:13.5px;line-height:1.62;color:var(--muted);
}
body.house.bc2.bct.grow-page .uplink .ug{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:10px;
}
body.house.bc2.bct.grow-page .uplink a.uc{
  display:block;padding:15px 16px;background:var(--hs-card);border:1px solid var(--line);
  border-radius:10px;color:var(--ink);text-decoration:none;
}
body.house.bc2.bct.grow-page .uplink a.uc b{
  display:block;font-size:13.5px;line-height:1.4;color:var(--ink);
}
body.house.bc2.bct.grow-page .uplink a.uc span{
  display:block;font-size:12px;line-height:1.5;color:var(--muted);
}
body.house.bc2.bct.grow-page .uplink .uall{
  display:inline-block;margin-top:14px;font-size:13.5px;color:var(--pine);
}
@media (max-width:900px){
  body.house.bc2.bct.grow-page .ghero .in{grid-template-columns:1fr;gap:24px}
}
@media (max-width:820px){
  body.house.bc2.bct.grow-page .cinputs{grid-template-columns:1fr}
}
@media (max-width:640px){
  body.house.bc2.bct.grow-page .ghero .in{padding-left:18px;padding-right:18px}
  body.house.bc2.bct.grow-page .gro > .slab{
    width:100%;padding:22px 18px 26px;border-left:0 !important;border-right:0 !important;
    border-radius:0 !important;
  }
  body.house.bc2.bct.grow-page .gro .disc{width:100%;padding-left:18px;padding-right:18px}
  body.house.bc2.bct.grow-page .tcnext{width:calc(100% - 36px);margin-top:20px}
  body.house.bc2.bct.grow-page .tcnext .tcall{margin:11px 0 0;display:block}
  body.house.bc2.bct.grow-page .uplink{padding-left:18px;padding-right:18px}
  body.house.bc2.bct.grow-page .uplink > div{padding:18px 17px}
}
body.house.bc2.bct .cl2 > a{min-height:24px;display:flex;align-items:center}

/* Shared calculator cross-links and small field/status components. These
   occur on more than one tool, so they belong to the family rather than a
   retained page bundle. */
body.house.bc2.bct .calc-links{box-sizing:border-box;max-width:1060px;margin:40px auto;
  padding:24px;border:2px solid var(--ink);border-radius:10px;background:#F6F8F6;
  box-shadow:5px 5px 0 var(--gold)}
body.house.bc2.bct .calc-links h2{margin:0 0 8px;font-family:var(--hs-disp);
  font-size:23px;line-height:1.15;font-weight:800;color:var(--ink)}
body.house.bc2.bct .calc-links>p{margin:0 0 16px;color:var(--muted)}
body.house.bc2.bct .calc-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
body.house.bc2.bct .calc-links a{display:block;padding:12px;background:#fff;
  border:1px solid var(--line);border-radius:10px;color:var(--pine);
  font:800 13px/1.35 Inter,sans-serif;text-decoration:none}
body.house.bc2.bct .calc-links a span{display:block;margin-top:4px;color:var(--muted);
  font:500 10.5px/1.4 Inter,sans-serif}
body.house.bc2.bct .f .unit{flex:none;font:700 10.5px/1 Inter,sans-serif;color:var(--muted)}
body.house.bc2.bct .waitnote{margin:10px 0 0;padding:9px 12px;background:var(--paper);
  border-left:3px solid var(--gold);border-radius:0 10px 10px 0;color:#8A6516;
  font-size:12px;line-height:1.55}
body.house.bc2.bct .waitnote:empty{display:none;padding:0;border:0}
body.house.bc2.bct .cites{box-sizing:border-box;max-width:1060px;margin:20px auto 0;padding:0 26px}
body.house.bc2.bct .cites h3{margin:0 0 10px;font-family:var(--hs-disp);
  font-size:16.5px;color:var(--ink)}
@media(max-width:780px){
  body.house.bc2.bct .calc-links-grid{grid-template-columns:1fr 1fr}
  body.house.bc2.bct .calc-links{margin:28px 12px;padding:18px}
}
@media(max-width:460px){body.house.bc2.bct .calc-links-grid{grid-template-columns:1fr}}

/* Legacy page bundles load after this sheet. These selectors intentionally
   outrank their retained !important declarations without changing markup. */
body.house.bc2.bct .slab.indigo .rule p{
  color:#C6DBD1 !important;
}
body.house.bc2.bct .slab.indigo .flag p{
  color:#C6DBD1 !important;
}
body.house.bc2.bct .slab.indigo .howb > p{
  color:#C6DBD1 !important;
}
body.house.bc2.bct .slab.pine .job .jobhead .jobtag.jobtag.jobtag{
  color:var(--pine) !important;
}
