/* Private events use the same two-column guide, fonts and palette as the home page. */
.private-events { padding-bottom: 0; }
.private-events .site-header {
  position: sticky;
  color: var(--ink);
  background: var(--natural);
  border-bottom: 1px solid var(--line);
  --focus-color: var(--blue);
}
.private-events .site-header .brand { color: var(--orange); }
.private-grid {
  display: grid;
  grid-template-columns: var(--aiki-content-columns);
  gap: 48px var(--aiki-content-gutter);
  align-items: start;
}
.private-grid > * { min-width: 0; }
.private-hero, .private-section {
  padding: clamp(56px, 6.25vw, 120px) var(--pad);
}
.private-hero { padding-top: clamp(40px, 4vw, 76px); }
.private-events .section-title { margin: 0; }
.private-events .section-title__italic { margin-top: .12em; }
.private-hero__content { margin-top: clamp(40px, 4vw, 76px); }
.private-events p { margin: 0; }
.private-events p + p { margin-top: 24px; }
.private-events .private-lead, .private-events h3 {
  font-family: var(--aiki-font-text);
  font-size: var(--aiki-h2-size);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.01em;
}
.private-events h3 { margin: 0; text-transform: none; }
.private-hero__copy { align-self: center; }
.private-hero__copy > .button { margin-top: 32px; }
.private-photo { margin: 0; overflow: hidden; }
.private-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.private-hero__photo img { aspect-ratio: 16 / 10; }
.private-section--blue, .private-section--dark, .private-section--green {
  color: var(--natural);
  --private-rule: rgba(var(--natural-rgb), .38);
  --focus-color: var(--natural);
}
.private-section--blue { background: var(--blue); }
.private-section--dark { background: var(--ink); }
.private-section--green { background: var(--green); }
.private-section--orange { color: var(--on-orange); background: var(--orange); }
.private-section {
  --private-rule: rgba(var(--ink-rgb), .3);
}
.private-section:is(.private-section--blue, .private-section--dark, .private-section--green) {
  --private-rule: rgba(var(--natural-rgb), .38);
}
.private-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px 32px;
}
.private-benefits > article, .private-list > article {
  border-top: 1px solid var(--private-rule);
  padding-top: 24px;
}
.private-benefits p, .private-list p { margin-top: 16px; }
.private-list > article + article { margin-top: 32px; }
.private-section__visual .private-photo { margin-top: 48px; }
.private-amenities > div + div, .private-conditions > div + div { margin-top: 48px; }
.private-lines { list-style: none; margin: 24px 0 0; padding: 0; }
.private-lines > li { padding: 16px 0; border-top: 1px solid var(--private-rule); }
.private-lines > li:last-child { border-bottom: 1px solid var(--private-rule); }
.private-events .private-menu-intro { margin-bottom: 36px; }
.private-capacity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0 0;
}
.private-capacity > div { border-top: 1px solid var(--private-rule); padding-top: 20px; }
.private-capacity dt { font-size: var(--aiki-caption-size); }
.private-capacity dd {
  margin: 18px 0 0;
  font-size: clamp(54px, 5vw, 96px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.03em;
}
.private-capacity dd span, .private-capacity dd small {
  font-size: var(--aiki-body-size);
  font-weight: 400;
  letter-spacing: normal;
}
.private-capacity dd small { display: block; margin-top: 12px; }
.private-prices { margin: 24px 0 0; }
.private-prices > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  border-top: 1px solid var(--private-rule);
  padding: 20px 0;
}
.private-prices > div:last-child { border-bottom: 1px solid var(--private-rule); }
.private-prices dd { margin: 0; font-size: var(--aiki-h2-size); font-weight: 500; line-height: 1; letter-spacing: -.01em; }
.private-request__intro > .private-lead { margin-top: 36px; }
.private-contacts { margin-top: 48px; }
.private-contacts p { margin-bottom: 20px; }
.private-events .private-contacts .text-link { display: flex; margin-top: 12px; }
.private-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
.private-fields .booking-field { margin: 0; }
.private-fields__comment { grid-column: 1 / -1; }
.private-request__form .booking-consent { margin-top: 32px; }
.private-request__form > .button { width: 100%; margin-top: 32px; }
.private-events .private-request__form > .booking-form__note { margin-top: 20px; }
.private-events .private-request__form > .booking-form__status { margin-top: 16px; }
.private-footer-link { display: inline-block; margin-top: 12px; border-bottom: 1px solid currentColor; }

@media (max-width: 1200px) and (min-width: 981px) {
  .private-benefits { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 980px) {
  .private-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .private-hero__copy { grid-row: 1; }
  .private-hero__photo { grid-row: 2; }
  .private-photo img, .private-hero__photo img { aspect-ratio: 16 / 10; max-height: 480px; }
  .private-section__visual .private-photo { margin-top: 36px; }
  .private-events .private-request__intro > .private-lead { max-width: 30em; }
}
@media (max-width: 600px) {
  .private-benefits, .private-fields { grid-template-columns: minmax(0, 1fr); }
  .private-fields__comment { grid-column: auto; }
  .private-hero__copy > .button { width: 100%; }
  .private-section__visual .private-photo { margin-top: 28px; }
  .private-capacity { gap: 16px; }
  .private-amenities > div + div, .private-conditions > div + div, .private-contacts { margin-top: 36px; }
}
