/* Section headers: matching wide crops and compact mobile compositions. */
.page-hero.page-hero--image {
  position: relative;
  isolation: isolate;
  min-height: clamp(500px, 43vw, 715px);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  background: #090909;
}
.page-hero--image .service-hero-media,
.page-hero--image .service-hero-media::after {
  position: absolute;
  inset: 0;
}
.page-hero--image .service-hero-media { z-index: -1; overflow: hidden; }
.page-hero--image .service-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--service-focus, 72%) center;
}
.page-hero--image .service-hero-media::after {
  content: "";
  background: linear-gradient(90deg, #090909 0%, rgba(9,9,9,.94) 25%, rgba(9,9,9,.80) 46%, rgba(9,9,9,.38) 67%, rgba(9,9,9,.06) 100%),
              linear-gradient(0deg, rgba(9,9,9,.48), transparent 32%);
}
.page-hero--image .service-hero-copy { max-width: min(78ch, 82%); }
.page-hero--image h1 { font-size: clamp(54px, 8.3vw, 122px); max-width: 12ch; text-wrap: balance; }
.page-hero--image.visual-arts h1 { color: var(--green); }
.page-hero--image.equipment h1 { color: var(--yellow); }
.page-hero--image.live-acts { --service-focus: 74%; }
.page-hero--image.visual-arts { --service-focus: 79%; }
.page-hero--image.events { --service-focus: 67%; }
@media (max-width: 700px) {
  .page-hero.page-hero--image { min-height: 0; display: block; padding: 0 0 38px; }
  .page-hero--image .service-hero-media { display: block; position: relative; aspect-ratio: 1.67; }
  .page-hero--image .service-hero-media::after {
    background: linear-gradient(0deg, #090909 0%, rgba(9,9,9,.15) 36%, transparent 56%);
  }
  .page-hero--image .service-hero-copy { max-width: none; padding: 4px 6% 0; }
  .page-hero--image h1 { font-size: clamp(40px, 12vw, 76px); margin: 13px 0 19px; }
  .page-hero--image p { margin-bottom: 22px; }
}
