.facility-gallery {
  background: #fcfbf8;
  padding: 112px 28px 120px;
}

.facility-gallery-inner {
  max-width: 1184px;
  margin: 0 auto;
}

.facility-gallery-header {
  max-width: 720px;
  margin-bottom: 48px;
}

.facility-gallery-header h2 {
  margin: 0;
  max-width: 700px;
  font-size: clamp(36px, 4vw, 54px);
  letter-spacing: -2.2px;
  line-height: 1.08;
}

.facility-gallery-header > p:not(.eyebrow) {
  max-width: 650px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 18px;
}

.facility-gallery-header address {
  margin: 26px 0;
  font: 600 17px/1.7 var(--display);
}

.architecture-grid {
  display: grid;
  grid-template-columns: 1.16fr .84fr .84fr;
  grid-template-rows: repeat(3, 220px);
  gap: 14px;
}

.architecture-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
}

.architecture-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.architecture-photo:hover img {
  transform: scale(1.025);
}

.architecture-main { grid-row: 1 / span 3; }
.architecture-consultation { grid-column: 2 / span 2; }
.architecture-conversation { grid-column: 2; }
.architecture-corridor { grid-column: 3; }
.architecture-lounge { grid-column: 2 / span 2; }

.faq {
  background: #f5f0e8;
}

@media (max-width: 820px) {
  .facility-gallery {
    padding: 76px 20px 82px;
  }

  .facility-gallery-header {
    margin-bottom: 34px;
  }

  .facility-gallery-header > p:not(.eyebrow) {
    font-size: 17px;
  }

  .architecture-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .architecture-photo,
  .architecture-main,
  .architecture-consultation,
  .architecture-conversation,
  .architecture-corridor,
  .architecture-lounge {
    width: 100%;
    height: 215px;
  }

  .architecture-main {
    height: 300px;
  }

  .architecture-consultation,
  .architecture-lounge {
    height: 230px;
  }
}
