/* Keep the headline and actions at the edges so the photograph can lead. */
.hero.hero-open-photo {
  height: auto;
  min-height: clamp(660px, calc(100svh - 88px), 880px);
  max-height: none;
  align-items: stretch;
}

.hero-open-photo .hero-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(180px, 28svh, 300px);
  padding-top: 36px;
  padding-bottom: 20px;
  min-width: 0;
}

.hero-open-photo .hero-heading .eyebrow {
  margin-bottom: 14px;
}

.hero-open-photo h1 {
  font-size: clamp(44px, 4.8vw, 72px);
  line-height: 1.08;
  max-width: 900px;
  text-shadow: 0 2px 16px #0005;
}

.hero-open-photo .hero-shade {
  background: linear-gradient(180deg,
    rgba(4, 20, 34, .72) 0%,
    rgba(4, 20, 34, .30) 24%,
    rgba(4, 20, 34, .02) 42%,
    rgba(4, 20, 34, .02) 59%,
    rgba(4, 20, 34, .48) 80%,
    rgba(4, 20, 34, .90) 100%);
}

.hero-open-photo .hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 156px));
  gap: 10px;
  max-width: 322px;
  margin-top: 0;
  align-items: stretch;
}

.hero-open-photo .hero-actions .button {
  min-height: 44px;
  min-width: 0;
  padding: 10px 16px;
  font-size: 12px;
  gap: 16px;
}

.hero-open-photo .hero-actions .button span {
  font-size: 16px;
}

.hero-open-photo .hero-proof-links {
  gap: 0 22px;
  margin-top: 4px;
}

.hero-open-photo .hero-proof-links a {
  min-height: 44px;
  font-size: 12px;
  gap: 7px;
  text-decoration-color: #ffffff80;
  text-underline-offset: 4px;
}

.hero-open-photo .hero-footer {
  position: static;
  width: 100%;
  margin: 8px 0 0;
  padding-top: 8px;
  font-size: 10px;
  gap: 16px;
  line-height: 1.5;
}

.hero-open-photo .hero-footer a {
  min-height: 44px;
  max-width: none;
  gap: 10px;
}

.hero-summary {
  width: min(800px, calc(100% - 40px));
  margin: 0 auto;
  padding-top: 24px;
  text-align: center;
  font-size: 14px;
  line-height: 1.7;
  color: #526778;
}

@media (max-width: 900px) {
  .hero.hero-open-photo {
    min-height: clamp(620px, calc(100svh - 77px), 860px);
  }

  .hero-open-photo .hero-content {
    padding-top: 30px;
  }
}

@media (max-width: 640px) {
  .hero.hero-open-photo {
    min-height: clamp(560px, calc(100svh - 72px), 860px);
  }

  .hero-open-photo .hero-content {
    padding-top: 24px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    gap: clamp(180px, 28svh, 260px);
  }

  .hero-open-photo .hero-heading .eyebrow {
    font-size: 9px;
    letter-spacing: .14em;
    margin-bottom: 12px;
  }

  .hero-open-photo .eyebrow.light > span {
    width: 18px;
    margin-right: 8px;
  }

  .hero-open-photo h1 {
    font-size: clamp(30px, 9.2vw, 48px);
    line-height: 1.12;
    letter-spacing: -.045em;
  }

  .hero-open-photo .hero-image {
    object-position: 54% 50%;
  }

  .hero-open-photo .hero-actions .button {
    padding: 10px 14px;
  }

  .hero-open-photo .hero-proof-links {
    gap: 0 18px;
  }

  .hero-open-photo .hero-proof-links a {
    font-size: 11.5px;
    gap: 6px;
  }

  .hero-open-photo .hero-footer {
    font-size: 9px;
    gap: 12px;
  }

  .hero-open-photo .hero-footer a {
    gap: 7px;
    font-size: 10px;
  }

  .hero-summary {
    font-size: 13px;
    padding-top: 22px;
  }
}

@media (max-width: 370px) {
  .hero-open-photo .hero-actions .button {
    gap: 12px;
    font-size: 11.5px;
  }

  .hero-open-photo .hero-footer {
    gap: 8px;
    font-size: 8.5px;
  }
}

@media (max-height: 500px) and (min-width: 641px) {
  .hero.hero-open-photo {
    min-height: 560px;
  }

  .hero-open-photo .hero-content {
    gap: 140px;
    padding-top: 24px;
  }
}
