/* 2026-09-07: industry imagery only; keep the v4 copy and conversion logic. */
.hero__image.hero-industries {
  z-index: 0;
  top: 72px;
  right: max(40px, calc((100% - 1320px) / 2));
  left: auto;
  width: 42%;
  height: auto;
  overflow: visible;
  clip-path: none;
  background: transparent;
  isolation: isolate;
}

/* Keep the brand's curve in the backdrop, not across the six interiors. */
.hero-industries::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -26px -100px -22px -30px;
  border-radius: 42% 12% 24% 38%;
  background: linear-gradient(145deg, #f2f8fd, #e7f2fb);
  pointer-events: none;
}

.hero-industries__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 16px;
}

.hero-industries__grid:focus-visible {
  outline: 2px solid var(--blue-dark);
  outline-offset: 3px;
}

.hero-industries__scroll-hint { display: none; }

.hero-industries__item {
  min-width: 0;
  margin: 0;
}

.hero__image.hero-industries picture {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 14px;
  background: #e7f2fb;
}

.hero-industries__item:first-child picture { border-top-left-radius: 28px; }
.hero-industries__item:nth-child(3) picture { border-top-right-radius: 28px; }
.hero-industries__item:nth-child(4) picture { border-bottom-left-radius: 28px; }
.hero-industries__item:nth-child(6) picture { border-bottom-right-radius: 28px; }

.hero__image.hero-industries img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

.hero-industries__item figcaption {
  margin-top: 5px;
  color: var(--blue-dark);
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .08em;
  text-align: center;
}

.hero-industries__note {
  margin: 12px 0 0;
  color: #526779;
  font-size: .75rem;
  line-height: 1.5;
  text-align: right;
}

/* Use the open space below the gallery, without widening into the copy. */
@media (min-width: 1101px) {
  .hero__image.hero-industries picture { aspect-ratio: 1 / 1; }
  .hero-industries::before { bottom: -52px; }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .hero__image.hero-industries { top: 64px; right: 32px; width: 35%; }
  .hero-industries__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .hero-industries::before { bottom: clamp(-72px, calc(14vw - 190px), -36px); }
  .hero__image.hero-industries .hero-industries__item picture { border-radius: 14px; }
  .hero__image.hero-industries .hero-industries__item:first-child picture { border-top-left-radius: 28px; }
  .hero__image.hero-industries .hero-industries__item:nth-child(2) picture { border-top-right-radius: 28px; }
  .hero__image.hero-industries .hero-industries__item:nth-child(5) picture { border-bottom-left-radius: 28px; }
  .hero__image.hero-industries .hero-industries__item:nth-child(6) picture { border-bottom-right-radius: 28px; }
  .hero-industries__item figcaption { font-size: clamp(.75rem, 1.35vw, .875rem); }
}

@media (max-width: 767px) {
  /* Native horizontal scrolling keeps six photos in one compact row. */
  .hero__image.hero-industries {
    z-index: 3;
    top: 74px;
    right: auto;
    left: 50%;
    width: min(calc(100% - 40px), 560px);
    height: auto;
    transform: translateX(-50%);
  }
  .hero-industries::before {
    inset: -10px -24px -8px;
    border-radius: 34% 12% 28% 18%;
  }
  .hero-industries__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: max(84px, calc((100% - 24px) / 4));
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  /* The explicit hint and clipped next photo replace the height of a scrollbar. */
  .hero-industries__grid::-webkit-scrollbar { display: none; }
  .hero-industries__item { scroll-snap-align: start; }
  .hero__image.hero-industries .hero-industries__item picture { border-radius: 8px; }
  .hero__image.hero-industries .hero-industries__item:first-child picture { border-top-left-radius: 22px; }
  .hero__image.hero-industries .hero-industries__item:last-child picture { border-bottom-right-radius: 22px; }
  .hero-industries__item figcaption {
    margin-top: 4px;
    font-size: .75rem;
    line-height: 1.5;
    letter-spacing: .02em;
    white-space: nowrap;
  }
  .hero-industries__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 6px; }
  .hero-industries__scroll-hint { display: block; margin: 0; color: var(--blue-dark); font-size: .6875rem; line-height: 1.5; white-space: nowrap; }
  .hero-industries__note { margin: 0; font-size: .6875rem; line-height: 1.5; white-space: nowrap; }
  .hero__inner { padding-top: 16px; }
  .hero__service { max-width: none; }
  /* Reserve the strip's 4:3 image height plus its captions, note and clear space. */
  .hero h1 { margin-top: calc(max(63px, (min(100vw - 40px, 560px) - 24px) * .1875) + 63px); }
  .hero__lead { margin-top: 14px; }
}
