.campaign-panorama,
.winter-stage {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.campaign-panorama img {
  height: min(70vw, 920px);
  object-fit: cover;
}

.campaign-panorama::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(3, 10, 25, 0.82));
}

.campaign-panorama figcaption {
  position: absolute;
  z-index: 1;
  left: 6vw;
  right: 6vw;
  bottom: 4vw;
  display: flex;
  flex-direction: column;
  color: #fff;
  text-transform: none;
}

.campaign-panorama figcaption span {
  color: var(--lime);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.campaign-panorama figcaption strong {
  max-width: 900px;
  font: 700 clamp(2.2rem, 5vw, 6rem) / 0.95 "Space Grotesk", sans-serif;
  letter-spacing: -0.045em;
}

.winter-stage {
  min-height: 900px;
  color: #fff;
  background: #030a19;
}

.winter-stage > img {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
}

.winter-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 10, 25, 0.93), rgba(3, 10, 25, 0.08) 72%);
}

.winter-copy {
  position: relative;
  z-index: 1;
  width: min(720px, 88vw);
  padding: 11rem 0 13rem 6vw;
}

.winter-copy p:not(.eyebrow) {
  font-size: 1.2rem;
  color: #dce5ef;
}

.winter-details {
  position: absolute;
  z-index: 2;
  left: 6vw;
  right: 6vw;
  bottom: 3rem;
  color: #fff;
}

.case {
  grid-template-columns: 1fr;
}

.case-image {
  height: min(58vw, 900px);
}

@media (max-width: 900px) {
  .campaign-panorama img {
    height: 68vh;
  }

  .winter-stage {
    min-height: 780px;
  }

  .winter-shade {
    background: linear-gradient(90deg, rgba(3, 10, 25, 0.94), rgba(3, 10, 25, 0.3));
  }

  .winter-copy {
    padding: 8rem 5vw 14rem;
  }

  .winter-details {
    left: 5vw;
    right: 5vw;
  }

  .case-image {
    height: 58vw;
  }
}

@media (max-width: 600px) {
  .campaign-panorama img,
  .case-image {
    height: 58vh;
  }

  .campaign-panorama figcaption {
    bottom: 2rem;
  }

  .winter-stage {
    min-height: 850px;
  }
}
