/* High-end concept, home page only. Loaded after jdi-mono.css and jdi-life.css.
   Layout order and all SEO text stay as they are; this changes type, hero, pacing, and surfaces. */
body.hx-home{
  --hx-ink:#0f0e0c;--hx-ink-2:#191714;--hx-stone:#f5f2ec;--hx-gold:#c5a35a;--hx-gold-ink:#7d6128;
  --hx-line:rgba(var(--hx-shade-rgb),.14);--hx-line-d:rgba(255,255,255,.18);
  --hx-serif:'Instrument Serif','Times New Roman',serif;--hx-ink-rgb:15,14,12;--hx-shade-rgb:15,14,12;
  --v3-paper:var(--hx-stone);--v3-forest:var(--hx-ink);
  background:#fff!important;
}

/* ---------- headings ---------- */
body.hx-home .v3-hero-h,body.hx-home .v3-h2,body.hx-home .v3-close-h,
body.hx-home .jdiv2 .t-h2,body.hx-home .jdi-ba-section .jdi-ba-heading,
body.hx-home .v3-stat-num,body.hx-home .hx-band-title{
  font-family:var(--hx-serif)!important;font-weight:400!important;letter-spacing:-.012em!important;
}
body.hx-home .v3-h2,body.hx-home .jdiv2 .t-h2,body.hx-home .jdi-ba-section .jdi-ba-heading{
  font-size:clamp(36px,4.3vw,60px)!important;line-height:1.04!important;
}
body.hx-home .v3-h2 span,body.hx-home .jdiv2 .t-h2 span{font-family:inherit!important}
body.hx-home .v3-lead{font-size:17px!important;line-height:1.65!important}
body.hx-home .v3-eyebrow,body.hx-home .jdiv2 .t-eyebrow,body.hx-home .jdi-ba-section .jdi-ba-eyebrow{
  font-size:11.5px!important;letter-spacing:.22em!important;font-weight:600!important;
}

/* ---------- pacing ---------- */
@media(min-width:1024px){body.hx-home .v3-sec{padding-top:128px!important;padding-bottom:128px!important}}
@media(max-width:1023px){body.hx-home .v3-sec{padding-top:72px!important;padding-bottom:72px!important}}

/* ---------- header: promo bar replaced by .hx-offer ---------- */
body.hx-home .fixed.top-0>a.bg-jdi-accent{display:none!important}
body.hx-home .fixed.top-0>header{background:var(--hx-ink)!important;box-shadow:none!important;border-bottom:1px solid var(--hx-line-d)}
body.hx-home .fixed.top-0>header nav a[style*="color:#333"]{color:#fff!important;background:transparent!important;font-weight:500!important}
body.hx-home .fixed.top-0>header nav a[style*="color:#333"] span{font-weight:500!important}
body.hx-home .fixed.top-0>header nav a[style*="color:#333"]:hover{color:var(--hx-gold)!important}
body.hx-home .fixed.top-0>header nav a[data-jdi-mega],body.hx-home .fixed.top-0>header nav a[data-jdi-mega]>span,body.hx-home .fixed.top-0>header nav a[data-jdi-mega]>svg{color:#fff!important}
body.hx-home .fixed.top-0>header nav a[data-jdi-mega]:hover,body.hx-home .fixed.top-0>header nav a[data-jdi-mega]:hover>span,body.hx-home .fixed.top-0>header nav a[data-jdi-mega]:hover>svg{color:var(--hx-gold)!important}
body.hx-home .fixed.top-0>header a[href^="tel:"]{color:#fff!important}
body.hx-home .fixed.top-0>header a[href*="estimate"],body.hx-home .fixed.top-0>header button.bg-jdi-accent,
body.hx-home .fixed.top-0>header a.bg-jdi-accent{background:var(--hx-gold)!important;color:var(--hx-ink)!important}
body.hx-home .fixed.top-0>header button svg{color:#fff}

/* ---------- hero ---------- */
body.hx-home .v3-hero-img{filter:contrast(1.03)!important}
body.hx-home .v3-hero--video .v3-hero-shade{background:linear-gradient(0deg,rgba(var(--hx-shade-rgb),.88) 0%,rgba(var(--hx-shade-rgb),.5) 55%,rgba(var(--hx-shade-rgb),.42) 100%)!important}
body.hx-home .v3-hero .v3-hero-h{font-size:clamp(46px,6.1vw,88px)!important;line-height:.98!important}
body.hx-home .v3-hero .v3-hero-h em{font-style:italic;color:var(--hx-gold-lt)}
body.hx-home .v3-hero .v3-eyebrow{color:rgba(255,255,255,.86)!important}
body.hx-home .v3-hero-sub{font-size:18px!important;max-width:520px!important}
.hx-proof{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:26px;color:#fff;font-size:14px;line-height:1.5;text-decoration:none}
.hx-proof-stars{color:var(--hx-gold);letter-spacing:.12em}
.hx-proof-sep{width:1px;height:14px;background:var(--hx-line-d)}
body.hx-home .v3-hero .v3-btn,body.hx-home .v3-hero .v3-ghost{min-height:48px}
body.hx-home .v3-hero-call{color:#fff}

.hx-hero-form{position:relative}
body.hx-home .jdi-mirylo-form{background:var(--hx-ink)!important;border:1px solid var(--hx-line-d);border-radius:2px 10px 10px 2px!important;box-shadow:0 30px 80px rgba(0,0,0,.42)!important}
.hx-hero-form .jdi-mirylo-form [data-ghl-attr-form]{min-height:340px}

@media(min-width:1024px){
  body.hx-home .v3-hero-inner{grid-template-columns:minmax(0,1fr) 410px!important;gap:72px!important;align-items:end!important;
    min-height:100vh!important;padding:112px 40px 56px!important;max-width:1440px!important}
  body.hx-home .v3-hero-links .v3-btn{display:none}
}
@media(max-width:1023px){
  body.hx-home .v3-hero{background:var(--hx-ink)}
  body.hx-home .v3-hero-img{height:760px!important;bottom:auto!important;object-position:58% 50%!important}
  body.hx-home .v3-hero--video .v3-hero-shade{height:760px;bottom:auto;background:linear-gradient(0deg,var(--hx-ink) 0%,rgba(var(--hx-shade-rgb),.66) 38%,rgba(var(--hx-shade-rgb),.5) 100%)!important}
  body.hx-home .v3-hero-inner{padding:124px 20px 28px!important}
}

/* ---------- ratings strip ---------- */
body.hx-home .v3-badges{background:var(--hx-stone)!important;border-top:0!important;padding-top:30px!important;padding-bottom:30px!important}

/* ---------- full-width project photos ---------- */
.hx-band{position:relative;display:block;height:min(82vh,780px);min-height:420px;overflow:hidden;background:var(--hx-ink);color:#fff}
.hx-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hx-band:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--hx-shade-rgb),.76) 0%,rgba(var(--hx-shade-rgb),.1) 46%,rgba(var(--hx-shade-rgb),0) 100%);pointer-events:none}
.hx-band-cap{position:absolute;z-index:1;left:0;right:0;bottom:0;max-width:1280px;margin:0 auto;padding:0 32px 44px;display:flex;flex-wrap:wrap;gap:16px 40px;align-items:flex-end;justify-content:space-between;box-sizing:border-box}
.hx-band-eyebrow{display:block;margin-bottom:10px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.86)}
.hx-band-title{margin:0;font-size:clamp(30px,3.4vw,48px);line-height:1.05;color:#fff}
.hx-band-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hx-band-link{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border:1px solid rgba(255,255,255,.55);border-radius:2px 10px 10px 2px;color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.hx-band-link:hover{background:#fff;color:var(--hx-ink)}
.hx-band-link--solid{background:var(--hx-gold);color:var(--hx-ink);border-color:var(--hx-gold)}
.hx-band-link--solid:hover{background:#fff;border-color:#fff;color:var(--hx-ink)}
@media(max-width:639px){.hx-band{height:68vh}.hx-band-cap{padding:0 20px 26px}.hx-band-links{width:100%}.hx-band-link{flex:1;justify-content:center;padding:0 12px}}

/* ---------- stats (round 3: light, sits between services and team) ---------- */
body.hx-home .v3-stats{background:var(--hx-stone)!important;color:var(--hx-ink)}
body.hx-home .v3-stats .v3-h2{color:var(--hx-ink)!important}
body.hx-home .v3-stats .v3-lead{color:rgba(var(--hx-shade-rgb),.72)!important}
body.hx-home .v3-stats .v3-stat-num{color:var(--hx-ink)!important;font-size:clamp(56px,6vw,84px)!important;line-height:1!important}
body.hx-home .v3-stats .v3-stat-num small{color:var(--hx-gold-ink)!important;font-family:inherit!important;font-weight:400!important}
body.hx-home .v3-stats .v3-stat-label{color:rgba(var(--hx-shade-rgb),.66)!important}

/* ---------- quieter cards ---------- */
body.hx-home .v3-services img,body.hx-home .jdi-ba-section img{box-shadow:none!important}
body.hx-home .jdi-ba-section [class*="card"]{box-shadow:none!important}
body.hx-home .v3-close-h{font-size:clamp(42px,5.2vw,72px)!important;line-height:1.02!important}
body.hx-home .v3-close-shade{background:linear-gradient(100deg,rgba(var(--hx-shade-rgb),.96) 0%,rgba(var(--hx-shade-rgb),.88) 45%,rgba(var(--hx-shade-rgb),.58) 100%)!important}

/* ---------- offer tab ---------- */
.hx-offer{position:fixed;left:0;bottom:18px;z-index:9996;display:inline-flex;opacity:0;transform:translateX(-12px);pointer-events:none;transition:opacity .25s,transform .25s;align-items:center;min-height:44px;padding:0 16px;background:var(--hx-gold);color:var(--hx-ink);border-radius:0 10px 10px 0;font-size:13.5px;font-weight:600;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.hx-offer:hover{background:#fff}
body.hx-past .hx-offer{opacity:1;transform:none;pointer-events:auto}
/* the offer tab and cost buttons wait until the visitor is past the hero, so nothing covers the form */
body.hx-home:not(.hx-past) .v3-float{opacity:0!important;pointer-events:none!important}
@media(max-width:639px){.hx-offer{bottom:72px;font-size:12.5px;padding:0 12px}.hx-proof-sep{display:none}}

/* header estimate button: inline styles and nav span colours need overriding */
body.hx-home .fixed.top-0>header .nav-cta-btn,body.hx-home .fixed.top-0>header .nav-cta-btn span{background-color:var(--hx-gold)!important;color:var(--hx-ink)!important}
body.hx-home .fixed.top-0>header .nav-cta-btn:hover,body.hx-home .fixed.top-0>header .nav-cta-btn:hover span{background-color:#fff!important}

/* ========== Round 2: more gold, gold on the main buttons, layout tuning ========== */
/* jdi-life accent variables are grey on this build; on the home page they become gold */
body.hx-home{--hx-gold-lt:#dcc07f;--hx-gold-line:rgba(197,163,90,.38);--jl-gold:var(--hx-gold-ink);--jl-gold-h:var(--hx-gold-ink);--jl-gold-lt:var(--hx-gold)}

/* main buttons */
body.hx-home .v3-proc-actions .v3-btn,body.hx-home .v3-bar .v3-btn,body.hx-home .v3-hero-links .v3-btn,
body.hx-home .v3-aside a.bg-jdi-accent[href*="offers"]{background-color:var(--hx-gold)!important;border-color:var(--hx-gold)!important;color:var(--hx-ink)!important}
body.hx-home .v3-proc-actions .v3-btn *,body.hx-home .v3-bar .v3-btn *,body.hx-home .v3-hero-links .v3-btn *,
body.hx-home .v3-aside a.bg-jdi-accent[href*="offers"] *{color:var(--hx-ink)!important}
body.hx-home .v3-proc-actions .v3-btn:hover,body.hx-home .v3-hero-links .v3-btn:hover,
body.hx-home .v3-aside a.bg-jdi-accent[href*="offers"]:hover{background-color:var(--hx-gold-lt)!important;border-color:var(--hx-gold-lt)!important}
body.hx-home .v3-hero .v3-ghost{border-color:var(--hx-gold-line)!important}
body.hx-home .v3-hero .v3-ghost:hover{background:var(--hx-gold)!important;border-color:var(--hx-gold)!important;color:var(--hx-ink)!important}
body.hx-home .hx-band-link:not(.hx-band-link--solid){border-color:var(--hx-gold-line)}

/* header sits on the same 1216px grid as the sections */
body.hx-home .fixed.top-0>header{border-bottom-color:var(--hx-gold-line)}
@media(min-width:1360px){
  body.hx-home .fixed.top-0>header>div{padding-left:32px!important;padding-right:32px!important}
  body.hx-home .fixed.top-0>header nav{padding-left:0!important;padding-right:0!important}
  body.hx-home .fixed.top-0>header a[href^="tel:"]{font-size:17px!important}
}

/* hero: same grid, photo clear on the right, text side darker */
@media(min-width:1024px){
  body.hx-home .v3-hero-inner{max-width:1280px!important;margin:0 auto;padding:112px 32px 64px!important;grid-template-columns:minmax(0,1fr) 400px!important;gap:56px!important}
  body.hx-home .v3-hero--video .v3-hero-shade{background:linear-gradient(90deg,rgba(var(--hx-shade-rgb),.86) 0%,rgba(var(--hx-shade-rgb),.74) 42%,rgba(var(--hx-shade-rgb),.2) 68%,rgba(var(--hx-shade-rgb),.3) 100%),linear-gradient(0deg,rgba(var(--hx-shade-rgb),.6) 0%,rgba(var(--hx-shade-rgb),0) 42%)!important}
}
@media(max-width:1023px){body.hx-home .v3-hero-links .v3-btn{display:none}}
.hx-proof-sep{background:var(--hx-gold-line)}
body.hx-home .jdi-mirylo-form{border-top:2px solid var(--hx-gold)!important}
body.hx-home .v3-hero-call a{border-bottom-color:var(--hx-gold)!important;text-decoration-color:var(--hx-gold)!important}

/* ratings */
body.hx-home .v3-badges .text-yellow-500{color:var(--hx-gold)!important}

/* section rhythm: the two white sections no longer stack their padding */
@media(min-width:1024px){
  body.hx-home .v3-sec{padding-top:112px!important;padding-bottom:112px!important}
}

/* services: taller photos, serif names, gold links */
@media(min-width:1024px){body.hx-home .v3-services .group>div:first-child{aspect-ratio:4/5!important}}
body.hx-home .v3-services .group h3{font-family:var(--hx-serif)!important;font-weight:400!important;font-size:30px!important;line-height:1.08!important;letter-spacing:-.008em!important;color:var(--hx-ink)!important}
body.hx-home .v3-services .group span.text-jdi-accent{color:var(--hx-gold-ink)!important;text-decoration-color:var(--hx-gold)}
body.hx-home .v3-services .group span.text-jdi-accent svg{color:var(--hx-gold)}

/* bands, stats, before/after, video */
.hx-band-eyebrow{color:var(--hx-gold-lt)}
body.hx-home .v3-stats .v3-h2 span{color:var(--hx-gold-ink)!important;font-style:italic}
body.hx-home .v3-stats .v3-stat{border-color:var(--hx-gold-line)!important}
body.hx-home .jdi-ba-knob{background:var(--hx-gold)!important;color:var(--hx-ink)!important}
body.hx-home .v3-viz-tag b{color:var(--hx-gold)}
body.hx-home .v3-vlist .is-active{border-color:var(--hx-gold)!important}

/* process */
body.hx-home .v3-proc .v3-step-num{font-family:var(--hx-serif)!important;font-weight:400!important;font-size:clamp(72px,7vw,104px)!important;letter-spacing:-.02em!important;color:var(--hx-gold-ink)!important;-webkit-text-stroke:0!important;margin-left:0!important}

/* team + reviews */
body.hx-home .v3-team-tabs button.is-active i{color:var(--hx-gold)!important}
body.hx-home .v3-team-progress span{background:var(--hx-gold)!important}
body.hx-home .v3-rv-stars,body.hx-home .jdi-pf-stars{color:var(--hx-gold)!important}
body.hx-home .v3-rv-big{font-family:var(--hx-serif)!important;font-weight:400!important}

/* long text block: serif headings, gold list markers, services and lists in two columns */
body.hx-home .v3-seo .content-prose h2{font-family:var(--hx-serif)!important;font-weight:400!important;font-size:clamp(30px,2.8vw,40px)!important;line-height:1.08!important;letter-spacing:-.01em!important}
body.hx-home .v3-seo .content-prose li::marker{color:var(--hx-gold-ink);font-weight:600}
@media(min-width:768px){
  body.hx-home .v3-seo .content-prose>ul,body.hx-home .v3-seo .content-prose>ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px}
  .hx-seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 40px}
}
body.hx-home .v3-seo .v3-faq summary:hover h3{color:var(--hx-gold-ink)}
body.hx-home .v3-seo .v3-faq summary svg{color:var(--hx-gold-ink)}

/* close */
body.hx-home .v3-next-n{border-color:var(--hx-gold)!important;color:var(--hx-gold-lt)!important}
body.hx-home .v3-close-call a{text-decoration-color:var(--hx-gold)}
body.hx-home .v3-proc-track:after{background:var(--hx-gold)!important}
/* this button paints its face on a :before layer (it lifts on hover), so the gold goes there; the anchor and label stay transparent */
body.hx-home .v3-viz a.v3-btn.v3-viz-cta,body.hx-home .v3-viz a.v3-btn.v3-viz-cta:hover{background-color:transparent!important;border-color:transparent!important;color:var(--hx-ink)!important}
body.hx-home .v3-viz a.v3-btn.v3-viz-cta *{color:var(--hx-ink)!important}
body.hx-home .v3-viz a.v3-btn.v3-viz-cta:before{background:var(--hx-gold)!important}
body.hx-home .v3-viz a.v3-btn.v3-viz-cta:hover:before{background:var(--hx-gold-lt)!important}
body.hx-home .v3-seo .content-prose>ul>li,body.hx-home .v3-seo .content-prose>ol>li{margin:0!important}
@media(max-width:1023px){body.hx-home .v3-hero--video .v3-hero-shade{background:linear-gradient(0deg,var(--hx-ink) 0%,rgba(var(--hx-shade-rgb),.76) 38%,rgba(var(--hx-shade-rgb),.62) 100%)!important}}
@media(max-width:639px){body.hx-home .v3-services .group h3{font-size:25px!important}}
@media(min-width:1360px){body.hx-home .fixed.top-0>header nav a{padding-left:10px!important;padding-right:10px!important}}
/* sidebar */
body.hx-home .v3-aside .h-1\.5{background:var(--hx-gold)!important}
body.hx-home .v3-aside li.border-l-2{border-left-color:var(--hx-gold)!important}
body.hx-home .v3-aside .bg-jdi-mint.text-jdi-accent{color:var(--hx-gold-ink)!important}
body.hx-home .v3-aside .text-4xl{font-family:var(--hx-serif)!important;font-weight:400!important;font-size:52px!important;line-height:1!important;letter-spacing:-.01em}

/* ========== Round 3 (10 Nov): flow. One light/dark rhythm, one testimonial chapter, planning tools together ========== */
/* light sections alternate white and stone; dark is kept for the hero, the homeowner chapter and the close */
body.hx-home .v3-services,body.hx-home .v3-team,body.hx-home .jdi-ba-section,body.hx-home .v3-reviews,body.hx-home .v3-seo{background:#fff!important}
body.hx-home .v3-proc,body.hx-home #cost{background:var(--hx-stone)!important}

/* homeowner chapter: photo band, then video testimonials, then the life tiles, on one dark surface */
body.hx-home .v3-videos{background:var(--hx-ink)!important}
body.hx-home .jl-life{background:var(--hx-ink)!important;color:#fff}
body.hx-home .jl-life .v3-h2{color:#fff!important}
body.hx-home .jl-life .v3-eyebrow{color:rgba(255,255,255,.8)!important}
body.hx-home .jl-life .v3-lead{color:rgba(255,255,255,.72)!important}
body.hx-home .jl-life .v3-textlink{color:#fff!important;text-decoration:underline;text-decoration-color:var(--hx-gold);text-underline-offset:5px}
body.hx-home .jl-life .v3-textlink:hover{color:var(--hx-gold-lt)!important}
body.hx-home .jl-life-wrap{border-top:1px solid var(--hx-gold-line);padding-top:64px}
@media(min-width:1024px){
  body.hx-home .v3-videos.v3-sec{padding-bottom:72px!important}
  body.hx-home .jl-life.v3-sec{padding-top:0!important}
  body.hx-home .hx-band{height:min(72vh,680px)}
}
@media(max-width:1023px){
  body.hx-home .v3-videos.v3-sec{padding-bottom:44px!important}
  body.hx-home .jl-life.v3-sec{padding-top:0!important}
  body.hx-home .jl-life-wrap{padding-top:44px}
}

/* planning section: heading on the same left edge as every other section; calculators, then the AI visualizer */
body.hx-home #cost .maxw-3xl{text-align:left!important;margin-left:0!important;margin-right:0!important;max-width:820px!important}
body.hx-home #cost .t-lead{margin-left:0!important}
body.hx-home #cost .t-h2 span{font-weight:400!important;font-style:italic;color:var(--hx-gold-ink)!important}
body.hx-home #cost>div{max-width:1216px!important}
body.hx-home #cost .v3-viz{margin-top:28px}

/* ========== Round 4 (10 Nov): palette work. Art kept ink & gold (11 Nov); the forest and slate previews are gone. ========== */
/* surfaces that were hard-coded black now follow the palette */
body.hx-home .jdi-ba-cta{background:var(--hx-ink)!important;color:#fff!important}
body.hx-home .jdi-ba-cta:hover{background:var(--hx-ink-2)!important}
body.hx-home .v3-aside a.bg-jdi-accent[href="/contact/"]{background-color:var(--hx-ink)!important;color:#fff!important}
body.hx-home .v3-viz{background-color:var(--hx-ink)!important}
body.hx-home .jdi-ba-label{background:rgba(var(--hx-ink-rgb),.86)!important}
body.hx-home .v3-team-tabs button.is-active{background:var(--hx-ink)!important;border-color:var(--hx-ink)!important}

/* mobile header Call Now pill: inline #111 background, now a quiet outline */
body.hx-home .fixed.top-0>header a[href^="tel:"][style*="background-color"]{background-color:rgba(255,255,255,.06)!important;box-shadow:inset 0 0 0 1px var(--hx-gold-line)}

/* ========== Round 5 (10 Nov): modern sans headings, ref nestbound.co (system sans, semi-bold, tight tracking).
   The default since 11 Nov (Art: "modern sans / ink / gold"). The selectors keep their old weight through
   html:not([data-hx-font="serif"]), so they still win over the serif rules above, which are now only the fallback. ========== */
html:not([data-hx-font="serif"]) body.hx-home{
  --hx-display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',Inter,Arial,sans-serif;
  --hx-display-w:600;--hx-form-h:30px;--hx-form-ls:-.035em;
}
html:not([data-hx-font="serif"]) body.hx-home .v3-hero-h,html:not([data-hx-font="serif"]) body.hx-home .v3-h2,html:not([data-hx-font="serif"]) body.hx-home .v3-close-h,
html:not([data-hx-font="serif"]) body.hx-home .jdiv2 .t-h2,html:not([data-hx-font="serif"]) body.hx-home .jdi-ba-section .jdi-ba-heading,
html:not([data-hx-font="serif"]) body.hx-home .v3-stat-num,html:not([data-hx-font="serif"]) body.hx-home .hx-band-title,
html:not([data-hx-font="serif"]) body.hx-home .v3-services .group h3,html:not([data-hx-font="serif"]) body.hx-home .v3-proc .v3-step-num,
html:not([data-hx-font="serif"]) body.hx-home .v3-rv-big,html:not([data-hx-font="serif"]) body.hx-home .v3-seo .content-prose h2,
html:not([data-hx-font="serif"]) body.hx-home .v3-aside .text-4xl{
  font-family:var(--hx-display)!important;font-weight:600!important;letter-spacing:-.035em!important;
}
/* sizes: sans at 600 reads larger than the serif, so step the big ones down */
html:not([data-hx-font="serif"]) body.hx-home .v3-h2,html:not([data-hx-font="serif"]) body.hx-home .jdiv2 .t-h2,html:not([data-hx-font="serif"]) body.hx-home .jdi-ba-section .jdi-ba-heading{font-size:clamp(32px,3.6vw,52px)!important;line-height:1.06!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-hero .v3-hero-h{font-size:clamp(40px,5vw,72px)!important;line-height:1.03!important;letter-spacing:-.042em!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-close-h{font-size:clamp(36px,4.4vw,60px)!important;line-height:1.04!important}
html:not([data-hx-font="serif"]) body.hx-home .hx-band-title{font-size:clamp(28px,3vw,42px)!important;line-height:1.08!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-stats .v3-stat-num{font-size:clamp(48px,5vw,70px)!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-services .group h3{font-size:24px!important;line-height:1.15!important;letter-spacing:-.03em!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-proc .v3-step-num{font-size:clamp(56px,5.6vw,84px)!important;letter-spacing:-.05em!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-seo .content-prose h2{font-size:clamp(26px,2.4vw,34px)!important;line-height:1.12!important;letter-spacing:-.03em!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-aside .text-4xl{font-size:44px!important;letter-spacing:-.045em!important}
/* gold accent words keep their colour but drop the italic, which only suits the serif */
html:not([data-hx-font="serif"]) body.hx-home .v3-hero .v3-hero-h em,html:not([data-hx-font="serif"]) body.hx-home .v3-stats .v3-h2 span,
html:not([data-hx-font="serif"]) body.hx-home #cost .t-h2 span{font-style:normal!important;font-weight:inherit!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-stats .v3-stat-num small{font-weight:500!important}
html:not([data-hx-font="serif"]) body.hx-home .v3-eyebrow,html:not([data-hx-font="serif"]) body.hx-home .jdiv2 .t-eyebrow,
html:not([data-hx-font="serif"]) body.hx-home .jdi-ba-section .jdi-ba-eyebrow{letter-spacing:.16em!important}

/* ========== Round 1 of the client PDF (11 Nov) ========== */
/* change 1: hero text block centred against the estimate form (was bottom-aligned, so the buttons sat below the form) */
@media(min-width:1024px){
  body.hx-home .v3-hero-inner{align-items:center!important;padding-top:104px!important;padding-bottom:40px!important}
  body.hx-home .v3-hero-copy{padding-top:0!important;padding-bottom:0!important;margin-top:0!important}
}
/* changes 4 + 5: new section order (before/after, process, team, numbers, services, videos, text, reviews, visualizer).
   Light sections alternate white / stone; videos and the close stay dark. */
body.hx-home .jdi-ba-section,body.hx-home .v3-team,body.hx-home .v3-services,body.hx-home .v3-seo,body.hx-home .hx-viz-sec{background:#fff!important}
body.hx-home .v3-proc,body.hx-home .v3-stats,body.hx-home .v3-reviews{background:var(--hx-stone)!important}
@media(min-width:1024px){body.hx-home .v3-videos.v3-sec{padding-bottom:112px!important}}
@media(max-width:1023px){body.hx-home .v3-videos.v3-sec{padding-bottom:72px!important}}
.hx-viz-in{max-width:1216px;margin:0 auto;padding:0 20px;box-sizing:content-box}
@media(min-width:640px){.hx-viz-in{padding:0 32px}}
