/* Full images keep the original lettering and lace details visible. */
.gallery-section {
  display: block;
  padding-top: 0;
}
.gallery-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 48px;
  margin-bottom: 30px;
}
.gallery-intro { max-width: 370px; }
.gallery-intro .gallery-description { margin-top: 0; }
.gallery-help {
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 20px;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 24px;
}
.gallery-item { min-width: 0; margin: 0; }
.gallery-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #ede5da;
  border: 1px solid var(--line);
}
.gallery-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gallery-photo:hover { border-color: var(--burgundy); }
.gallery-item figcaption { padding: 17px 0 0; }
.gallery-item figcaption > span {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 1.4px;
}
.gallery-item h3 {
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.3;
  margin-top: 5px;
}
@media (max-width: 950px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-heading { gap: 30px; }
  .gallery-intro { max-width: 320px; }
}
@media (max-width: 760px) {
  .gallery-heading { display: block; margin-bottom: 23px; }
  .gallery-intro { max-width: 470px; margin-top: 23px; }
  .gallery-grid { gap: 30px 18px; }
  .gallery-item h3 { font-size: 22px; }
}
@media (max-width: 540px) {
  .gallery-grid { grid-template-columns: minmax(0, 1fr); }
  .gallery-photo { aspect-ratio: auto; }
  .gallery-photo img { height: auto; }
}
