.expertise-stage {
  grid-template-columns: 40% 60%;
  min-height: 0;
  align-items: stretch;
}

.expertise-stage.reverse {
  grid-template-columns: 60% 40%;
}

.expertise-stage .stage-copy {
  padding-top: clamp(44px, 5vw, 72px);
  padding-bottom: clamp(44px, 5vw, 72px);
}

.expertise-stage figure.concept-visual {
  display: flex;
  align-items: center;
  min-height: 0;
}

.expertise-stage:nth-child(1) figure.concept-visual {
  background: #ece9e4;
}

.expertise-stage:nth-child(2) figure.concept-visual {
  background: #f7f3ee;
}

.expertise-stage:nth-child(3) figure.concept-visual {
  background: #f7f3ed;
}

.expertise-stage .concept-visual img {
  height: 100%;
  object-fit: contain;
}

.concept-visual figcaption b {
  color: var(--orange);
  margin-right: 12px;
  letter-spacing: .1em;
}

.actual-proof {
  position: relative;
  display: block;
  min-height: clamp(560px, 75vw, 920px);
  overflow: hidden;
  background: #111;
  color: white;
}

.actual-proof > img {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.actual-proof::after {
  content: "";
  position: absolute;
  inset: 25% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .92));
}

.actual-proof > div {
  position: absolute;
  z-index: 2;
  left: var(--pad);
  right: var(--pad);
  bottom: clamp(50px, 8vw, 110px);
}

.actual-proof span {
  color: var(--orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.actual-proof h2 {
  max-width: 850px;
  margin: 18px 0;
  font-size: clamp(42px, 6vw, 86px);
  line-height: .98;
  letter-spacing: -.055em;
}

.actual-proof p {
  font-weight: 800;
}

.actual-proof:hover > img {
  transform: scale(1.02);
}

@media (max-width: 800px) {
  .expertise-stage {
    grid-template-columns: 1fr;
  }

  .expertise-stage.reverse {
    grid-template-columns: 1fr;
  }

  .expertise-stage .stage-copy {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .expertise-stage figure.concept-visual {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .concept-visual figcaption b {
    display: block;
    margin: 0 0 4px;
  }

  .actual-proof {
    min-height: 620px;
  }
}
