/* ===================================================================== */
/*  therapistsupport.org — the house skin. Rollout steps 2–3.            */
/*  Loads LAST, and every rule is gated on body.house, so the cascade    */
/*  is deterministic: unconverted pages are untouched, converted pages   */
/*  read bc2 tokens (css/house.css is the source of those values).       */
/*  The old family sheets keep doing LAYOUT; this sheet re-maps their    */
/*  custom properties to the bc2 palette and restyles the shared chrome. */
/*  Old sheets retire per-family at rollout step 5 when markup converts. */
/* ===================================================================== */

/* --- 1 · tokens: override the old :root palette for everything inside  */
body.house{
  --pine:#26604C; --deep:#0F3227; --carbon:#161F1B;
  --gold:#FFD976; --pop:#FFD976; --amber:#E7F0EA;
  --ink:#161F1B; --muted:#5B665F; --line:#DDE4DE;
  --paper:#F4F7F4; --cream:#FFFFFF;
  --hs-card:#FFFFFF; --hs-sink:#EAF0EB; --hs-wash:#E7F0EA; --hs-dim:#5B665F;
  --hs-disp:'Bricolage Grotesque','Inter',system-ui,sans-serif;
  --hs-body:'Inter',system-ui,sans-serif;
  --hs-figs:'Fraunces',Georgia,serif;
  --hs-mn:'IBM Plex Mono',ui-monospace,monospace;
  background:var(--paper); color:var(--ink);
  font-family:var(--hs-body); letter-spacing:-.011em;
}
/* the family sub-scopes define their own copies — re-map those too */
body.house .px, body.house .lib, body.house .sc{
  --pine:#26604C; --amber:#FFD976; --ink:#161F1B; --line:#DDE4DE;
  --mut:#5B665F;
}
body.house .adv, body.house main.adv{
  --paper:#F4F7F4; --white:#FFFFFF; --ink:#161F1B; --muted:#5B665F;
  --line:#DDE4DE;
}
body.house ::selection{background:var(--gold); color:var(--ink)}
body.house :focus-visible{outline:2px solid var(--pine); outline-offset:2px}

/* --- 2 · type: the display face on every heading ---------------------- */
/* Type only - NEVER color. Headings inherit their ground's color: ink on
   paper via the body, light on dark bands via the band. Setting color here
   broke ~103 pages' dark heroes (found by the sitewide audit, 13 Aug). */
body.house h1, body.house h2, body.house h3, body.house h4{
  font-family:var(--hs-disp); font-weight:800; letter-spacing:-.026em;
}
body.house h1{letter-spacing:-.03em}
/* figures set in Fraunces — the numeric classes each family exposes */
body.house .pk-figs .n, body.house .lhdval b, body.house .lfig>b,
body.house .fact b, body.house .lhdr b{
  font-family:var(--hs-figs); font-weight:700; letter-spacing:-.01em;
}
/* mono eyebrows — the small-caps labels every family carries */
body.house .hk, body.house .lkick>*:first-child, body.house .tsk,
body.house .uk, body.house .tck, body.house .grouplab, body.house .lkind{
  font-family:var(--hs-mn); letter-spacing:.16em; text-transform:uppercase;
  color:var(--hs-dim);
}

/* --- 3 · masthead + The Rule lockup ----------------------------------- */
body.house .sitenav{
  background:var(--hs-card); border-bottom:1px solid var(--line);
  box-shadow:none;
}
body.house .sitenav-fig{display:none}
body.house .sitenav-mark{
  position:relative; display:inline-flex; padding:2px 12px 10px;
  text-decoration:none;
}
/* the two-weight baseline: ink above gold, running past the word */
body.house .sitenav-mark::before, body.house .sitenav-mark::after{
  content:""; position:absolute; left:0; right:0; pointer-events:none;
}
body.house .sitenav-mark::before{bottom:6px; height:2px; background:var(--ink)}
body.house .sitenav-mark::after{bottom:0; height:4px; background:var(--gold)}
body.house .sitenav-wordmark{
  font-family:var(--hs-disp); font-weight:800; font-size:19px;
  letter-spacing:-.02em; color:var(--ink); line-height:1.1;
}
body.house .sitenav-sub{
  font-family:var(--hs-mn); font-weight:500; font-size:8.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--hs-dim);
}
body.house .sitenav-top{
  font-family:var(--hs-body); font-weight:600; color:var(--ink);
  border-radius:6px;
}
body.house .sitenav-top:hover, body.house .sitenav-top[aria-expanded="true"]{
  background:var(--hs-sink); color:var(--ink);
}
body.house .sitenav-cta{
  background:var(--pine) !important; color:#fff !important;
  font-family:var(--hs-disp); font-weight:800; border-radius:8px;
  border:0 !important; box-shadow:none !important;
}
body.house .sitenav-cta:hover{background:#1A4739 !important}

/* --- 4 · nav panel ---------------------------------------------------- */
body.house .navpanel{
  background:var(--hs-card); border:1px solid var(--line);
  border-radius:10px; box-shadow:0 18px 44px rgba(15,50,39,.14);
}
body.house .navpanel h5{
  font-family:var(--hs-mn); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--hs-dim);
}
body.house .navpanel a{color:var(--ink); border-radius:8px}
body.house .navpanel a:hover{background:var(--hs-sink)}
body.house .navpanel a b{font-weight:600}
body.house .navpanel a i{color:var(--hs-dim); font-style:normal}
body.house .np-promo{background:var(--hs-wash); border-radius:8px}

/* --- 5 · buttons ------------------------------------------------------ */
body.house .lcta, body.house .tcgo, body.house .ctarow .btn,
body.house .nlrow button, body.house .aherocta a:first-child{
  background:var(--pine); color:#fff; font-family:var(--hs-disp);
  font-weight:800; border-radius:8px; border:0;
  box-shadow:0 1px 0 rgba(15,50,39,.25);
}
body.house .lcta:hover, body.house .tcgo:hover, body.house .ctarow .btn:hover,
body.house .nlrow button:hover{background:#1A4739}
body.house .lghost, body.house .ctarow .btn.ghost{
  background:transparent; color:var(--pine); border:1.5px solid var(--pine);
  border-radius:8px; font-weight:700; box-shadow:none;
}

/* --- 6 · breadcrumbs, badges, In-short, provenance -------------------- */
body.house .bcr, body.house .bcr a, body.house .bcr span{
  font-family:var(--hs-mn); font-size:10.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--hs-dim);
}
body.house .bcr a:hover{color:var(--pine)}
/* breadcrumbs ADAPT: inherit the band's own text colour (light on dark,
   ink on paper) at reduced opacity - no container list to fall behind */
body.house .bcr, body.house .bcr a, body.house .bcr span, body.house .bcr li{
  color:inherit !important; opacity:.72; background:none !important}
body.house .bcr a:hover{opacity:1; color:inherit !important}
body.house .bcr [aria-current]{opacity:1; color:var(--gold) !important}
/* on paper the inherit resolves to ink; keep the mono sizing from above */

/* newsletter issue keys were gold-on-white; they are pine mono now */
body.house .issue-row b{color:var(--pine) !important;
  font-family:var(--hs-mn); letter-spacing:.02em}

/* nav-panel hub card is a deep card with light type, as designed */
body.house .np-promo{background:var(--deep) !important; color:#CFE0D6 !important}
body.house .np-promo b, body.house .np-promo h4{color:#FFFFFF !important}
body.house .np-promo span{color:#B9CFC2 !important}
body.house .tsshort{
  background:var(--hs-card); border:1px solid var(--line);
  border-left:4px solid var(--gold); border-radius:8px;
}
body.house .tsshort q{font-family:var(--hs-disp); font-weight:700; color:var(--ink)}
body.house .tsbadge{
  font-family:var(--hs-mn); letter-spacing:.08em; text-transform:uppercase;
  border-radius:5px;
}
body.house .tsfoot .tswhat{color:var(--hs-dim)}

/* --- 7 · uplink / More-on-this ---------------------------------------- */
body.house .uplink{background:var(--hs-sink)}
body.house .uplink .uc{
  background:var(--hs-card); border:1px solid var(--line); border-radius:10px;
}
body.house .uplink .uc:hover{border-color:var(--pine)}
body.house .uplink .uc b{font-weight:600; color:var(--ink)}
body.house .uplink .uall{color:var(--pine); font-weight:700}

/* --- 8 · signup band. The band stays DARK - the old sheets style its   */
/*     children for a dark ground, so fighting that per-child is a       */
/*     losing game; re-ground it in bc2 deep instead. chrome_armor.py    */
/*     outranks plain skin rules on chrome, hence the !importants here.  */
body.house .ftnl{background:var(--deep) !important; border-top:0}
body.house .ftnl h2{color:#FFFFFF !important}
body.house .ftnl h2 em{color:var(--gold) !important; font-style:normal}
body.house .ftnl p{color:#B9CFC2 !important}
body.house .ftnl .nlmeta{color:#8FAF9F !important}
body.house .ftnl .consent span{color:#B9CFC2 !important}
/* every piece of text in the dark band is light - wholesale, because the
   band's children keep growing new shapes */
body.house .ftnl label, body.house .ftnl span, body.house .ftnl small,
body.house .ftnl div, body.house .ftnl li{color:#B9CFC2 !important}
body.house .ftnl input, body.house .ftnl button, body.house .ftnl h2{
  color:inherit}
body.house .ftnl input[type="email"]{color:var(--ink) !important}
body.house .ftnl button{color:#fff !important}
body.house .nlform input[type="email"]{
  background:#FFFFFF; border:1px solid var(--line); border-radius:8px;
  color:var(--ink);
}
body.house .nlform input[type="email"]:focus{border-color:var(--gold)}

/* --- 9 · footer. Same armor situation - deep ground, quiet mono h5s.   */
body.house .sitefoot{background:var(--deep) !important; color:#CFE0D6 !important}
body.house .sitefoot h5{
  font-family:var(--hs-mn) !important; font-size:10.5px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:#79A08F !important; background:none !important; padding:0 !important;
  border-radius:0 !important; border:0 !important; display:block !important;
}
body.house .sitefoot a{color:#E9F2EC !important}
body.house .sitefoot a:hover{color:var(--gold) !important}
body.house .sitefoot .ftby, body.house .sitefoot p{color:#9DB8AA !important}
body.house .sitefoot .ftby a{color:#CFE0D6 !important; text-decoration:underline}
body.house .sitefoot .ftcols>div>p{color:#8FAF9F !important}

/* --- 10 · tables ------------------------------------------------------ */
body.house .pk-t{background:var(--hs-card); border:1px solid var(--line)}
body.house .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.house .pk-t td{border-color:var(--line)}
body.house .pk-t code{
  font-family:var(--hs-mn); background:var(--hs-sink);
  border:1px solid var(--line); border-radius:4px;
}

/* --- 11 · cards and form fields --------------------------------------- */
body.house .shelf .card, body.house .cards .card{
  background:var(--hs-card); border:1px solid var(--line); border-radius:10px;
}
body.house .shelf .card:hover, body.house .cards .card:hover{
  border-color:var(--pine);
}
body.house .shelf .card .t{font-weight:600; color:var(--ink)}
body.house .shelf .card .n{color:var(--hs-dim)}
body.house label.f input, body.house .lg-in input{
  background:var(--hs-card); border:1px solid var(--line); border-radius:6px;
  color:var(--ink); font-family:var(--hs-figs);
}
body.house label.f input:focus, body.house .lg-in input:focus{
  border-color:var(--pine);
}

/* --- 12 · home page (rollout step 4). The rebuilt main.home is bc2      */
/*     markup, but the retained chrome sheets carry unscoped .band/.amt   */
/*     rules (hub_hero et al) that leak in - the audit's known collision. */
/*     These pin the bc2 grounds back. Retire with the old sheets, step 5.*/
body.house main.home .band{background:var(--paper) !important; color:var(--ink)}
body.house main.home .band.sunk{background:var(--hs-sink) !important}
body.house main.home .band .lede{color:var(--hs-dim) !important}
body.house main.home .band .fine{color:var(--hs-dim) !important}
body.house main.home .toc, body.house main.home .toc a{
  color:var(--ink) !important}
body.house main.home .slab{
  background:var(--deep) !important; color:#E9F2EC !important}
body.house main.home .slab h2{color:#FFFFFF !important}
body.house main.home .slab p{color:#B9CFC2 !important}
body.house main.home .slab .eb{color:#79A08F !important}
body.house main.home .wf .amt{color:var(--ink) !important;
  font-family:var(--hs-figs)}
body.house main.home .wf .row.net .amt{color:var(--pine) !important}
/* content cap at wide widths - full-bleed grounds, measured content.
   1240px content well; 2560px was the width that broke things. */
body.house main.home .band{
  padding-left:max(var(--pad, 40px), calc(50% - 620px)) !important;
  padding-right:max(var(--pad, 40px), calc(50% - 620px)) !important;
}

/* --- 13 · the deep-skin pass (27-inch audit, 13 Aug 2026). The old     */
/*     families carry hardcoded gradients, brutalist borders and gold    */
/*     chips. The bc2 rule is flat, few-coloured, one accent. These      */
/*     re-ground them; they retire with their sheets at step 5.          */

/* article-family dark hero (.artband: psyd, articles, hubs) */
body.house .artband{background:var(--deep) !important}
body.house .artband h1 em, body.house .artband .bcr [aria-current]{
  color:var(--gold) !important}
body.house .artband .kick{color:#79A08F !important}

/* discipline hub hero - flatten the brutalist slab */
body.house .dc-hero{
  background:var(--deep) !important; border:0 !important;
  border-radius:12px !important; box-shadow:none !important;
}
body.house .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:20px !important;
}
body.house .dc-hero .hj a:hover{
  background:rgba(255,217,118,.14) !important; transform:none !important}
body.house .dc-figs{border:1px solid var(--line) !important;
  box-shadow:none !important; border-radius:10px !important; overflow:hidden}
body.house .dc-figs>div{background:var(--hs-card) !important}

/* simulator + slab family - flatten every gradient to a bc2 ground.
   The tool pages' hero is a bare <section class="hero"> (no wrapper). */
body.house section.hero, body.house .adv .band, body.house .adv .hero,
body.house .clband, body.house .clhero{
  background:var(--deep) !important; background-image:none !important}
body.house section.hero h1{color:#FFFFFF !important}
body.house section.hero h1 em{color:var(--gold) !important}
/* the tool sections were coloured slabs - four dark blocks on one page,
   against the one-slab rule. They become white cards with a hue accent;
   the hero above stays the page's single dark band. */
body.house .slab.pine, body.house .slab.carbon,
body.house .slab.brick, body.house .slab.gold{
  background:var(--hs-card) !important; color:var(--ink) !important;
  border:1px solid var(--line) !important; border-radius:12px !important;
}
body.house .slab.pine{border-left:5px solid var(--pine) !important}
body.house .slab.brick{border-left:5px solid #B5483F !important}
body.house .slab.gold{border-left:5px solid #B0730B !important}
body.house .slab.carbon{border-left:5px solid #161F1B !important}
body.house .slab.pine :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.house .slab.brick :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.house .slab.gold :where(p,span,label,small,div,li,b,i,h2,h3,h4),
body.house .slab.carbon :where(p,span,label,small,div,li,b,i,h2,h3,h4){
  color:inherit !important}
body.house .slab.pine .card, body.house .slab.brick .card,
body.house .slab.gold .card, body.house .slab.carbon .card{
  background:var(--paper) !important; border:1px solid var(--line) !important}
body.house .adv .fbar i{background:var(--gold) !important}
body.house .adv .sell{background:rgba(255,217,118,.10) !important}
/* the off-palette purple game layer joins the palette */
body.house .lvchip{background:var(--pine) !important}
body.house .xptrack i,
body.house .mo i{background:var(--gold) !important}
body.house .tbar i, body.house .gbar i{background:var(--pine) !important}
body.house .simbtn{background:var(--pine) !important; box-shadow:none !important}
body.house .simbtn.locked{background:#3F4A44 !important; box-shadow:none !important}
body.house .bigcta{box-shadow:none !important; border:1.5px solid var(--pine) !important}

/* dark grounds keep light headings - the global heading-ink rule must
   not reach inside a deep band */
body.house .pk-hero h1, body.house .pk-hero h2,
body.house .artband h1, body.house .artband h2,
body.house .dc-hero h1, body.house .dc-hero h2,
body.house .adv .hero h1, body.house .adv .band h1{
  color:#FFFFFF !important}
body.house .dc-hero .dc-d, body.house .dc-hero p{color:#CFE0D6 !important}
body.house .dc-hero .dc-k{color:#79A08F !important}
/* section headings that sit on the paper ground stay ink */
body.house .dc-h, body.house .pr-h{color:var(--ink) !important}
/* the pagekit call-out keeps its dark ground (its type is set light) */
body.house .pk-call{background:var(--deep) !important}
body.house .pk-call h2, body.house .pk-call h3{color:#FFFFFF !important}
/* pagekit hero re-grounded like the rest of the dark-band family */
body.house .pk-hero{background:var(--deep) !important}
body.house .pk-hero h1 em, body.house .pk-hero h2 em{
  color:var(--gold) !important; font-style:normal}

/* the sim's purple "bonus" band joins the palette as a deep band */
body.house .bonus{background:var(--deep) !important; color:#CFE0D6 !important}
body.house .bonus::before{display:none !important}
body.house .bonus .pr-h, body.house .bonus h2, body.house .bonus h3{
  color:#FFFFFF !important}
/* the hub newsletter block keeps its dark ground */
body.house .hubnl{background:var(--deep) !important; border-radius:12px}
/* case-page verdict block: dark ground, light heading */
body.house .dc-out h2, body.house .dc-out h3{color:#FFFFFF !important}

/* --- 14 · ornament neutralizer, generated from the sheets 13 Aug ------- */
/* every selector that carried a hard-offset brutalist shadow */
body.house .btn, body.house .card, body.house .citeb, body.house .dc-ask,
body.house .dc-chg, body.house .dc-ex, body.house .dc-facts, body.house .dc-fb,
body.house .dc-grp, body.house .dc-nav a, body.house .dc-note,
body.house .dc-tw, body.house .fact, body.house .fi-ok, body.house .hcalc,
body.house .hgo, body.house .hmost a, body.house .ig-flow .node,
body.house .ig-split .bar, body.house .ig-stat .g, body.house .ins,
body.house .insf, body.house .np-hub, body.house .np-promo, body.house .pdc,
body.house .pdgone, body.house .pdkey, body.house .pdn, body.house .pdwarn,
body.house .pg, body.house .pk-ask, body.house .pk-calc, body.house .pk-q,
body.house .pk-src, body.house .pk-tw, body.house .pk-v, body.house .ref,
body.house .slab, body.house .src, body.house .srpanel, body.house .srtab,
body.house .tccoda, body.house .tcnext, body.house .tcgo, body.house .tsbadge,
body.house .tsdepth, body.house .tsmeta, body.house .tsupd,
body.house .tsshort, body.house .pk-t{
  box-shadow:none !important}
/* cards and panels: hairline instead of 2px black */
body.house .pdc, body.house .pdkey, body.house .dc-facts, body.house .tsdepth,
body.house .pk-q, body.house .pk-src, body.house .src, body.house .fact{
  border-color:var(--line) !important; border-width:1px !important;
  border-radius:10px !important; background:var(--hs-card) !important}
/* gold chips become quiet: flat gold, no border, no shadow */
body.house .arttool a, body.house .hh-chip, body.house .hgo,
body.house .pr-cta, body.house .src .srk, body.house .tccoda{
  border:0 !important; box-shadow:none !important; border-radius:20px !important}
body.house .np-col h5{background:none !important; padding:0 !important}
/* no heading ever carries a highlighter block */
body.house h1, body.house h2{background:none !important; box-shadow:none !important}
body.house h1 span:not(.scr), body.house h2 span{background:none !important}
/* the warm-cream field family joins the cool palette, everywhere */
body.house label.f, body.house .f, body.house .fgrid>*{
  background:var(--hs-card) !important; border:1px solid var(--line) !important;
  border-radius:8px !important}
body.house label.f>span, body.house .f>span{color:var(--hs-dim) !important}
body.house label.f input, body.house .f input, body.house .f select{
  background:transparent !important; border:0 !important; color:var(--ink) !important}
body.house .hcalc, body.house .pk-calc, body.house .srpanel, body.house .citeb,
body.house .ins, body.house .insf, body.house .ref, body.house .tcnext,
body.house .tctrack, body.house .dc-ask, body.house .dc-ex, body.house .dc-grp,
body.house .dc-note, body.house .dc-tw, body.house .pk-ask, body.house .pk-tw,
body.house .pk-v, body.house .pg, body.house .hmost a, body.house .dc-nav a{
  border-color:var(--line) !important; border-width:1px !important}
/* tool hero inputs: labels and hints legible on the deep band */
body.house section.hero label, body.house section.hero .hint,
body.house .hero .f span{color:#CFE0D6 !important}

/* the deep hero's field VALUES: the sitewide .f input rule above forces
   color:var(--ink), which is invisible on the deep band - and iOS paints
   UA black on number inputs unless the value color is set explicitly.
   Found from a user phone screenshot, 13 Aug. */
body.house section.hero .f input, body.house .hero label.f input{
  color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  caret-color:var(--gold) !important}
body.house section.hero .fv, body.house .hero .fv{color:#CFE0D6 !important}
body.house section.hero .f, body.house .hero label.f{
  border-color:rgba(255,217,118,.45) !important; background:transparent !important}
/* the sim's toggle tray: sink ground, readable caption */
body.house .sell{background:var(--hs-sink) !important; border:1px solid var(--line) !important}
body.house .sell *{color:var(--ink) !important}
body.house .sell .selk, body.house .sell small{color:var(--hs-dim) !important}

/* dc-hero In-short card: the hero-wide p rule above painted the card's own
   labels pale green on the card's white ground (1.37:1, found by the step-5
   family-1 gate audit, 13 Aug 2026). Scoped re-ink; retires with the dc
   family's conversion at step 5. */
body.house .dc-hero .tsshort p{color:var(--ink) !important}
body.house .dc-hero .tsshort .tsk{color:var(--hs-dim) !important}
