/* ==========================================================================
   FUNCTIONS & PRIVATE EVENTS SECTION
   ========================================================================== */
.functions {
  padding-block: var(--space-3xl);
  background: var(--color-navy-deep);
}
.functions__intro { max-width: 76ch; margin-bottom: var(--space-2xl); }
.functions__intro .body-large { max-width: 52ch; }

.functions__rooms {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
.room__media { overflow: hidden; }
.room__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform var(--t-slow);
}
.room:hover .room__media img { transform: scale(1.03); }
.room__body { padding-top: var(--space-md); }
.room__title { margin-bottom: var(--space-2xs); }
.room__body p { color: var(--color-muted); font-size: var(--fs-small); max-width: 44ch; }

.functions__subhead {
  margin-bottom: var(--space-md);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.occasions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xs);
  margin-bottom: var(--space-2xl);
}

@media (min-width: 48em) {
  .occasions { grid-template-columns: repeat(4, 1fr); }
  .functions__rooms { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 62em) {
  .occasions { grid-template-columns: repeat(6, 1fr); }
}
