/* One centered content grid; equally sized photographs and aligned service copy. */
:root{--content-width:1280px;--page-gutter:clamp(20px,6vw,96px);--content-inset:max(var(--page-gutter),calc((100% - var(--content-width))/2))}
body{max-width:none}
.site-header,.site-footer,.section-pad,.breadcrumbs,.related-services{padding-left:var(--content-inset);padding-right:var(--content-inset)}
.home-page .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);min-height:0;padding:48px var(--content-inset) 64px;align-items:center}
.home-page .hero-copy{padding:0;align-items:center;text-align:center;justify-content:center}
.home-page .hero h1{font-size:clamp(3.6rem,6.8vw,6rem)}
.home-page .hero-lede{max-width:32ch}
.home-page .hero-copy>p:not(.hero-lede){max-width:42ch}
.home-page .hero-location{margin-top:0;padding-top:32px}
.home-page .hero-image{min-height:0;height:auto;max-height:none;aspect-ratio:4/5;width:100%;margin:0;align-self:center}
.home-page .hero-image img{inset:0;object-position:50% 50%}
.home-page .hero-image figcaption{left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);text-align:center;bottom:20px}
.home-page .section-heading{display:block;text-align:center;margin-bottom:48px}
.home-page .section-heading>p{max-width:48ch;margin:24px auto 0}
.home-page .service-previews{gap:clamp(24px,3vw,40px);align-items:stretch}
.home-page .service-preview,.home-page .service-preview:nth-child(2),.home-page .service-preview:nth-child(3){padding:0;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.home-page .service-image{position:relative;width:100%;aspect-ratio:4/3;flex-shrink:0}
.home-page .service-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.home-page .service-preview h3{margin:24px 0 12px}
.home-page .service-preview>p{max-width:31ch;min-height:3.3em;margin:0 auto}
.home-page .service-preview .text-link{margin-top:12px}
.home-page .about{grid-template-columns:minmax(0,1fr);gap:28px;text-align:center}
.home-page .about h2{max-width:22ch;margin-inline:auto}
.home-page .about-copy{max-width:65ch;margin-inline:auto}
.home-page .process{gap:clamp(24px,3vw,40px);margin-top:20px;text-align:center}
.home-page .process li{min-width:0}
.home-page .home-contact{grid-template-columns:minmax(0,1fr);gap:28px;text-align:center}
.home-page .home-contact h2{max-width:24ch;margin-inline:auto}
.home-page .home-contact p{max-width:48ch;margin-inline:auto}
.home-page .home-contact .cta-phone{margin-inline:auto}
.home-page .site-footer{justify-content:center;text-align:center;gap:24px 36px}
.home-page .site-footer>div{margin-left:0}
.home-page .proposals{text-align:center}
@media(max-width:1080px){.site-header nav{gap:14px}.site-header nav>.nav-contact{padding-inline:14px}.home-page .hero h1{font-size:clamp(3.6rem,6.5vw,4.8rem)}}
@media(max-width:780px){.home-page .hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:48px}.home-page .hero h1{font-size:clamp(3.7rem,12vw,5.3rem)}.home-page .hero-copy{max-width:560px;margin-inline:auto}.home-page .hero-image{max-width:560px;justify-self:center;aspect-ratio:4/5}.home-page .service-previews{gap:44px}.home-page .service-preview>p{min-height:0}.home-page .process li{display:block}.home-page .process span{display:block;margin:0}.home-page .process h3{margin:16px 0 12px}.home-page .hero .button{width:auto}.home-page .site-footer>div{justify-content:center;flex-wrap:wrap}}
