/* The house, for the public pages that predate it (About, the ways-to-work pages, FAQs, Pay, the policies, 404).
   Loaded after /site.css and only on body.house-page. Current tokens, type, controls and rules; the pages keep their
   own content and order. Night rooms stay night, the practical pages are bone paper, as on Services and Start.
   Nothing here touches Home, Services, Work, Start or the case studies. */

/* ---------- materials: night rooms and bone paper ---------- */
.house-page main{display:block}
.house-page main>section,.house-page main>div:not(.brass-rule){position:relative;padding:clamp(80px,8.5vw,128px) var(--m)}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery,.faq-closer,.cta){background:var(--night);color:var(--paper)}
.house-page :is(.values,.territory,.delivery){background:#151622}
.house-page :is(.origin,.crystal,.justin,.about-pause,.services,.partners-teaser,.pricing,.faq,.products,.bigger,.engagements,.relation,.ways,.builds,.whofor,.page-content){
  color:var(--ink);background:var(--bone)}
.house-page .brass-rule{display:none}
.house-page :is(.crystal,.justin,.about-pause){padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(56px,6vw,96px)}
.house-page .crystal{padding-top:clamp(80px,8.5vw,128px)}

/* ---------- arrival: every page opens on the house night ---------- */
.house-page :is(.about-hero,.sol-hero,.ess-hero,.adv-hero,.page-hero){background:var(--night);color:var(--paper);padding:clamp(72px,7.5vw,116px) var(--m) clamp(64px,7vw,100px)}
.house-page :is(.about-hero-h,.sol-hero-h,.ess-hero-h,.adv-hero-h,.hero-h1){margin-top:22px;max-width:14ch;font-size:clamp(46px,5.6vw,92px);font-weight:520;line-height:.94;letter-spacing:-.064em;color:#f4efe3;text-wrap:balance}
.house-page :is(.page-hero-h){margin-top:22px;max-width:16ch;font-size:clamp(44px,4.8vw,76px);font-weight:520;line-height:.94;letter-spacing:-.064em;color:#f4efe3;text-wrap:balance}
.house-page :is(.about-hero-h,.sol-hero-h,.ess-hero-h,.adv-hero-h,.page-hero-h,.hero-h1) .accent{display:block;margin:.04em 0 0 .5em;font-size:1.06em;letter-spacing:-.05em;color:var(--warm-white)}
.house-page :is(.about-hero-sub,.sol-hero-sub,.ess-hero-sub,.adv-hero-sub,.page-hero-sub){max-width:560px;margin-top:28px;font-size:18px;line-height:1.6;color:#d2cdc0}
.house-page :is(.adv-hero-inner){max-width:none}
.house-page .adv-hero-anchor{margin-top:28px;font:400 22px/1.35 Cardo,Georgia,serif;letter-spacing:-.01em;color:#e6e0d2;max-width:40ch}

/* ---------- labels: the house eyebrow everywhere a legacy label stood ---------- */
.house-page :is([class$="-eyebrow"],[class*="-eyebrow "],.hero-label,.page-updated,.cta-eyebrow,.svc-label,.svc-timeline-label,.diagnostic-label,.eng-label,.eng-meta-label,.delivery-label,.delivery-comms-label,.way-point-label,
  .product-num,.svc-num,.diagnostic-num,.territory-num,.whofor-num,.build-num,.eng-num,.eng-phase-num,.pay-num,.tension-prob,.pay-icon,.val-ghost,.way-tag){
  display:block;font:550 10.5px/1.6 Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--copper-ink)}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery,.faq-closer,.cta,.pay-box,.about-hero,.sol-hero,.ess-hero,.adv-hero,.page-hero,.hero-inner) :is([class$="-eyebrow"],[class*="-eyebrow "],.hero-label,.cta-eyebrow,.delivery-label,.delivery-comms-label,.territory-num,.tension-prob,.pay-icon,.pay-num,.val-ghost){color:var(--copper-lit)}
.house-page :is([class$="-line"],.about-hero-line,.page-hero-line,.hero-label-line){display:none}
.house-page .val-ghost:before{content:attr(data-n)}

/* ---------- headings ---------- */
.house-page :is(.phil-h,.values-h,.tension-h,.territory-h,.products-h,.builds-h,.delivery-h,.whofor-h,.ways-h,.diagnostic-h,.faq-h,.pt-h,.bigger-h,.relation-h,.eng-h,.pr-h){
  margin-top:18px;max-width:22ch;font-size:clamp(34px,3.6vw,54px);font-weight:520;line-height:1;letter-spacing:-.058em;color:#14151e;text-wrap:balance}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery) :is(.phil-h,.values-h,.tension-h,.territory-h,.delivery-h){color:#f4efe3}
.house-page :is(.phil-h,.values-h,.tension-h,.territory-h,.products-h,.builds-h,.delivery-h,.whofor-h,.ways-h,.diagnostic-h,.faq-h,.pt-h,.bigger-h,.relation-h,.eng-h,.pr-h) .accent{color:var(--copper-ink)}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery) .accent{color:var(--warm-white)}
.house-page .page-section-h{margin-top:44px;font-size:21px;font-weight:560;line-height:1.25;letter-spacing:-.025em;color:#15161f}

/* ---------- reading text ---------- */
.house-page :is([class$="-body"],[class*="-body "],[class$="-bio"],[class*="-bio "],.products-sub,.builds-sub,.ways-sub,.delivery-comms-body,.svc-fit,.svc-before,.svc-after,.eng-outcome,.eng-tagline,.way-summary,.way-fit,.pr-note,.products-note,.ways-note,.diagnostic-note,.faq-a,.pay-text,.territory-sub,.eng-sub){
  max-width:64ch;font-size:16px;line-height:1.7;color:#393941}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery,.cta,.pay-box) :is([class$="-body"],[class*="-body "],.territory-sub,.pay-text){color:#d2cdc0}
.house-page :is([class$="-body"],[class*="-body "],[class$="-bio"],[class*="-bio "],.faq-a)+:is([class$="-body"],[class*="-body "],[class$="-bio"],[class*="-bio "]){margin-top:18px}
.house-page .page-content>*{max-width:720px}
.house-page .page-body{margin-top:14px;font-size:16.5px;line-height:1.75;color:#393941}
.house-page .page-updated{margin-bottom:8px}
.house-page :is(.page-body,.faq-a,[class$="-body"],[class$="-bio"],.faq-closer-text,.pr-note,.cta-note) a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);transition:color .24s var(--ease)}
.house-page :is(.page-body,.faq-a,[class$="-body"],[class$="-bio"]) a:hover{color:var(--copper-ink)}

/* ---------- names and secondary lines ---------- */
.house-page :is(.val-title,.tension-ch,.product-name,.svc-name,.diagnostic-q,.diagnostic-name,.eng-name,.crystal-name,.justin-name,.territory-h2,.build-name,.delivery-name,.whofor-name,.way-name,.faq-q){
  font-size:21px;font-weight:560;line-height:1.25;letter-spacing:-.025em;color:#15161f}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery) :is(.val-title,.tension-ch,.territory-h2,.build-name,.delivery-name,.whofor-name){color:#f4efe3}
.house-page :is(.product-sub,.svc-sub,.eng-name-sub,.crystal-title,.justin-title,.product-tagline){margin-top:6px;font:400 19px/1.3 Cardo,Georgia,serif;letter-spacing:-.01em;color:#4c463f}
.house-page :is(.crystal-quote,.justin-quote){margin-top:32px;padding-left:20px;border-left:1px solid var(--copper);font:400 24px/1.3 Cardo,Georgia,serif;letter-spacing:-.015em;color:#2b2a30;max-width:34ch}
.house-page .origin-text{max-width:30ch;font:400 clamp(28px,3vw,42px)/1.2 Cardo,Georgia,serif;letter-spacing:-.02em;color:#15161f}
.house-page .origin-sub{margin-top:20px;font-size:16px;line-height:1.7;color:#4a4950}
.house-page .about-pause{text-align:left}
.house-page .about-pause-text{max-width:30ch;font:400 clamp(24px,2.4vw,32px)/1.25 Cardo,Georgia,serif;color:#2b2a30}
.house-page :is(.crystal-rule,.justin-rule,.about-pause-rule){display:none}
.house-page :is(.crystal-name,.justin-name){font-size:clamp(28px,2.6vw,38px);font-weight:520;letter-spacing:-.045em;line-height:1}
.house-page :is(.crystal-bio,.justin-bio){margin-top:18px}
.house-page :is(.crystal-title,.justin-title){margin-top:10px;margin-bottom:6px}
.house-page :is(.crystal-grid,.justin-grid){max-width:680px}

/* ---------- two-part rooms: heading on the left, the detail on the right ---------- */
.house-page :is(.phil-inner,.faq-inner,.pt-inner,.bigger-inner,.relation-inner,.diagnostic-header){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(32px,5vw,96px);align-items:start}
.house-page :is(.tension-top,.products-top,.territory-top,.builds-top,.delivery-top,.whofor-top,.ways-top,.values-inner>.values-h){margin-bottom:48px}
.house-page .values-inner>.values-eyebrow{margin-bottom:0}
.house-page :is(.faq-left,.pt-left,.bigger-left,.relation-left){position:sticky;top:calc(var(--shell) + 32px)}

/* ---------- grids of equal things: cards are rooms divided by rules, not boxes ---------- */
.house-page :is(.tension-grid,.values-grid,.territory-grid,.builds-grid,.delivery-grid,.whofor-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:36px clamp(28px,3vw,48px)}
.house-page :is(.tension-card,.val-card,.territory-card,.build-card,.delivery-card,.whofor-card){padding-top:22px;border-top:1px solid #191b2926}
.house-page :is(.philosophy,.values,.tension,.territory,.delivery) :is(.tension-card,.val-card,.territory-card,.build-card,.delivery-card,.whofor-card){border-top-color:var(--line-2)}
.house-page :is(.tension-card,.val-card,.territory-card,.build-card,.delivery-card,.whofor-card)>*+*{margin-top:12px}
.house-page .delivery-comms{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-2);max-width:72ch}
.house-page .delivery-comms-body{margin-top:10px}

/* White Label "ways" and Essentials "products": the practical options, set like Services' ways list */
.house-page .ways{isolation:auto;z-index:auto}
.house-page .ways:before{content:none}
.house-page :is(.ways-grid,.products-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:28px;margin-top:0;align-items:stretch}
.house-page :is(.way-card,.product-card){display:flex;flex-direction:column;padding:26px 24px 24px;background:var(--paper);border:1px solid #191b2921}
.house-page .way-name{margin-top:8px}
.house-page .product-name{margin-top:10px;font-size:26px;letter-spacing:-.035em}
.house-page .product-price{margin-top:18px;font-size:clamp(36px,3.4vw,48px);font-weight:520;line-height:1;letter-spacing:-.055em;color:#14151e}
.house-page .product-tagline{margin-top:12px}
.house-page :is(.product-rule,.way-rule){height:1px;margin:20px 0 4px;background:#191b2926}
.house-page :is(.product-list,main ul){list-style:none;margin:0;padding:0}
.house-page .product-list li,.house-page main ul:not(.product-list) li{padding:9px 0;border-bottom:1px solid #191b2914;font-size:14.5px;line-height:1.55;color:#393941}
.house-page .product-meta{margin-top:18px;font-size:12.5px;color:#5b5a60}
.house-page :is(.product-card,.way-card)>:is(.product-cta,.way-cta):last-child{margin-top:auto}
.house-page .way-points{display:grid;gap:0;margin-top:16px}
.house-page :is(.products-note,.ways-note){margin-top:28px}
.house-page .way-point{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:10px 0;border-top:1px solid #191b2914}
.house-page .way-point-val{font-size:14.5px;line-height:1.5;color:#15161f}
.house-page .way-summary{margin-top:12px}
.house-page .way-fit{margin-top:14px;font-size:14px;color:#4a4950}

/* Custom Work: the four situations, then each service as a room with its own detail */
.house-page .diagnostic-header{margin-bottom:40px;align-items:end}
.house-page .diagnostic-rows{border-bottom:1px solid #191b2926}
.house-page .diagnostic-row{display:grid;grid-template-columns:72px minmax(0,1.6fr) minmax(0,1fr) 28px;gap:12px 28px;align-items:center;padding:22px 0;border-top:1px solid #191b2926;color:inherit;transition:color .24s var(--ease)}
.house-page .diagnostic-divider{display:none}
.house-page .diagnostic-q{font-size:18px}
.house-page .diagnostic-name{margin-top:4px;font-size:21px}
.house-page .diagnostic-arrow{justify-self:end;font-size:18px;color:var(--copper-ink);transition:transform .24s var(--ease)}
.house-page .services>.svc-item{margin-top:0}
.house-page .svc-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,5vw,96px);padding:56px 0;border-top:1px solid #191b2926}
.house-page .diagnostic+.svc-item{margin-top:72px}
.house-page .svc-name{grid-area:auto;margin-top:12px;font-size:clamp(30px,2.8vw,42px);font-weight:520;letter-spacing:-.05em;line-height:1}
.house-page .svc-fit{margin-top:18px;font-size:14.5px;color:#4a4950}
.house-page .svc-before{margin-top:16px;font:400 21px/1.35 Cardo,Georgia,serif;color:#2b2a30}
.house-page .svc-after{margin-top:10px}
.house-page :is(.svc-tags){display:flex;flex-wrap:wrap;margin-top:18px;font-size:14.5px;line-height:1.75;color:#15161f}
.house-page .svc-tag:not(:last-child):after{content:'·';margin:0 10px;color:var(--copper)}
.house-page .svc-timeline{margin-top:32px}
.house-page .svc-timeline-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));margin-top:10px;border-top:1px solid #191b2926}
.house-page .svc-timeline-item{padding:14px 16px 4px 0}
.house-page .svc-timeline-val,.house-page .eng-meta-val{font-size:18px;font-weight:560;letter-spacing:-.02em;color:#15161f}
.house-page .svc-timeline-key{margin-top:4px;font-size:12.5px;line-height:1.5;color:#5b5a60}

/* Groundwork: engagements as rooms with phases and terms */
.house-page .eng-section+.eng-section,.house-page .eng-item+.eng-item{margin-top:0}
.house-page .eng-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,5vw,96px);padding:56px 0;border-top:1px solid #191b2926}
.house-page .eng-top{margin-bottom:8px}
.house-page .eng-name{margin-top:12px;font-size:clamp(30px,2.8vw,42px);font-weight:520;letter-spacing:-.05em;line-height:1}
.house-page .eng-phases{display:grid;gap:0;margin-top:18px;border-bottom:1px solid #191b2926}
.house-page .eng-phase{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid #191b2926}
.house-page .eng-phase-text{font-size:15px;line-height:1.6;color:#393941}
.house-page .eng-meta{margin-top:24px;display:grid;gap:0}
.house-page .eng-meta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:12px 0;border-top:1px solid #191b2926}
.house-page .eng-outcome{margin-top:18px}

/* FAQs: questions as ruled entries, answers always visible */
.house-page .faq-item{padding:22px 0 24px;border-top:1px solid #191b2926}
.house-page .faq-item:last-child{border-bottom:1px solid #191b2926}
.house-page .faq-q{font-size:18px}
.house-page .faq-a{margin-top:8px;font-size:15.5px}
.house-page .page-content>.page-updated+.faq-item{margin-top:28px}
.house-page .faq-closer{padding-top:72px;padding-bottom:72px}
.house-page .faq-closer-text{max-width:40ch;font:400 26px/1.3 Cardo,Georgia,serif;letter-spacing:-.02em;color:#e6e0d2}
.house-page .faq-closer-text a{color:var(--copper-lit)}

/* Pricing note and the small two-part teasers */
.house-page .pricing{padding-top:clamp(64px,6vw,96px);padding-bottom:clamp(64px,6vw,96px)}
.house-page .pr-body{margin-top:18px}
.house-page .pr-note{margin-top:14px;font-size:14px;color:#4a4950}
.house-page :is(.pt-body,.bigger-body,.relation-body){margin-top:4px}

/* Pay: the steps as a lit sheet, like Services' next steps */
.house-page .pay-box{margin-bottom:12px;padding:30px 32px 26px;max-width:720px;color:var(--paper);background:#191b29}
.house-page .pay-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.house-page .pay-icon{margin-bottom:12px}
.house-page .pay-text{font-size:15px;line-height:1.6}

/* ---------- controls: the house button, quiet link and text link ---------- */
.house-page .btn-p{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:13px 22px;font-size:14px;font-weight:400;letter-spacing:.005em;text-transform:none;background:var(--copper);color:var(--night);border:1px solid var(--copper);
  transition:background-color .24s var(--ease),border-color .24s var(--ease)}
.house-page .btn-p:after{content:'↗';font-size:17px;line-height:1;transition:transform .24s var(--ease)}
.house-page .btn-s{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;letter-spacing:0;text-transform:none;color:var(--mist);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/100% 1px no-repeat;transition:color .24s var(--ease)}
.house-page :is(.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta){display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:44px;margin-top:22px;font-size:13px;letter-spacing:0;text-transform:none;color:#15161f;border-bottom:1px solid currentColor;transition:color .24s var(--ease)}
.house-page :is(.btn-s,.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta) .arrow{font-size:16px;transition:transform .24s var(--ease)}
.house-page :is(.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta) .arrow{color:var(--copper-ink)}
@media(hover:hover){
  .house-page .btn-p:hover{background:var(--paper);border-color:var(--paper);transition-duration:.16s}
  .house-page .btn-p:hover:after{transform:translate(1.4px,-1.4px);transition-duration:.16s}
  .house-page .btn-s:hover{color:#fff;transition-duration:.16s}
  .house-page :is(.btn-s,.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta):hover .arrow{transform:translateX(2px);transition-duration:.16s}
  .house-page :is(.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta):hover{color:var(--copper-ink);transition-duration:.16s}
  .house-page .diagnostic-row:hover{color:var(--copper-ink);transition-duration:.16s}
  .house-page .diagnostic-row:hover .diagnostic-arrow{transform:translateX(2px);transition-duration:.16s}
}
.house-page .btn-p:focus-visible{outline-color:var(--paper)}
.house-page .btn-p:active{background:#d9a27c;border-color:#d9a27c;transition:none}
.house-page :is(.btn-s,.product-cta,.pt-link,.bigger-link,.relation-link,.way-cta):active{color:var(--copper-ink);transition:none}

/* ---------- the invitation: the house closing room ---------- */
.house-page .cta{padding:clamp(96px,10vw,140px) var(--m) clamp(80px,8vw,104px);background:linear-gradient(180deg,#17171e 0%,#151622 42%,#12131c 100%);overflow:hidden}
.house-page .cta-h{margin-top:18px;max-width:18ch;font-size:clamp(40px,5vw,84px);font-weight:520;line-height:.94;letter-spacing:-.062em;color:#f4efe3;text-wrap:balance}
.house-page .cta-h .accent{display:block;margin:.04em 0 0 .6em;font-size:1.04em;letter-spacing:-.05em;color:var(--warm-white)}
.house-page .cta-sub{max-width:40ch;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font:400 24px/1.3 Cardo,Georgia,serif;letter-spacing:-.02em;color:#e6e0d2}
.house-page .cta-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:30px}
.house-page .cta-note{margin-top:20px;font-size:12.5px;color:#b3ada1}

/* ---------- 404: the house night, a short message and the way back ---------- */
.house-error .house-main{min-height:calc(100svh - var(--shell) - 220px);padding:clamp(80px,10vw,150px) var(--m);background:var(--night)}
.house-error .house-main>.hero-inner{max-width:900px;padding:0}
.house-error .hero-italic{margin-top:26px;font:400 24px/1.3 Cardo,Georgia,serif;color:#e6e0d2}
.house-error .hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;margin-top:34px}

/* ---------- tablet and phone ---------- */
@media(max-width:1023px){
  .house-page :is(.phil-inner,.faq-inner,.pt-inner,.bigger-inner,.relation-inner,.diagnostic-header,.svc-item,.eng-item){grid-template-columns:minmax(0,1fr)}
  .house-page :is(.faq-left,.pt-left,.bigger-left,.relation-left){position:static}
}
@media(max-width:600px){
  .house-page main>section,.house-page main>div:not(.brass-rule){padding-top:72px;padding-bottom:72px}
  .house-page :is(.about-hero,.sol-hero,.ess-hero,.adv-hero,.page-hero){padding-top:56px;padding-bottom:56px}
  .house-page :is(.about-hero-h,.sol-hero-h,.ess-hero-h,.adv-hero-h,.hero-h1){font-size:min(42px,10.8vw)}
  .house-page .page-hero-h{font-size:min(40px,10.4vw)}
  .house-page :is(.about-hero-sub,.sol-hero-sub,.ess-hero-sub,.adv-hero-sub,.page-hero-sub){font-size:16px;margin-top:22px}
  .house-page :is(.phil-h,.values-h,.tension-h,.territory-h,.products-h,.builds-h,.delivery-h,.whofor-h,.ways-h,.diagnostic-h,.faq-h,.pt-h,.bigger-h,.relation-h,.eng-h,.pr-h){font-size:min(34px,9.2vw)}
  .house-page .cta-h{font-size:min(40px,10.4vw)}
  .house-page :is(.crystal-quote,.justin-quote,.cta-sub,.faq-closer-text){font-size:21px}
  .house-page .diagnostic-row{grid-template-columns:36px minmax(0,1fr) 20px;column-gap:14px;grid-template-areas:'num q arrow' 'num answer arrow'}
  .house-page .diagnostic-num{grid-area:num;align-self:start;padding-top:4px}
  .house-page .diagnostic-q{grid-area:q}
  .house-page .diagnostic-answer{grid-area:answer}
  .house-page .diagnostic-arrow{grid-area:arrow}
  .house-page .pay-box{padding:24px 20px 20px}
  .house-page :is(.way-card,.product-card){padding:22px 20px 20px}
}
@media(prefers-reduced-motion:reduce){.house-page *{transition:none!important}.house-page :is(.btn-p:after,.arrow,.diagnostic-arrow){transform:none!important}}
