/* Preserve the entire source image at every viewport and gallery selection. */
.hero { min-height: 0; align-items: center; }
.hero > *, .shop > * { min-width: 0; }
.hero-image { height: auto; overflow: visible; padding: 30px 24px 24px; }
.hero-image > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; object-position: center; }
.hero-image::before { display: none; }
.hero-image figcaption { position: static; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; }
.gallery { align-self: start; }
.gallery > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.thumbs img { object-fit: contain; }
@media (max-width: 800px) {
  .hero-image { height: auto; padding: 0 6% 26px; }
  .hero-image > img { height: auto; object-position: center; }
  .hero h1 { font-size: clamp(58px, 11vw, 85px); }
}
