/* Shared multi-page system. All visitor-facing text remains at least 15px. */
:root{--paper:#f6f5f2;--mist:#e8eef0;--line:#d8dddf;--rust-dark:#93442f;--shadow:0 18px 45px rgba(31,39,43,.1)}
html{font-size:16px}body{font-size:15px}.page{overflow:clip}.header{height:88px;padding:0 clamp(24px,4vw,64px);gap:24px}.brand{width:205px;align-self:center;margin:0}.brand img{height:auto}.header nav{font-size:15px;gap:clamp(14px,1.7vw,27px);margin-left:auto}.header-call{font-size:15px;height:46px;width:auto;min-width:174px;margin-left:10px;letter-spacing:.7px}.header-call svg{width:16px;height:16px}.header nav>a,.nav-dropdown-toggle{font-size:15px;font-weight:500}.header nav>a{padding:27px 0}.nav-dropdown{position:relative}.nav-dropdown-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:27px 0;cursor:pointer}.nav-dropdown-toggle svg{width:13px;height:13px;transition:transform .2s}.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle,.nav-dropdown.active .nav-dropdown-toggle{color:var(--rust)}.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown:focus-within .nav-dropdown-toggle svg,.nav-dropdown.open .nav-dropdown-toggle svg{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;z-index:50;top:calc(100% - 8px);left:-24px;width:300px;padding:12px;background:#fff;box-shadow:var(--shadow);border-top:3px solid var(--rust);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu a{display:block;padding:11px 12px;font-size:15px;line-height:1.35;border-bottom:1px solid #eef0f1}.nav-dropdown-menu a:last-child{border:0}.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{color:var(--rust);background:#faf7f5}.menu-toggle{min-width:48px;min-height:48px;align-items:center;justify-content:center}.menu-toggle span{transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.eyebrow,.location-eyebrow,.hero .eyebrow,.services-intro>p:last-child,.service-card p,.projects-heading>p,.project-grid figcaption p,.about-copy>p:not(.eyebrow),.about-map .eyebrow,.map-caption,.contact p:last-child,.footer>a,.footer p,.faq-heading>p:last-child,.faq summary,.answer{font-size:15px}.eyebrow{letter-spacing:3px}.location-eyebrow{letter-spacing:4px}.hero-description{font-size:15px;line-height:1.55}.hero-contact{font-size:15px}.button{font-size:15px}.service-card h3,.project-grid h3{font-size:15px}.services{height:auto;min-height:330px;padding-bottom:38px}.service-card p{line-height:1.5}.projects{height:auto;min-height:365px;padding-bottom:36px}.about{height:auto;min-height:380px}.about-copy{padding-bottom:34px}.about-copy>p:not(.eyebrow){line-height:1.55}.about-map{top:48px}.map-caption{line-height:1.65;letter-spacing:1.6px}.contact{height:auto;min-height:190px}.footer{height:auto;min-height:130px}.faq summary{line-height:1.5}.answer{font-size:15px}.service-card a{display:block;height:100%}.service-card a:hover h3{color:var(--rust)}
.interior-main{background:#fff}.subhero{position:relative;min-height:520px;background:linear-gradient(110deg,#f8f8f7 0,#f8f8f7 56%,#e5ebed 56%,#e5ebed 100%);overflow:hidden}.subhero-copy{position:relative;z-index:2;width:min(760px,56%);padding:90px 0 76px clamp(32px,7vw,112px)}.subhero h1{font-size:clamp(48px,5.1vw,78px);line-height:1.02;letter-spacing:-2px;max-width:780px}.subhero p:not(.eyebrow){font-size:18px;line-height:1.7;color:#535d63;max-width:650px;margin-top:26px}.subhero .button{margin-top:34px;height:58px;padding:0 30px}.subhero-media{position:absolute;inset:0 0 0 auto;width:48%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.subhero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,238,240,.28),transparent 35%)}.subhero-media img{width:100%;height:100%;object-fit:cover}.subhero.no-photo{min-height:440px;background:linear-gradient(120deg,#f8f8f7 0 64%,#e6edef 64%)}.subhero.no-photo:after{content:"";position:absolute;right:-10%;top:-25%;width:48%;height:150%;background:url(assets/concrete-texture.svg) center/cover;opacity:.25;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.content-shell{width:min(1260px,calc(100% - 48px));margin:auto}.section-block{padding:92px 0}.section-block.soft{background:#f7f8f8}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading h2{font-size:clamp(34px,3vw,50px);line-height:1.12;margin-top:9px}.section-heading>p{max-width:520px;font-size:17px;line-height:1.7;color:#5d666c}.lead-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}.lead-copy h2,.split-copy h2{font-size:clamp(34px,3.2vw,52px);line-height:1.12}.lead-copy p,.split-copy p{font-size:17px;line-height:1.8;color:#596269;margin-top:24px}.fact-panel{padding:34px;background:#e9eff1;border-left:4px solid var(--rust)}.fact-panel h3{font-size:21px;letter-spacing:.5px}.fact-list{list-style:none;padding:0;margin:22px 0 0}.fact-list li{font-size:15px;line-height:1.6;padding:13px 0;border-bottom:1px solid #ccd4d7}.fact-list li:last-child{border:0}.fact-list strong{display:block;color:var(--ink)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-card{background:#fff;border:1px solid #e2e5e6;padding:30px;min-height:250px;transition:transform .2s,box-shadow .2s,border-color .2s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6c1b9}.feature-card .number{font-size:42px;line-height:1;color:var(--rust);font-weight:700}.feature-card h3{font-size:21px;letter-spacing:.3px;margin-top:22px}.feature-card p{font-size:15px;line-height:1.7;color:#5c656a;margin-top:13px}.service-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.hub-card{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid #e0e4e5;min-height:300px;transition:box-shadow .2s,transform .2s}.hub-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.hub-card img{width:100%;height:100%;object-fit:cover}.hub-card div{padding:34px 30px}.hub-card h2{font-size:28px;line-height:1.2}.hub-card p{font-size:15px;line-height:1.7;color:#5a6369;margin-top:15px}.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:700;color:var(--rust)}.text-link svg{width:18px;height:18px}.text-link:hover{color:var(--rust-dark)}
.solution-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d8dddf;border:1px solid #d8dddf}.solution-list article{background:#fff;padding:30px;min-height:190px}.solution-list h3{font-size:19px;letter-spacing:.2px}.solution-list p{font-size:15px;line-height:1.7;color:#5e676c;margin-top:12px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.process-card{padding:28px 24px;background:#fff;border-top:4px solid var(--rust)}.process-card b{font-size:36px;color:#c8ccce}.process-card h3{font-size:19px;margin-top:15px}.process-card p{font-size:15px;line-height:1.7;color:#5e676c;margin-top:10px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px}.detail-copy h2{font-size:clamp(34px,3.2vw,50px)}.detail-copy h3{font-size:24px;margin-top:38px}.detail-copy p,.detail-copy li{font-size:16px;line-height:1.8;color:#586269}.detail-copy p{margin-top:20px}.check-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--rust);font-weight:700}.quote-panel{position:sticky;top:24px;background:#293034;color:#fff;padding:34px}.quote-panel h2{font-size:28px}.quote-panel p{font-size:15px;line-height:1.7;color:#d8dcde;margin-top:15px}.quote-panel .button{width:100%;height:54px;margin-top:24px}.quote-panel a:not(.button){display:block;margin-top:20px;color:#fff;font-size:17px;font-weight:600}.service-faq{margin-top:40px}.service-faq details{border-bottom:1px solid #d8dddf}.service-faq summary{font-size:16px;font-weight:600;cursor:pointer;padding:20px 32px 20px 0;position:relative;list-style:none}.service-faq summary:after{content:"+";position:absolute;right:0;color:var(--rust);font-size:24px}.service-faq details[open] summary:after{content:"−"}.service-faq p{font-size:15px;margin:0 0 20px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{padding:32px;background:#fff;border:1px solid #e0e4e5;min-height:300px;display:flex;flex-direction:column}.review-stars{color:var(--rust);letter-spacing:4px;font-size:20px}.review-card blockquote{margin:20px 0 28px;font-size:16px;line-height:1.8;color:#515b61}.review-card footer{margin-top:auto;border-top:1px solid #e0e4e5;padding-top:18px}.review-card strong{font-size:16px}.review-card span{display:block;font-size:15px;color:#6b7378;margin-top:4px}.trust-band{background:#293034;color:#fff;padding:48px 0}.trust-band .content-shell{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.trust-item strong{display:block;font-size:28px;color:#fff}.trust-item span{font-size:15px;color:#cdd2d4}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-info{display:grid;gap:18px}.info-card{padding:26px;background:#f3f5f5;border-left:4px solid var(--rust)}.info-card h3{font-size:19px}.info-card p,.info-card a{font-size:15px;line-height:1.7;color:#596269;margin-top:7px}.contact-form{background:#fff;border:1px solid #dfe3e4;padding:38px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:15px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd1d3;background:#fff;padding:14px;font:15px Poppins,Arial,sans-serif;color:var(--ink);border-radius:0}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(183,87,61,.22);border-color:var(--rust)}.contact-form .button{border:0;height:56px;margin-top:26px}.form-note{font-size:15px;color:#687176;margin-top:16px}.hours-table{width:100%;border-collapse:collapse;margin-top:12px}.hours-table td{font-size:15px;padding:6px 0;border-bottom:1px solid #d9ddde}.hours-table td:last-child{text-align:right;font-weight:600}
.wide-cta{position:relative;overflow:hidden;background:#e8e4df url(assets/concrete-texture.svg) center/cover;padding:72px 0}.wide-cta .content-shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.wide-cta h2{font-size:clamp(34px,3.2vw,50px)}.wide-cta p{font-size:16px;line-height:1.7;color:#596269;margin-top:12px}.wide-cta .button{min-width:290px;height:60px}.interior-footer{min-height:150px}
@media(max-width:1100px){.header{height:82px;padding:10px 22px;position:relative;z-index:60}.brand{width:183px;margin:0}.header-call{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:1px solid #d9ddde;background:#fff;padding:11px;cursor:pointer}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;box-shadow:0 16px 24px rgba(0,0,0,.1);margin:0;padding:14px 22px 24px;flex-direction:column;align-items:stretch;gap:0;font-size:15px;max-height:calc(100vh - 82px);overflow:auto}.header nav.open{display:flex}.header nav>a{padding:14px 4px;border-bottom:1px solid #edf0f1}.header nav>a.active:after{display:none}.nav-dropdown-toggle{width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid #edf0f1}.nav-dropdown-menu{position:static;width:100%;box-shadow:none;border:0;border-left:3px solid var(--rust);padding:0 0 0 14px;opacity:1;visibility:visible;transform:none;display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding:12px 6px}.hero{margin-top:0}.subhero-copy{width:64%;padding-left:48px}.subhero-media{width:45%}.feature-grid,.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr 310px;gap:40px}.footer{padding:28px 32px;gap:24px}.footer p{padding-left:20px}.about-map{right:24px}.about-copy{margin-left:210px}}
@media(max-width:700px){.header{height:82px}.hero{min-height:760px}.hero-copy{padding-top:26px}.hero .eyebrow,.location-eyebrow,.eyebrow{font-size:15px;letter-spacing:2px}.location-eyebrow{margin-bottom:22px}h1{font-size:42px}.hero-description{font-size:15px}.hero-contact{font-size:15px}.services,.projects,.faq{padding-left:24px;padding-right:24px}.service-grid{gap:28px 16px}.service-card p{font-size:15px}.projects-heading>p{font-size:15px}.about{min-height:700px}.home-page .about-copy{margin-left:0}.about-copy>p:not(.eyebrow){font-size:15px}.about-map{transform:translateX(24px)}.contact p:last-child{font-size:15px}.footer{padding:34px 24px}.footer>a,.footer p{font-size:15px}.subhero{min-height:620px;background:#f8f8f7;padding-bottom:280px}.subhero-copy{width:100%;padding:58px 24px 38px}.subhero h1{font-size:42px;letter-spacing:-1px}.subhero p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:20px}.subhero .button{width:100%;max-width:360px}.subhero-media{top:auto;bottom:0;left:0;width:100%;height:280px;clip-path:none}.subhero.no-photo{min-height:430px;padding-bottom:0}.content-shell{width:min(100% - 40px,1260px)}.section-block{padding:62px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:16px;margin-top:18px}.lead-grid,.contact-grid,.detail-layout{grid-template-columns:1fr;gap:34px}.feature-grid,.service-hub-grid,.testimonials-grid,.solution-list,.process-grid{grid-template-columns:1fr}.hub-card{grid-template-columns:1fr}.hub-card img{height:240px}.check-list{grid-template-columns:1fr}.quote-panel{position:static}.trust-band .content-shell{grid-template-columns:repeat(2,1fr)}.contact-form{padding:26px 22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.wide-cta{padding:58px 0}.wide-cta .content-shell{display:block}.wide-cta .button{width:100%;min-width:0;margin-top:28px}.interior-footer{min-height:0}.section-heading h2,.lead-copy h2,.split-copy h2,.detail-copy h2{font-size:34px}}
.contact .button{font-size:15px}

.projects-heading-actions{display:flex;align-items:center;gap:22px}.projects-heading-actions p{font-size:15px;color:#555c62;white-space:nowrap}.gallery-home-button{height:44px;padding:0 20px;font-size:15px}
.gallery-page .header nav{margin-left:auto}.gallery-page .header nav a{font-size:15px}.gallery-hero{position:relative;min-height:570px;overflow:hidden;background:#eef2f3}.gallery-hero-collage{position:absolute;inset:0 0 0 46%;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:6px;clip-path:polygon(17% 0,100% 0,100% 100%,0 100%)}.gallery-hero-collage img{width:100%;height:100%;object-fit:cover}.gallery-hero-collage img:first-child{grid-row:1/3}.gallery-hero-collage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,242,243,.44),transparent 34%);pointer-events:none}.gallery-hero-copy{position:relative;z-index:2;width:49%;padding:100px 0 80px clamp(32px,7vw,112px)}.gallery-breadcrumb{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#59646a}.gallery-breadcrumb a:hover{color:var(--rust)}.gallery-hero h1{font-size:clamp(52px,5.6vw,86px);line-height:1;letter-spacing:-2.4px;margin-top:26px}.gallery-hero-copy>p:not(.eyebrow,.gallery-breadcrumb){font-size:18px;line-height:1.75;color:#566168;max-width:480px;margin-top:28px}.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}.gallery-filter button{border:1px solid #ccd2d4;background:#fff;color:#394247;padding:11px 17px;font:600 15px Poppins,Arial,sans-serif;cursor:pointer;transition:.18s}.gallery-filter button:hover,.gallery-filter button.active{background:var(--rust);border-color:var(--rust);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:115px;gap:18px}.gallery-item{position:relative;grid-column:span 4;grid-row:span 3;border:0;padding:0;background:#dfe3e4;overflow:hidden;cursor:pointer;text-align:left}.gallery-item.wide{grid-column:span 8}.gallery-item.tall{grid-row:span 5}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s}.gallery-item:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(20,28,31,.86));transition:opacity .25s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035);filter:saturate(1.06)}.gallery-card-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:26px;color:#fff}.gallery-card-copy span{display:block;font-size:15px;letter-spacing:2px;font-weight:600;color:#f0c4b6}.gallery-card-copy strong{display:block;font-size:21px;line-height:1.25;margin-top:7px}.gallery-source-note{font-size:15px;line-height:1.7;color:#667076;margin-top:26px;max-width:850px}.gallery-lightbox{position:fixed;z-index:200;inset:0;display:none;align-items:center;justify-content:center;background:rgba(16,22,25,.94);padding:70px 90px}.gallery-lightbox.open{display:flex}.gallery-lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:85vh;display:flex;flex-direction:column;align-items:center}.gallery-lightbox img{max-width:100%;max-height:75vh;object-fit:contain;box-shadow:0 18px 65px #0008}.gallery-lightbox figcaption{font-size:16px;color:#fff;margin-top:18px;text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid #ffffff66;background:#fff1;color:#fff;cursor:pointer;font:500 30px/1 Poppins,Arial,sans-serif;width:52px;height:52px}.lightbox-close{right:28px;top:24px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--rust);border-color:var(--rust)}
@media(max-width:1100px){.projects-heading-actions{display:block}.projects-heading-actions p{white-space:normal}.gallery-home-button{margin-top:12px}.gallery-page .header nav{margin:0}.gallery-grid{grid-auto-rows:100px}.gallery-item{grid-column:span 6}.gallery-item.wide{grid-column:span 6}.gallery-hero-copy{padding-left:48px}}
@media(max-width:700px){.projects-heading-actions{margin-top:16px}.gallery-home-button{width:100%;max-width:300px}.gallery-hero{min-height:750px;padding-bottom:310px}.gallery-hero-copy{width:100%;padding:58px 24px 36px}.gallery-hero h1{font-size:46px;letter-spacing:-1.4px}.gallery-hero-copy>p:not(.eyebrow,.gallery-breadcrumb){font-size:16px}.gallery-hero-collage{inset:auto 0 0;height:310px;clip-path:none;grid-template-columns:1fr 1fr}.gallery-section{padding-top:54px}.gallery-grid{display:block}.gallery-item,.gallery-item.wide,.gallery-item.tall{display:block;width:100%;height:310px;margin-bottom:18px}.gallery-filter{gap:8px}.gallery-filter button{flex:1 1 calc(50% - 8px)}.gallery-lightbox{padding:70px 16px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.gallery-lightbox figcaption{font-size:15px;padding:0 55px}}
.gallery-page .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}.gallery-page .gallery-item,.gallery-page .gallery-item.wide,.gallery-page .gallery-item.tall{display:block;width:100%;height:auto;aspect-ratio:4/3;grid-column:auto;grid-row:auto;margin:0}.gallery-page .gallery-item img{position:absolute;inset:0}
.gallery-page .gallery-item[hidden]{display:none}
.review-card .review-text{margin:20px 0 28px;font-size:16px;line-height:1.8;color:#515b61}.review-source{color:var(--rust);font-weight:600;text-decoration:underline;text-underline-offset:3px}.review-source:hover{color:var(--rust-dark)}
@media(max-width:1100px){.gallery-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gallery-page .gallery-grid{grid-template-columns:1fr}.gallery-page .gallery-item,.gallery-page .gallery-item.wide,.gallery-page .gallery-item.tall{height:auto;aspect-ratio:4/3;margin:0}}

/* Client logo option B: vector emblem plus readable wordmark. */
.header .brand{width:250px;height:72px;flex:0 0 250px}
.header .brand img{width:100%;height:auto;object-fit:contain}
.footer>a:first-child img{width:220px;max-width:none;height:auto}
@media(max-width:1100px){.header .brand{width:220px;height:66px;flex-basis:220px}}
@media(max-width:360px){.header .brand{width:205px;flex-basis:205px}.menu-toggle{min-width:44px;width:44px}.home-page .service-grid{grid-template-columns:1fr}}

/* Responsive hardening for intermediate viewport widths. */
.button,.gallery-filter button{white-space:nowrap;text-align:center}
.button{min-width:max-content}
.footer>a:not(:first-child){white-space:nowrap}
@media(max-width:1100px){
  .menu-toggle{width:48px;height:48px;flex:0 0 48px}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}
}
@media(min-width:901px) and (max-width:1100px){
  .subhero-copy{width:58%;padding-right:36px}
  .subhero-media{width:42%;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}
}
@media(max-width:900px){
  .subhero:not(.no-photo){min-height:0;padding-bottom:340px;background:#f8f8f7}
  .subhero:not(.no-photo) .subhero-copy{width:100%;max-width:780px;padding:64px 48px 50px}
  .subhero:not(.no-photo) .subhero-media{inset:auto 0 0;width:100%;height:340px;clip-path:none}
  .service-hub-grid{grid-template-columns:1fr}
  .hub-card{grid-template-columns:42% 1fr}
  .footer{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(250px,1.1fr);grid-template-areas:"brand location" "tagline phone";min-height:190px;row-gap:14px;column-gap:34px;padding:28px 40px}
  .footer>a:first-child{grid-area:brand;border:0;padding-right:0}
  .footer .footer-location{grid-area:location}
  .footer>a[href^="tel:"]{grid-area:phone}
  .footer p{grid-area:tagline;border:0;padding:0}
}
@media (700px < width < 935px){
  .home-page .hero{height:auto;min-height:0;padding-bottom:360px;background:#f8f8f7}
  .home-page .hero-copy{width:100%;max-width:720px;padding:40px 48px 44px}
  .home-page .hero h1{font-size:52px;line-height:1.02}
  .home-page .hero-description{max-width:620px;font-size:16px;line-height:1.65;margin-top:20px}
  .home-page .hero .desktop-br{display:none}
  .home-page .hero .estimate{width:auto;min-width:280px;height:54px;padding:0 28px;margin-top:24px;font-size:15px}
  .home-page .hero-contact{font-size:15px;margin-top:18px}
  .home-page .hero-photo{inset:auto 0 0;width:100%;height:360px;clip-path:none}
  .home-page .hero-photo img{object-fit:cover;object-position:center 48%}
  .home-page .hero-sky,.home-page .hero-concrete,.home-page .hero-small-triangle,.home-page .hero-tags{display:none}
  .home-page .services{display:block;padding:48px}
  .home-page .services-intro{max-width:640px;padding:0}
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;margin-top:32px}
  .home-page .service-card img{height:auto;aspect-ratio:4/3}
  .home-page .service-card>div{padding:12px 2px 0}
}
@media(min-width:935px) and (max-width:1100px){
  .home-page .hero{height:max(calc(406 * var(--u)),470px)}
}
@media(min-width:935px) and (max-width:1024px){
  .home-page .services{display:block;padding:48px}
  .home-page .services-intro{max-width:640px;padding:0}
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;margin-top:32px}
  .home-page .service-card img{height:auto;aspect-ratio:4/3}
  .home-page .service-card>div{padding:12px 2px 0}
}
@media(max-width:700px){
  .button{min-width:0}
  .subhero:not(.no-photo){padding-bottom:280px}
  .subhero:not(.no-photo) .subhero-copy{padding:58px 24px 38px}
  .subhero:not(.no-photo) .subhero-media{height:280px}
  .hub-card{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr;grid-template-areas:none;min-height:0;padding:34px 24px}
  .footer>a,.footer p,.footer>a:first-child,.footer .footer-location,.footer>a[href^="tel:"]{grid-area:auto}
}
@media(max-width:560px){
  .gallery-filter{display:grid;grid-template-columns:1fr}
  .gallery-filter button{width:100%}
}

.footer{flex-wrap:wrap;gap:24px}
.footer-contacts{display:flex;align-items:center;gap:24px;flex:0 0 auto;max-width:100%}
.footer-contacts a{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;white-space:nowrap}
.footer-contacts svg{width:18px;height:18px}
@media(max-width:900px){
  .footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand contacts" "tagline contacts";min-height:0;align-content:start;row-gap:16px}
  .footer-contacts{grid-area:contacts;flex-direction:column;align-items:flex-start;justify-self:start;align-self:center;gap:12px}
}
@media(max-width:700px){
  .footer{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "contacts" "tagline";gap:24px}
  .footer>a:first-child{grid-area:brand}
  .footer p{grid-area:tagline}
}
.home-page .about{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);column-gap:clamp(40px,5vw,80px);padding:40px 4% 40px 25%;min-height:380px;align-items:center}
.home-page .about-copy{margin:0;padding:0;min-width:0}
.home-page .about-copy .desktop-br{display:none}
.home-page .about-map{position:relative;inset:auto;width:100%;max-width:320px;margin:0;transform:none;justify-self:center;min-width:0;z-index:2}
.home-page .about-map img{width:80%;max-width:240px;height:auto;margin:0 auto 16px}
.home-page .about-map .eyebrow{margin:0}
.home-page .about-map .map-caption{overflow-wrap:break-word}
@media(max-width:1100px){
  .home-page .about{display:flex;flex-direction:column;gap:32px;padding:40px 24px;min-height:0;height:auto;background:#edf1f2;overflow:visible}
  .home-page .blueprint,.home-page .about-wedge{display:none}
  .home-page .about-copy{width:100%;max-width:720px;padding:32px;background:#fff}
  .home-page .about-copy>p:not(.eyebrow){max-width:none}
  .home-page .about-map{flex:none;align-self:center}
}
@media(max-width:480px){
  .home-page .about{padding:32px 20px}
  .home-page .about-copy{padding:24px 20px}
}
@media(min-width:1101px){
  .home-page .about{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);padding-left:calc(26.5% + 24px);column-gap:calc(12.8cqw + 48px)}
}
.contact-cards .contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-cards .info-card{padding:32px;background:#fff;border:1px solid #e0e4e5;min-width:0}
.contact-cards .info-card a{display:block;overflow-wrap:anywhere}
.contact-cards .contact-email{margin-top:12px}
.contact-cards .info-card h3{margin-bottom:16px}
@media(max-width:700px){.contact-cards .contact-info{grid-template-columns:1fr}.contact-cards .info-card{padding:24px}}

/* Keep the project heading readable alongside its contextual links. */
@media(min-width:1101px){.projects-heading{gap:32px;align-items:flex-end}.projects-heading>div:first-child{flex:1 1 56%;min-width:0}.projects-heading-actions{flex:0 1 40%;min-width:0;flex-direction:column;align-items:flex-end;gap:12px}.projects-heading-actions p{white-space:normal;text-align:right;line-height:1.6}.projects-heading-actions .button{flex-shrink:0}}
.gallery-page .gallery-hero-copy>.button{margin-top:24px}
