/* Full-width home sections, with consistent edge spacing at every screen size. */
body:not(.subpage){--home-gutter:clamp(20px,2.6vw,56px)}
body:not(.subpage) .section{width:100%;max-width:none;padding-inline:var(--home-gutter)}
body:not(.subpage) .header,body:not(.subpage) .footer,body:not(.subpage) .immersive,body:not(.subpage) .hero,body:not(.subpage) .discipline-strip{padding-inline:var(--home-gutter)}
body:not(.subpage) .hero-bottom{left:var(--home-gutter);right:var(--home-gutter)}
body:not(.subpage) .hero-side{right:var(--home-gutter)}
body:not(.subpage) .intro{gap:6%}
body:not(.subpage) .intro-copy{max-width:65ch}
body:not(.subpage) .about{gap:6%;grid-template-columns:1fr 1fr}
body:not(.subpage) .comparison-layout{gap:5%}
body:not(.subpage) .contact{gap:6%}
body:not(.subpage) .project-grid{gap:clamp(14px,1.4vw,28px)}
body:not(.subpage) .photo-albums{padding:35px var(--home-gutter)}
body:not(.subpage) .section>*,body:not(.subpage) .service-row>*,body:not(.subpage) .form-row>*{min-width:0}
@media(max-width:650px){
 body:not(.subpage){--home-gutter:20px}
 body:not(.subpage) .hero-copy{left:var(--home-gutter);right:var(--home-gutter);max-width:none}
 body:not(.subpage) .intro,body:not(.subpage) .about,body:not(.subpage) .comparison-layout,body:not(.subpage) .contact{grid-template-columns:1fr;gap:32px}
 body:not(.subpage) .hero-bottom>span{flex-wrap:wrap;gap:8px 12px}
 body:not(.subpage) #hero-label{letter-spacing:.3px}
 body:not(.subpage) .service-row h3{overflow-wrap:break-word}
 body:not(.subpage) .portrait img{height:auto;max-height:540px;aspect-ratio:4/5}
 body:not(.subpage) .quote-form{padding:20px}
 body:not(.subpage) .contact-email{font-size:clamp(17px,5.3vw,22px);overflow-wrap:anywhere}
 body:not(.subpage) .footer-brand{font-size:clamp(20px,5.7vw,34px);gap:12px;letter-spacing:-.7px}
 body:not(.subpage) .footer-mark{width:38px;flex:0 0 38px}
 body:not(.subpage) .discipline-strip{flex-wrap:wrap;justify-content:center;gap:8px 16px;white-space:normal;font-size:13px}
 body:not(.subpage) .discipline-strip .asterisk{display:none}
 body:not(.subpage) .text-link{gap:16px}
}
@media(max-width:360px){
 body:not(.subpage){--home-gutter:16px}
 body:not(.subpage) .hero-copy h1{font-size:44px}
 body:not(.subpage) .hero-description{font-size:14px}
 body:not(.subpage) .hero-copy .button{gap:15px;font-size:13px}
 body:not(.subpage) .form-row{grid-template-columns:1fr;gap:0}
 body:not(.subpage) .quote-form{padding:16px}
 body:not(.subpage) .quote-form>.button{font-size:12px;gap:10px;padding:15px 12px}
 body:not(.subpage) .intro h2{font-size:35px}
}

@media (min-width:651px) and (max-width:1100px){body:not(.subpage) .discipline-strip{flex-wrap:wrap;justify-content:center;gap:10px 24px;white-space:normal}body:not(.subpage) .discipline-strip .asterisk{display:none}}

body:not(.subpage) .contact .contact-calculator{display:flex;width:fit-content;max-width:100%;margin-top:28px;gap:24px;font-size:14px}
