/* Focused homepage and shared brand adjustments. Loaded after the site system. */
.site-header .brand{position:relative;width:clamp(112px,11vw,148px);height:56px}
.site-header .brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.site-header .brand__logo--dark{display:none}
html[data-theme="dark"] .site-header .brand__logo--light,
body.has-media-hero:not(.header-solid) .site-header .brand__logo--light{display:none}
html[data-theme="dark"] .site-header .brand__logo--dark,
body.has-media-hero:not(.header-solid) .site-header .brand__logo--dark{display:block}
html:not([data-theme="dark"]) body.has-media-hero.header-solid .site-header .brand__logo--light{display:block}
html:not([data-theme="dark"]) body.has-media-hero.header-solid .site-header .brand__logo--dark{display:none}
.site-footer .brand__logo--footer{width:180px;height:auto;max-height:none}

.home-hero{background:var(--surface);border-bottom:1px solid var(--border)}
.home-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(2rem,5vw,6rem);align-items:center;padding-block:clamp(3rem,6vw,6rem)}
.home-hero__copy{max-width:670px}
.home-hero h1{font-size:clamp(2.8rem,5.4vw,5.5rem);line-height:1.03;letter-spacing:-.04em;max-width:13ch;margin:.2em 0 .35em}
.home-hero__lead{font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.52;color:var(--text);max-width:52ch}
.home-hero .btn-row{margin-top:1.7rem}
.home-hero .btn{min-height:48px}
.home-hero__foot{font-size:var(--fs-small);color:var(--text-muted);margin:1.5rem 0 0}
.home-hero__media{margin:0;position:relative;min-width:0;aspect-ratio:4/4.2;background:var(--surface-muted);overflow:hidden}
.home-hero__media picture{display:block;width:100%;height:100%}
.home-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.home-hero__media figcaption{position:absolute;bottom:0;left:0;right:0;padding:2rem 1rem .75rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.8rem;letter-spacing:.04em}
.home-proof{background:var(--feature-bg);color:var(--feature-heading)}
.home-proof p{max-width:none;margin:0;padding:1.05rem 0;font-size:.89rem;font-weight:620;line-height:1.65;letter-spacing:.015em}
.home-proof span{padding-inline:.8rem;color:var(--feature-accent)}
.home-work{margin-top:2rem}
.home-before{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,4vw,4rem)}
.home-before h3{font-size:clamp(1.35rem,2vw,2rem)}
.home-services{border-top:1px solid var(--border);margin-top:1.5rem}
.home-services a{display:grid;grid-template-columns:2.5rem minmax(0,1fr) minmax(0,1.2fr) 1.5rem;gap:1.5rem;align-items:center;padding:1.35rem .2rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--heading)}
.home-services a:hover{background:var(--surface)}
.home-services a>span:first-child{font-size:.75rem;color:var(--text-muted)}
.home-services strong{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.25}
.home-services p{margin:0;color:var(--text-muted);font-size:.92rem}
.home-services a>span:last-child{color:var(--accent)}
.home-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem);list-style:none;padding:0;margin:2rem 0 0;counter-reset:none}
.home-process li{border-top:2px solid var(--accent);padding-top:1.2rem}
.home-process li>span{display:block;color:var(--accent);font-weight:700;font-size:.8rem;margin-bottom:1.5rem}
.home-process h3{margin-bottom:.5rem}
.home-process p{color:var(--text-muted)}
.home-markets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,3rem)}
.home-markets>div{border-top:2px solid var(--border-strong);padding-top:1.25rem}
.home-markets h3{margin:.25rem 0}
.home-markets p:not(.eyebrow){color:var(--text-muted)}
.formwrap__aside .points{display:none}
.formwrap__aside .form-trust{display:none}
.formwrap__aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.formwrap__aside h2{max-width:13ch}
.formwrap__form .lead-details{margin-top:.6rem}
.formwrap__form .lead-details summary{min-height:44px}

@media(max-width:1039px){.site-header .brand{width:128px;height:48px}}
@media(max-width:760px){
  body:has(.home-hero) .market-rail{display:none}
  .home-hero__grid{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}
  .home-hero h1{font-size:clamp(2.55rem,10vw,4.1rem);max-width:15ch}
  .home-hero__media{aspect-ratio:16/10}
  .home-before{grid-template-columns:1fr}
  .home-services a{grid-template-columns:2rem minmax(0,1fr) 1.5rem;gap:.8rem}
  .home-services p{grid-column:2;grid-row:2}
  .home-services a>span:last-child{grid-column:3;grid-row:1}
  .home-process{grid-template-columns:1fr;gap:1.4rem}
  .home-process li>span{margin-bottom:.6rem}
  .home-markets{grid-template-columns:1fr}
}
@media(max-width:400px){
  .site-header .brand{width:112px;height:42px}
  .nav__phone{display:none}
  .home-hero .btn-row{display:grid;grid-template-columns:1fr}
  .home-hero .btn{white-space:normal}
  .home-proof span{padding-inline:.35rem}
  .home-work{grid-template-columns:repeat(2,minmax(0,1fr))}
}
