.hero {
  background: linear-gradient(135deg, #fff 0 62%, #edf8f6 62%);
}
.hero-photo {
  position: relative;
  min-height: 570px;
  margin: 0;
  overflow: hidden;
  border-radius: 32px;
  box-shadow: 0 35px 90px #071a3930;
}
.hero-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, #071a39e8);
}
.hero-photo img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
}
.hero-photo figcaption {
  position: absolute;
  z-index: 2;
  left: 34px;
  right: 34px;
  bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  color: #fff;
}
.hero-photo figcaption strong {
  max-width: 320px;
  font-size: 1.7rem;
  line-height: 1.08;
}
.hero-photo figcaption span {
  margin-left: auto;
  color: #c9dfdd;
}
.community-story {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  gap: 6vw;
  padding: 60px max(6vw, 24px) 120px;
}
.community-story img {
  width: 100%;
  min-height: 500px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 30px 70px #071a3925;
}
.community-story span {
  color: #087f7c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.community-story h2 {
  margin: 18px 0;
  font-size: clamp(2.5rem, 4vw, 4.6rem);
  line-height: 1;
  letter-spacing: -0.055em;
}
.community-story p {
  color: #657087;
  font-size: 1.1rem;
  line-height: 1.7;
}
.community-story a {
  display: inline-block;
  margin-top: 15px;
  color: #087f7c;
  font-weight: 800;
}
.brand img,
footer img {
  object-fit: contain;
}
@media (max-width: 850px) {
  .hero-photo {
    min-height: 430px;
  }
  .community-story {
    grid-template-columns: 1fr;
  }
  .community-story img {
    min-height: 390px;
  }
}
@media (max-width: 540px) {
  .hero-photo {
    min-height: 360px;
    border-radius: 22px;
  }
  .hero-photo figcaption {
    left: 20px;
    right: 20px;
  }
  .hero-photo figcaption span {
    display: none;
  }
  .community-story {
    padding: 35px 20px 75px;
  }
  .community-story img {
    min-height: 300px;
  }
}
