/* Progressive enhancement: existing columns remain the no-script fallback. */
.photo-grid.masonry-ready {
  columns: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1px;
  column-gap: 32px;
  row-gap: 0;
  align-items: start;
}
.photo-grid.masonry-ready figure { margin: 0; padding-bottom: 32px; min-width: 0; }
.photo-grid.masonry-ready figcaption { padding-top: 18px; line-height: 1.4; }
@media (max-width: 900px) {
  .photo-grid.masonry-ready { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}
@media (max-width: 540px) {
  .photo-grid.masonry-ready { display: block; }
  .photo-grid.masonry-ready figure { padding-bottom: 24px; }
}
