.fc-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .fc-gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .fc-gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}

.fc-shot {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(46, 204, 113, 0.15);
  background: rgba(0, 0, 0, 0.25);
  transition: border-color 0.2s, transform 0.2s;
}

.fc-shot:hover {
  border-color: rgba(46, 204, 113, 0.45);
  transform: translateY(-2px);
}

.fc-shot img {
  width: 100%;
  aspect-ratio: 9 / 19;
  object-fit: cover;
  object-position: top center;
}
