/* Shared photographic openings for About Us, Services and Projects. */
.subhero.service-hero.page-hero {
  width: min(1280px, 92%);
  margin: 24px auto 32px;
  min-height: 440px;
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  /* Keep the moving image and overlay inside the same smooth outline. */
  clip-path: inset(0 round 28px);
  box-shadow: 0 12px 32px #002b6d10;
}
.page-hero .service-hero-image {
  inset: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  filter: blur(1.5px);
}
.page-hero.service-hero:after {
  background: linear-gradient(90deg, #082b54f5 0%, #002b6ddd 52%, #002b6d66 100%);
}
.page-hero .service-hero-copy {
  width: 100%;
  padding: 56px clamp(28px, 5vw, 68px) 64px;
}
.page-hero.service-hero h1 {
  max-width: 800px;
  color: #fff;
  text-wrap: balance;
}
.page-hero.service-hero p {
  max-width: 660px;
  color: #e6eef7;
  line-height: 1.75;
}
.page-hero.about-hero .service-hero-image { object-position: center 42%; }
.page-hero.services-hero .service-hero-image { object-position: center 40%; }
@media (max-width: 760px) {
  .subhero.service-hero.page-hero {
    margin-top: 16px;
    margin-bottom: 24px;
    min-height: 380px;
    border-radius: 22px;
    clip-path: inset(0 round 22px);
  }
  .page-hero .service-hero-copy { padding: 38px 28px 44px; }
  .page-hero.service-hero:after {
    background: linear-gradient(90deg, #082b54f2, #002b6dcc);
  }
}
@media (max-width: 480px) {
  .subhero.service-hero.page-hero { min-height: 360px; }
  .page-hero .service-hero-copy { padding: 32px 22px 38px; }
  .page-hero.service-hero h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero .service-hero-image,
  .page-hero .service-hero-copy { animation: none; }
}
