.hero-image {
  position: relative;
  height: 440px;
  margin: 0;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 28px 70px rgba(16, 35, 59, .16);
}

.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .62);
  pointer-events: none;
}

.hero-image img,
.page-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-image img { object-position: 64% center; }

.visual-band {
  padding: 0 0 24px;
  background: linear-gradient(#f5f7f8 0 44%, #fff 44%);
}

.page-visual {
  height: clamp(280px, 38vw, 510px);
  margin: 0;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(16, 35, 59, .12);
}

.page-visual img { object-position: center; }
.global-visual img { object-position: 58% center; }
.hero-grid > * { min-width: 0; }

@media (max-width: 700px) {
  .hero-image { height: 290px; }
  .hero-image img { object-position: 66% center; }
  .visual-band { padding-bottom: 0; }
  .page-visual { height: 270px; }
  .global-visual img { object-position: 62% center; }
  .hero h1, .hero .lead { overflow-wrap: anywhere; word-break: normal; }
  .hero h1 { font-size: clamp(36px, 10.5vw, 44px); }
}
