.retreat-gallery-section {
  padding: 82px 0;
  background: var(--paper);
}

.retreat-gallery-heading {
  max-width: 760px;
  margin-bottom: 38px;
}

.retreat-gallery-heading h2 {
  margin-bottom: 16px;
}

.retreat-gallery-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}

.retreat-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 270px 220px;
  gap: 14px;
}

.retreat-gallery figure {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  border-radius: 20px;
  background: var(--cream);
}

.retreat-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.retreat-gallery figure:hover img {
  transform: scale(1.025);
}

.gallery-community {
  grid-column: span 2;
}

.gallery-community img {
  object-position: center 48%;
}

.gallery-rest img {
  object-position: center 43%;
}

.gallery-rest {
  grid-row: span 2;
}

@media (max-width: 760px) {
  .retreat-gallery-section {
    padding: 64px 0;
  }

  .retreat-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 230px 220px 180px;
    gap: 10px;
  }

  .gallery-community {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .gallery-rest {
    grid-row: span 2;
  }
}

@media (max-width: 430px) {
  .retreat-gallery {
    grid-template-rows: 210px 190px 160px;
  }

  .retreat-gallery figure {
    border-radius: 15px;
  }
}
