/* Trisect Media V7.0 / final spacing and SEO image consistency. */
/* Give the vertical signature a modest lift toward the hero's orange ring. */
.hero-photo .vertical-text { top:124px; }

/* Service landing-page hero photographs match the rounded portfolio framing. */
.tm70-service-image,
.hy-aerial-image img {
  display:block;
  border-radius:clamp(16px,2vw,24px);
  overflow:hidden;
}
.tm70-service-image {
  width:100%;
  max-height:530px;
  object-fit:cover;
}

@media (min-width:761px) and (max-width:1100px) {
  .hero-photo .vertical-text {top:104px;}
}
@media (max-width:760px) {
  .hero-photo .vertical-text {top:101px;}
}
@media (max-width:440px) {
  .hero-photo .vertical-text {top:85px;}
}

/* Trisect Media V7.6 — "Good visuals. Lasting impact." section alignment.
   Fix the old oversized horizontal padding that squeezed the heading and
   pushed the image out toward the viewport edge on wide desktop screens. */
.band.section-light {
  grid-template-columns: minmax(0, .87fr) minmax(0, 1.13fr);
  gap: clamp(32px, 4.5vw, 78px);
  align-items: center;
  min-height: 0;
  padding: clamp(46px, 5vw, 72px) max(clamp(18px, 3.15vw, 56px), calc((100vw - var(--max)) / 2));
}
.band.section-light .band-copy {
  min-width: 0;
  padding: 0;
}
.band.section-light .band-image {
  min-width: 0;
  min-height: 0;
  padding: 0;
}
.band.section-light .band-image img {
  display: block;
  width: 100%;
  height: clamp(310px, 29vw, 430px);
  object-fit: cover;
  object-position: center;
  border-radius: 15px;
}
@media (max-width: 900px) {
  .band.section-light {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 50px 24px 24px;
  }
  .band.section-light .band-image img {
    height: clamp(245px, 50vw, 370px);
  }
}
@media (max-width: 440px) {
  .band.section-light {
    gap: 25px;
    padding: 45px 18px 18px;
  }
  .band.section-light .band-image img {
    height: clamp(225px, 65vw, 310px);
  }
}
