.hero {
  height: 100vh;
  background-image: url("/images/hero.jpeg");
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-text {
  background-color: rgba(0, 0, 0, 0.55);
  color: white;
  padding: 2rem 3rem;
  max-width: 600px;
  text-align: center;
  border-radius: 12px;
}

.hero-text h1 {
  margin-top: 0;
}

/* Boots link */
.boots-link {
  text-decoration: underline;
  cursor: pointer;
}

/* Modal container */
.modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1000;
}

.modal.open {
  display: block;
}

/* Dark background */
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

/* Popup box */
.modal-dialog {
  position: relative;
  margin: 5vh auto;
  background: white;
  color: black;
  max-width: 760px;
  max-height: calc(100vh - 10vh); /* fit window with padding */
  padding: 1.5rem;
  border-radius: 12px;
  overflow-y: auto; /* allow scroll if needed */
}

/* Close button */
.modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}

/* Image sizing rule you asked about */
.modal-image {
  display: block;
  margin: 1rem auto 0;
  width: clamp(337px, 50vw, 674px);
  height: auto;
  border-radius: 10px;
}