/* Corrective layer: preserve the editorial layout while containing square product renders. */
:root {
  --bone-dim: rgba(234, 227, 214, 0.68);
  --bone-faint: rgba(234, 227, 214, 0.5);
}

img {
  height: auto;
}

.masthead {
  padding-top: calc(26px + env(safe-area-inset-top));
}

.hero-status {
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* The new renders are square; keep them as restrained catalogue plates. */
.hero-plate,
.feature {
  width: min(100%, 460px);
  justify-self: end;
}

.hero-plate img,
.feature img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}

/* Prevent the seven-image statement strip from becoming a wall of imagery. */
.band-strip img {
  height: clamp(260px, 32vw, 420px);
  object-position: center;
}

.contact-brief {
  align-content: start;
}

.contact-brief .submit {
  display: inline-block;
  text-decoration: none;
}

@media (max-width: 900px) {
  .hero-plate,
  .feature {
    width: min(78vw, 380px);
    max-width: none;
    justify-self: center;
    margin-inline: auto;
  }

  .hero-plate {
    margin-top: 18px;
  }

  .band-strip img {
    height: 250px;
  }
}

@media (max-width: 640px) {
  .masthead {
    align-items: flex-start;
  }

  .brand {
    white-space: nowrap;
  }

  .nav {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 16px;
  }

  .hero {
    padding-top: 24px;
  }

  .hero h1 {
    margin-top: 30px;
  }

  .hero-copy {
    padding-top: 24px;
  }

  .hero-plate,
  .feature {
    width: min(76vw, 310px);
  }

  .band-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .band-strip img {
    height: 190px;
  }

  .band-line {
    font-size: clamp(2.2rem, 11vw, 3.2rem);
  }

  .seal-grid img {
    max-width: 180px;
    margin-inline: auto;
  }
}
