/* One page grid and type scale across the public site. Scene images retain
   their original aspect ratios; the animation scripts fit them to the screen. */
:root{--gutter:clamp(20px,4vw,64px);--content-width:1440px;--section-space:clamp(40px,4.5vw,64px)}
:root .wrap{width:calc(100% - var(--gutter)*2);max-width:var(--content-width)}
:root .header-inner{max-width:calc(var(--content-width) + var(--gutter)*2);padding-inline:var(--gutter)}
.page-home .hero--build .hero-heading,.reno-heading{
 width:100%;max-width:calc(var(--content-width) + var(--gutter)*2);
 padding-inline:var(--gutter);gap:clamp(28px,4vw,64px);
 grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
}
.page-home .hero--build .hero-heading{padding-block:36px 24px}
.page-home .hero--build h1{font-size:clamp(42px,4.6vw,68px);line-height:1.25}
.page-home .hero--build .hero-heading-copy{max-width:none}
.page-home .hero--build .hero-summary{max-width:40ch;font-size:clamp(16px,1.2vw,18px)}
.page-home :is(.residential-heading,.home-projects-heading,.client-story-copy,.method-intro) h2,
.reno-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.4}
.reno-heading{padding-block:var(--section-space) 28px}
.reno-heading>div{min-width:0}
.page-home :is(.home-residential,.home-projects,.client-story,.home-method){padding-block:var(--section-space)}
.page-home .hero--build .build-panel,.renovation-journey .reno-panel{
 max-width:calc(var(--content-width) + var(--gutter)*2);padding-inline:var(--gutter);
}
.page-home .client-story-copy{column-gap:clamp(28px,4vw,64px)}
.page-home .client-story-copy h2 br{display:none}
.page-home .client-story-copy h2 em{display:block}
.page-home .method-intro{column-gap:clamp(28px,4vw,64px)}
.page-inner h1{font-size:clamp(36px,4vw,60px);overflow-wrap:break-word}
.page-inner :is(.section-heading,.commercial-intro,.renovation-services-heading)>div{min-width:0}
@media(max-width:1000px){
 .page-home .hero--build .hero-heading,.reno-heading{grid-template-columns:1fr 1fr;gap:28px}
 .page-home .hero--build h1{font-size:clamp(40px,5vw,52px)}
 .reno-heading h2{font-size:34px}
}
@media(max-width:760px){
 .page-home .hero--build .hero-heading,.reno-heading{display:block;padding-block:28px 22px}
 .page-home .hero--build h1{font-size:clamp(36px,8.5vw,52px)}
 .page-home .hero--build .hero-heading-copy{margin-top:18px}
 .page-home .hero--build .hero-summary{max-width:none;font-size:16px;line-height:1.8}
 .page-home :is(.residential-heading,.home-projects-heading,.client-story-copy,.method-intro) h2,
 .reno-heading h2{font-size:clamp(28px,6.5vw,34px);line-height:1.4}
 .page-home .hero--build .build-panel,.renovation-journey .reno-panel{padding-inline:var(--gutter)}
 .page-home .hero--build .build-hint{margin-top:14px}
 .reno-heading-copy{margin-top:18px}
 .page-home .client-story-copy h2{max-width:none}
 .page-home .client-story-copy h2 em{display:block}
 .home-projects-heading{gap:14px}
}
@media(max-width:600px){
 .home-project-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .home-project-image{aspect-ratio:3/2}
 .home-project-caption h3{font-size:1rem}
 .home-project-caption small{font-size:.75rem}
}
@media(max-width:360px){
 :root .header-inner{gap:6px;padding-inline:16px}
 .site-header .brand{width:138px}
}
