.private-events-page {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: radial-gradient(circle at 85% 20%, rgba(105, 103, 201, 0.12), transparent 28rem), radial-gradient(circle at 10% 55%, rgba(39, 91, 139, 0.12), transparent 30rem), var(--color-abyss-950);
}

.private-events-page::before,
.private-events-page::after {
  position: absolute;
  z-index: -1;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  pointer-events: none;
  content: "";
  filter: blur(52px);
  opacity: 0.34;
}

.private-events-page::before {
  top: 16rem;
  left: -15rem;
  background: rgba(39, 91, 139, 0.42);
  animation: pe-drift 18s ease-in-out infinite alternate;
}

.private-events-page::after {
  top: 86rem;
  right: -16rem;
  background: rgba(105, 103, 201, 0.32);
  animation: pe-drift 22s ease-in-out infinite alternate-reverse;
}

.pe-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 42.5rem;
  overflow: hidden;
  align-items: end;
  background: var(--color-abyss-900);
}

.pe-hero__image,
.pe-hero__wash,
.pe-hero__container {
  grid-area: 1 / 1;
  min-width: 0;
}

.pe-hero__image {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.pe-hero__wash {
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(7, 13, 24, 0.78) 0%, rgba(7, 13, 24, 0.42) 50%, rgba(7, 13, 24, 0.26) 100%), linear-gradient(0deg, rgba(7, 13, 24, 0.72), rgba(7, 13, 24, 0.05) 60%);
}

.pe-hero__container {
  z-index: 1;
  display: flex;
  width: min(100% - (var(--container-padding) * 2), var(--container-max));
  min-width: 0;
  min-height: 100%;
  align-items: end;
  padding-block: var(--space-8);
}

.pe-hero__panel {
  display: flex;
  width: min(100%, 35rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
}

.pe-hero__panel > * { margin: 0; }
.pe-hero__panel h1 { max-width: 22ch; }
.pe-hero__lead { max-width: 42ch; color: var(--color-ice-100); font-size: var(--text-lead); line-height: var(--leading-lead); }
.pe-hero__actions { width: 100%; margin-top: var(--space-2); }
.pe-hero__actions > * { flex: 0 1 auto; min-width: 0; }

.pe-pillars__intro { width: min(100%, 37.5rem); min-width: 0; }
.pe-pillars__intro p { max-width: 50ch; }
.pe-pillars__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.pe-pillars__grid > * { min-width: 0; width: 100%; }
.pe-pillar { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); transition: background var(--transition-base), border-color var(--transition-base); }
.pe-pillar > * { margin: 0; }
.pe-pillar:hover { border-color: rgba(167, 165, 255, 0.55); background: rgba(24, 52, 83, 0.84); }
.pe-pillar__number { color: var(--color-violet-glow); font-size: var(--text-helper); font-weight: 700; letter-spacing: 0.08em; }
.pe-pillar p { max-width: 30ch; }
.pe-pillar--featured { border-top-color: rgba(167, 165, 255, 0.66); }

.pe-occasions { border-block: 1px solid rgba(184, 207, 232, 0.1); }
.pe-occasions__intro { width: min(100%, 40rem); min-width: 0; }
.pe-occasions__intro p { max-width: 48ch; }
.pe-occasions__grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-8); row-gap: var(--space-6); margin-top: var(--space-7); }
.pe-occasions__grid > * { min-width: 0; width: 100%; }
.pe-occasion { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); padding-bottom: var(--space-5); border-bottom: 1px solid rgba(184, 207, 232, 0.16); }
.pe-occasion > * { min-width: 0; }
.pe-occasion__mark { color: var(--color-violet-glow); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.08em; }
.pe-occasion h3 { font-size: clamp(1.375rem, 2vw, 1.5rem); }
.pe-occasion p { max-width: 36ch; }

.pe-dining__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); align-items: center; gap: var(--space-8); }
.pe-dining__grid > * { min-width: 0; width: 100%; }
.pe-dining__media { aspect-ratio: 4 / 3; margin: 0; }
.pe-dining__copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 48ch; }
.pe-dining__copy > * { margin: 0; }
.pe-dining__lead { color: var(--color-ice-100); font-size: var(--text-lead); line-height: var(--leading-lead); }
.pe-dining__details { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.pe-dining__details > * { min-width: 0; }
.pe-dining__details h3 { margin-bottom: var(--space-2); }
.pe-dining__details p { max-width: 48ch; }
.pe-dining__button { align-self: flex-start; margin-top: var(--space-2); }

.pe-lounge__intro { width: min(100%, 38.75rem); min-width: 0; }
.pe-lounge__intro p { max-width: 52ch; }
.pe-lounge__media { width: 100%; aspect-ratio: 16 / 9; margin-top: var(--space-7); }
.pe-lounge__cards { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.pe-lounge__cards > * { min-width: 0; width: 100%; }
.pe-lounge-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); transition: background var(--transition-base), border-color var(--transition-base); }
.pe-lounge-card > * { margin: 0; }
.pe-lounge-card:hover { border-color: rgba(167, 165, 255, 0.55); background: rgba(24, 52, 83, 0.84); }
.pe-lounge-card p { max-width: 28ch; }

.pe-gallery__intro { width: min(100%, 32.5rem); min-width: 0; }
.pe-gallery__intro p { max-width: 42ch; }
.pe-gallery__grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(13rem, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.pe-gallery__grid > * { min-width: 0; width: 100%; }
.pe-gallery__item { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin: 0; }
.pe-gallery__item--table { grid-column: 1 / span 5; grid-row: 1 / span 2; }
.pe-gallery__item--interior { grid-column: 6 / span 7; grid-row: 1; }
.pe-gallery__item--lounge-detail { grid-column: 6 / span 7; grid-row: 2; }
.pe-gallery__button { display: block; width: 100%; min-width: 0; height: 100%; padding: 0; border-radius: var(--radius-lg); background: transparent; }
.pe-gallery__button .media-frame { width: 100%; height: 100%; }
.pe-gallery__button img { width: 100%; height: 100%; object-fit: cover; }
.pe-gallery figcaption { width: fit-content; max-width: 100%; margin: 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--surface-border); border-radius: var(--radius-md); background: var(--surface-glass); font-size: var(--text-helper); }

.pe-preparation { background: rgba(11, 20, 36, 0.76); border-block: 1px solid rgba(184, 207, 232, 0.12); }
.pe-preparation__intro { width: min(100%, 37.5rem); min-width: 0; }
.pe-preparation__intro p { max-width: 48ch; }
.pe-preparation__grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); margin-top: var(--space-7); }
.pe-preparation__grid > * { min-width: 0; width: 100%; }
.pe-preparation__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); margin: 0; padding: 0; list-style-position: inside; }
.pe-preparation__list li { min-width: 0; padding-left: var(--space-2); }
.pe-preparation__list li::marker { color: var(--color-violet-glow); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; }
.pe-preparation__list h3 { margin-top: var(--space-2); }
.pe-preparation__list p { max-width: 34ch; }

.pe-form-section__intro { width: min(100%, 37.5rem); min-width: 0; }
.pe-form-section__intro p { max-width: 46ch; }
.pe-form { width: min(100%, 60rem); min-width: 0; margin: var(--space-7) auto 0; }
.pe-form__grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-5); row-gap: var(--space-4); }
.pe-form__grid > * { min-width: 0; width: 100%; }
.pe-form__field { margin: 0; }
.pe-form__field--full { grid-column: 1 / -1; }
.pe-form__consent { display: grid; min-width: 0; grid-template-columns: 1rem minmax(0, 1fr); column-gap: var(--space-3); align-items: start; }
.pe-form__consent > * { min-width: 0; }
.pe-form__consent input { margin-top: 0.28rem; }
.pe-form__consent label { margin: 0; font-size: var(--text-helper); font-weight: 400; }
.pe-form__consent .field__error { grid-column: 1 / -1; }
.pe-form__submit { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.pe-form__submit > * { margin: 0; }
.pe-form__help { max-width: 52ch; font-size: var(--text-helper); line-height: var(--leading-helper); }
.pe-form__status { display: none; }
.pe-form__status.is-visible { display: block; }
.pe-form__status.notice { margin: 0; }
.pe-form [aria-invalid="true"] { border-color: var(--color-danger); }

.pe-process__intro { width: min(100%, 40rem); min-width: 0; margin-inline: auto; text-align: center; }
.pe-process__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.pe-process__grid > * { min-width: 0; width: 100%; }
.pe-process__step { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: 0 var(--space-5); }
.pe-process__step > * { margin: 0; }
.pe-process__step:not(:last-child)::after { position: absolute; top: 1.1rem; left: calc(100% - 1rem); width: 2rem; height: 1px; background: var(--surface-border); content: ""; }
.pe-process__number { color: var(--color-violet-glow); font-family: var(--font-heading); font-size: 2.25rem; font-weight: 600; line-height: 1; }
.pe-process__step p { max-width: 32ch; }
.pe-process__closing { width: min(100%, 48ch); margin: var(--space-7) auto 0; text-align: center; }

.pe-final { padding-top: 0; }
.pe-final__panel { display: flex; width: min(100%, 42.5rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding: var(--space-7) var(--space-6); text-align: center; }
.pe-final__panel > * { margin: 0; }
.pe-final__panel h2 { max-width: 24ch; }
.pe-final__panel p { max-width: 42ch; }

.pe-lightbox { position: fixed; z-index: 1200; inset: 0; display: grid; min-width: 0; place-items: center; padding: var(--space-5); }
.pe-lightbox[hidden] { display: none; }
.pe-lightbox__backdrop { position: absolute; inset: 0; background: rgba(2, 5, 11, 0.84); backdrop-filter: blur(8px); }
.pe-lightbox__content { position: relative; z-index: 1; display: flex; width: min(100%, 68rem); min-width: 0; max-height: calc(100vh - 3rem); flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--surface-border); border-radius: var(--radius-xl); background: var(--color-abyss-900); box-shadow: var(--shadow-deep); }
.pe-lightbox__content img { width: 100%; min-width: 0; max-height: calc(100vh - 10rem); object-fit: contain; }
.pe-lightbox__content p { margin: 0; color: var(--color-ice-100); }
.pe-lightbox__close { position: absolute; top: var(--space-3); right: var(--space-3); z-index: 2; display: grid; width: 2.75rem; min-width: 0; height: 2.75rem; place-items: center; border: 1px solid var(--surface-border); border-radius: var(--radius-full); background: rgba(7, 13, 24, 0.78); color: var(--color-ice-100); font-size: 1.8rem; line-height: 1; }

@keyframes pe-drift { to { transform: translate3d(3rem, -2rem, 0); } }

@media (max-width: 65rem) {
  .pe-hero { min-height: 38rem; }
  .pe-hero__panel { width: min(100%, 32.5rem); }
}

@media (max-width: 60rem) {
  .pe-dining__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .pe-dining__copy { max-width: 48ch; }
}

@media (max-width: 56.25rem) {
  .pe-pillars__grid, .pe-lounge__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-pillars__grid > :last-child, .pe-lounge__cards > :last-child { grid-column: 1 / span 1; }
  .pe-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .pe-gallery__item--table { grid-column: 1 / -1; grid-row: auto; }
  .pe-gallery__item--interior, .pe-gallery__item--lounge-detail { grid-column: auto; grid-row: auto; }
  .pe-gallery__item--table .pe-gallery__button { aspect-ratio: 4 / 3; }
  .pe-gallery__item--interior .pe-gallery__button, .pe-gallery__item--lounge-detail .pe-gallery__button { aspect-ratio: 4 / 3; }
}

@media (max-width: 55rem) {
  .pe-process__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .pe-process__step { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-3); padding: 0; }
  .pe-process__step > * { min-width: 0; }
  .pe-process__step:not(:last-child)::after { top: 2.9rem; left: 1.05rem; width: 1px; height: calc(100% - 1.25rem); }
  .pe-process__step p { max-width: 42ch; }
}

@media (max-width: 53.125rem) {
  .pe-occasions__grid, .pe-preparation__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .pe-occasion p, .pe-preparation__list p { max-width: 46ch; }
}

@media (max-width: 48.75rem) {
  .pe-form__grid { grid-template-columns: 1fr; }
  .pe-form__field--full { grid-column: auto; }
  .pe-form__consent, .pe-form__submit, .pe-form__status { grid-column: auto; }
}

@media (max-width: 47.5rem) {
  .private-events-page::before, .private-events-page::after { width: 16rem; height: 16rem; filter: blur(38px); }
  .pe-hero { min-height: 41rem; }
  .pe-hero__image { object-position: 56% center; }
  .pe-hero__wash { background: linear-gradient(180deg, rgba(7, 13, 24, 0.08) 0%, rgba(7, 13, 24, 0.3) 46%, rgba(7, 13, 24, 0.82) 100%); }
  .pe-hero__container { align-items: end; padding-block: var(--space-5); }
  .pe-hero__panel { width: 100%; gap: var(--space-3); padding: var(--space-5); }
  .pe-hero__panel h1 { max-width: 20ch; font-size: clamp(2.125rem, 9.5vw, 2.5rem); }
  .pe-hero__lead { max-width: none; font-size: var(--text-body); }
  .pe-hero__actions { flex-direction: column; align-items: stretch; }
  .pe-hero__actions > * { width: 100%; }
  .pe-pillars__grid, .pe-lounge__cards, .pe-gallery__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .pe-pillars__grid > :last-child, .pe-lounge__cards > :last-child { grid-column: auto; }
  .pe-pillar p, .pe-lounge-card p { max-width: none; }
  .pe-dining__media, .pe-lounge__media { aspect-ratio: 4 / 3; }
  .pe-dining__button { width: 100%; }
  .pe-gallery__item--table, .pe-gallery__item--interior, .pe-gallery__item--lounge-detail { grid-column: auto; grid-row: auto; }
  .pe-gallery__item .pe-gallery__button { aspect-ratio: 4 / 3; }
  .pe-form { margin-top: var(--space-6); }
  .pe-form__submit .button { width: 100%; }
  .pe-final__panel { width: 100%; padding: var(--space-6) var(--space-5); }
  .pe-final__panel .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .private-events-page::before, .private-events-page::after { animation: none; }
}
