.hero > img { opacity: 1; object-position: center; }
.hero::after { background: linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.12) 70%, transparent); }
.service-features { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:0 0 3rem; }
.service-features figure,.gallery-grid figure { margin:0; overflow:hidden; background:#242628; }
.service-features img { display:block; width:100%; height:clamp(260px,30vw,460px); object-fit:cover; }
.service-features figcaption { padding:1rem 1.1rem; font-weight:700; }
.gallery { padding:clamp(4rem,8vw,8rem); }
.gallery-head { max-width:760px; margin-bottom:2.5rem; }
.gallery-head p:last-child { color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:clamp(280px,30vw,420px); gap:1rem; }
.gallery-grid figure:nth-child(3n+1) { grid-row:auto; }
.gallery-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.contact { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.contact > div:first-child { min-width:0; }
.map { width:min(100%,552px); min-height:0; aspect-ratio:2.35/1; margin:2rem 0 0; border:0; border-radius:2px; box-shadow:0 18px 45px rgba(18,20,22,.14); }
.map iframe { width:100%; height:100%; min-height:0; }
.company-data h3 { margin-top:2rem; }
.details,.details a,.details h3,.company-data,.company-data h3 { font-weight:400; }
.service-features figcaption,.gallery-head > p:last-child,.cards { display:none!important; }
.service-features figure { aspect-ratio:4/3; }
.service-features img { height:100%; }
.eyebrow { display:none!important; }
.intro h2,.section-head h2,.gallery-head h2,.contact h2 { margin-top:0; }
@media(max-width:760px){
  .hero > img { object-position:58% center; }
  .service-features,.gallery-grid { grid-template-columns:1fr; }
  .service-features img { height:280px; }
  .gallery-grid { grid-auto-rows:290px; }
  .gallery-grid figure:nth-child(n) { grid-row:auto; }
  .contact { grid-template-columns:1fr; gap:2.5rem; padding:3.5rem 1.25rem; }
  .map { width:100%; aspect-ratio:16/9; margin-top:1.5rem; }
}
