/* GENERATED by build/hor-el/make_css.py - do not edit on the server. Source: build/hor/hor.css */
/* How to Open a Rehab Center: only the components the homepage, consulting page, ATM pillar and SEO pillar
   do not already have. Everything else (surfaces, heads, cards, panels, bands, quotes, team, accordion,
   CTA, type) is shared, so this page reads as the same site. */

/* ---------- 01 hero: one CTA, and a longer H1 than the other pillars ---------- */
.hor .chero .paths{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.hor .chero .paths .btn{flex:0 0 auto}
.hor .cta-core .paths.mid{display:flex;justify-content:center;margin-top:clamp(22px,3vh,28px)}
.hor .chero .tag .ln{white-space:normal}

/* ---------- 06 the ten steps: a ledger with the gold circled numeral ---------- */
/* Ten steps of one or two paragraphs each. Cards would force them all to one height, so the step is a row:
   numeral and name in the left column, the copy and the service link in the right, hairline between rows. */
.stepledger{border-top:1px solid var(--line-light)}
.steprow{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);
  gap:clamp(20px,3vw,56px);align-items:start;padding:clamp(26px,3.2vh,34px) 0;
  border-bottom:1px solid var(--line-light)}
.stepname{display:flex;flex-direction:column;gap:14px}
.stepn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;
  border-radius:50%;border:1.5px solid rgba(255,176,0,.5);background:rgba(255,176,0,.1);
  font-family:var(--disp);font-weight:600;font-size:18px;line-height:1;letter-spacing:-.02em;
  color:var(--gold-deep);
  transition:background .2s ease,border-color .2s ease}
.stepname h3{margin:0;font-family:var(--disp);font-weight:600;font-size:clamp(21px,1.85vw,27px);
  line-height:1.18;letter-spacing:-.02em;color:var(--navy);transition:color .2s ease}
.steptext p{margin:0;font-size:16px;line-height:1.8;color:var(--on-light-2);max-width:66ch}
.steptext p + p{margin-top:16px}
.steptext .svclink{margin-top:18px}
.steprow:hover .stepn{background:rgba(255,176,0,.2);border-color:var(--gold)}
.steprow:hover .stepname h3{color:var(--gold-deep)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- 09 the state directory: 50 plain-text names, five columns ---------- */
/* Plain text at launch is a hard gate, so this is a grid of names with no links and no boxes. Column-major
   flow keeps the alphabet reading down each column. */
.stategrid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(10,auto);
  grid-auto-flow:column;column-gap:clamp(20px,2.4vw,40px);border-top:1px solid var(--line-light)}
.statecell{display:flex;align-items:center;min-height:46px;padding:8px 0;
  border-bottom:1px solid var(--line-light);font-family:var(--body);font-size:15px;font-weight:500;
  color:var(--navy)}
.statenote{margin-top:clamp(18px,2.2vh,24px);font-family:var(--body);font-size:13px;
  color:var(--muted)}

/* ---------- 10 three facility variants, equal cards ---------- */
.svcgrid.three{grid-template-columns:repeat(3,1fr)}
.svcgrid.three .svc .sysn{display:block;font-family:var(--body);font-size:11px;font-weight:500;
  letter-spacing:.16em;color:var(--gold-deep);margin-bottom:8px}
.svcgrid.three .svc{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.svcgrid.three .svc:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(23,29,58,.16);
  border-color:rgba(255,176,0,.45)}
.svcgrid.three .svc:hover::before{transform:scaleX(1)}

/* ---------- 11 the proof band's stat strip sits above the copy row ---------- */
.a11 .statrow{margin-bottom:clamp(24px,3vh,34px)}
.a11 .erow{margin-top:0}

/* ---------- 12 the two consulting links, gold underlined, inside the copy column ---------- */
.a12 .ecol .secfoot{margin-top:14px}
.a12 .ecol p + p{margin-top:18px}

/* ---------- 13 a monogram stands in where a founder has no headshot ---------- */
.tq figcaption .mono{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  flex:none;border-radius:50%;background:rgba(255,176,0,.14);border:1px solid rgba(255,176,0,.35);
  font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--gold-deep)}

/* ---------- 16 the dual author and reviewer box ---------- */
.author.dual{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,34px);align-items:start;
  max-width:860px}
.author.dual .abox{display:flex;gap:16px;align-items:center}
.author.dual .abox img{width:56px;height:70px;object-fit:cover;object-position:50% 20%;border-radius:12px;
  flex:none}
.author.dual .abox p{margin:0;font-size:15px;line-height:1.6;color:var(--on-dark-2)}
.author.dual > small{grid-column:1 / -1;font-family:var(--body);font-size:12.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-3)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .stategrid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(13,auto)}
}
@media (max-width:900px){
  .steprow{grid-template-columns:1fr;gap:12px}
  .steptext p{max-width:none}
  .stepname{flex-direction:row;align-items:center;gap:14px}
  .stategrid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(17,auto)}
  .svcgrid.three{grid-template-columns:1fr}
  .author.dual{grid-template-columns:1fr}
}
@media (max-width:700px){
  /* three figures across a phone overflowed the viewport; one per row instead */
  .hor .statrow.three{grid-template-columns:1fr}
  .hor .statrow.three .lstat + .lstat{border-left:0;border-top:1px solid var(--line-dark)}
  .stategrid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(25,auto)}
  .hor .chero .paths{flex-direction:column;align-items:stretch}
}


/* ---------- Elementor parity for this page ---------- */
.bhp-hor .paths .elementor-widget-button{width:auto;flex:0 0 auto}
.bhp-hor .paths{display:flex}
.bhp-hor .shead.e-con{margin-block-end:20px!important}
.bhp-hor .erow.e-con,.bhp-hor .statrow.e-con,.bhp-hor .svcgrid.e-con,.bhp-hor .stepledger.e-con,
.bhp-hor .stategrid.e-con{margin-block-start:0!important}
/* 06 the step ledger: Elementor grid containers need the tracks spelled out */
.bhp-hor .stepledger.e-con{padding:0}
.bhp-hor .steprow.e-con{display:grid!important;
  grid-template-columns:minmax(0,.36fr) minmax(0,.64fr)!important;align-items:start!important;
  column-gap:clamp(20px,3vw,56px)!important;row-gap:12px!important}
.bhp-hor .stepname{gap:14px}
/* the numeral is a heading widget, so the gold circle lives on its own title element */
.bhp-hor .stepn .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,176,0,.5);
  background:rgba(255,176,0,.1);color:var(--gold-deep);transition:background .2s ease,border-color .2s ease}
.bhp-hor .steprow.e-con:hover .stepn .elementor-heading-title{background:rgba(255,176,0,.2);
  border-color:var(--gold)}
.bhp-hor .steprow.e-con:hover .stepname h3 .elementor-heading-title{color:var(--gold-deep)}
.bhp-hor .stepname h3 .elementor-heading-title{transition:color .2s ease}
.bhp-hor .steptext .elementor-widget-text-editor p{max-width:66ch}
.bhp-hor .steptext .svclink{margin-top:18px}
/* 09 the state directory: five columns, column major, plain text */
.bhp-hor .stategrid.e-con{display:grid!important;grid-template-columns:repeat(5,1fr)!important;
  grid-template-rows:repeat(10,auto)!important;grid-auto-flow:column!important;
  column-gap:clamp(20px,2.4vw,40px)!important;row-gap:0!important}
.bhp-hor .statecell.e-con{min-height:46px}
/* 10 three variant cards */
.bhp-hor .svcgrid.three.e-con{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
.bhp-hor .svcgrid.three .svc.e-con{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.bhp-hor .svcgrid.three .svc.e-con:hover{transform:translateY(-4px);
  box-shadow:0 26px 60px rgba(23,29,58,.16);border-color:rgba(255,176,0,.45)}
/* 11 the Radix figures */
.bhp-hor .statrow.three.e-con{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
.bhp-hor .a11 .statrow.e-con{margin-bottom:clamp(24px,3vh,34px)}
.bhp-hor .statrow .lstat .fig .elementor-heading-title{color:var(--gold)!important}
/* 12 the two consulting links inside the copy column */
.bhp-hor .sec-navy .ecol a,.bhp-hor .sec-deep .ecol a{color:#fff}
/* 13 the monogram standing in for a missing headshot */
.bhp-hor .tq .mono .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;background:rgba(255,176,0,.14);
  border:1px solid rgba(255,176,0,.35);color:var(--gold-deep)}
.bhp-hor .tq img{width:46px!important;height:46px;object-fit:cover;border-radius:999px}
.bhp-hor .tq .elementor-widget-image{width:auto;flex:0 0 auto}
/* 14 a three-up team row */
.bhp-hor .teamgrid.three.e-con{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
.bhp-hor .teamgrid.three .tbody{justify-content:center}
/* 16 the dual author box */
.bhp-hor .author.dual.e-con{display:grid!important;grid-template-columns:1fr 1fr!important;
  align-items:start!important}
.bhp-hor .author.dual .abox img{width:56px!important;height:70px;object-fit:cover;object-position:50% 20%;
  border-radius:12px}
.bhp-hor .cta-core .support p{color:rgba(247,242,231,.56)}
@media (max-width:1100px){
  .bhp-hor .stategrid.e-con{grid-template-columns:repeat(4,1fr)!important;
    grid-template-rows:repeat(13,auto)!important}
}
@media (max-width:900px){
  .bhp-hor .steprow.e-con{grid-template-columns:1fr!important}
  .bhp-hor .steptext .elementor-widget-text-editor p{max-width:none}
  .bhp-hor .stategrid.e-con{grid-template-columns:repeat(3,1fr)!important;
    grid-template-rows:repeat(17,auto)!important}
  .bhp-hor .svcgrid.three.e-con,.bhp-hor .teamgrid.three.e-con{grid-template-columns:1fr!important}
  .bhp-hor .author.dual.e-con{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  .bhp-hor .statrow.three.e-con{grid-template-columns:1fr!important}
  .bhp-hor .stategrid.e-con{grid-template-columns:repeat(2,1fr)!important;
    grid-template-rows:repeat(25,auto)!important}
}
