.private-events-page {
  overflow: clip;
}

.private-events-page .section {
  position: relative;
}

.private-events-hero {
  min-height: 720px;
  display: flex;
  align-items: center;
  padding-top: calc(var(--space-24) + var(--space-8));
}

.private-events-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-12);
  align-items: center;
}

.private-events-hero__copy,
.private-events-hero__media {
  min-width: 0;
  width: 100%;
}

.private-events-hero__copy {
  max-width: 760px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.private-events-hero__copy h1,
.private-events-hero__copy p {
  margin: 0;
}

.private-events-hero__copy h1 {
  max-width: 8ch;
  font-size: clamp(4.5rem, 8.3vw, 7.5rem);
  line-height: 0.92;
}

.private-events-hero__copy h1 span {
  color: var(--color-fuchsia-500);
}

.private-events-hero__sticker {
  display: inline-block;
  padding: var(--space-2) var(--space-3);
  transform: rotate(-2deg);
  border: 1px solid var(--color-white-100);
  background: var(--color-ink-950);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.private-events-hero__lead {
  max-width: 47ch;
  color: var(--color-white-300);
  font-size: var(--text-lg);
  line-height: 1.6;
}

.private-events-hero__lead strong {
  color: var(--color-lime-400);
}

.private-events-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
}

.private-events-hero__actions > * {
  min-width: 0;
}

.private-events-hero__micro {
  color: var(--color-lime-400);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.private-events-hero__note {
  max-width: 56ch;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-violet-700);
  color: var(--color-white-300);
  font-size: var(--text-sm);
}

.private-events-hero__media {
  aspect-ratio: 4 / 5;
  max-width: 100%;
  margin-top: var(--space-16);
}

.private-events-hero__media img {
  object-position: 72% center;
}

.private-events-hero__disc {
  position: absolute;
  z-index: -1;
  right: 33%;
  bottom: -2rem;
  display: grid;
  width: 9rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--color-lime-400);
  border-radius: 50%;
  color: var(--color-lime-400);
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.private-events-rhythm__intro {
  width: 100%;
  max-width: 60ch;
  margin-bottom: var(--space-12);
}

.private-events-rhythm__intro p:last-child {
  max-width: 58ch;
  color: var(--color-white-300);
}

.private-events-rhythm__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
}

.private-events-rhythm__card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 300px;
  padding: var(--space-6);
  border: var(--border-subtle);
  background: var(--color-violet-900);
  transition: transform var(--transition-ui), border-color var(--transition-ui), background-color var(--transition-ui);
}

.private-events-rhythm__card:hover,
.private-events-rhythm__card:focus-within {
  transform: translate(-2px, -2px);
  border-color: var(--color-lime-400);
}

.private-events-rhythm__card--long { grid-column: span 5; border-top: 2px solid var(--color-fuchsia-500); }
.private-events-rhythm__card--late { grid-column: span 3; }
.private-events-rhythm__card--cards { grid-column: span 4; background: var(--color-ink-950); }
.private-events-rhythm__card--own { grid-column: 1 / span 5; background: transparent; border-color: rgba(248, 244, 240, 0.42); }

.private-events-rhythm__number {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 0.9;
}

.private-events-rhythm__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  padding-right: var(--space-12);
}

.private-events-rhythm__content h3,
.private-events-rhythm__content p { margin: 0; }
.private-events-rhythm__content p { color: var(--color-white-300); line-height: 1.6; }

.private-events-inline-link {
  display: inline-block;
  min-height: 44px;
  padding-top: var(--space-2);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
}

.private-events-inline-link:hover { color: var(--color-lime-400); }

.private-events-kitchen__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-12);
  align-items: start;
}

.private-events-kitchen__copy,
.private-events-kitchen__media { min-width: 0; width: 100%; }

.private-events-kitchen__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.private-events-kitchen__copy h2,
.private-events-kitchen__copy > p { margin: 0; }

.private-events-kitchen__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-lime-400);
}

.private-events-kitchen__item h3,
.private-events-kitchen__item p { margin: 0; }
.private-events-kitchen__item p { max-width: 49ch; color: var(--color-white-300); }

.private-events-kitchen__item--menu {
  padding: var(--space-6);
  border: var(--border-subtle);
  background: var(--color-violet-900);
}

.private-events-kitchen__tag {
  align-self: flex-start;
  padding: var(--space-1) var(--space-2);
  transform: rotate(-2deg);
  background: var(--color-fuchsia-500);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.private-events-kitchen__media {
  aspect-ratio: 3 / 2;
  align-self: center;
}
.private-events-kitchen__media img { object-position: 72% center; }

.private-events-cardroom__top {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-12);
  align-items: end;
}

.private-events-cardroom__intro,
.private-events-cardroom__media { min-width: 0; width: 100%; }
.private-events-cardroom__intro p:last-child { max-width: 38ch; color: var(--color-white-300); }
.private-events-cardroom__media { aspect-ratio: 16 / 9; }
.private-events-cardroom__media img { object-position: 70% center; }

.private-events-cardroom__media figcaption {
  position: absolute;
  z-index: 2;
  top: var(--space-4);
  left: var(--space-4);
  margin: 0;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--color-white-100);
  background: rgba(9, 7, 13, 0.88);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.private-events-cardroom__details {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr);
  gap: var(--space-8);
  align-items: start;
  margin-top: var(--space-12);
}

.private-events-cardroom__explanation,
.private-events-cardroom__offline,
.private-events-cardroom__note { min-width: 0; width: 100%; }

.private-events-cardroom__explanation h3,
.private-events-cardroom__explanation p,
.private-events-cardroom__offline h3,
.private-events-cardroom__offline p,
.private-events-cardroom__note { margin: 0; }

.private-events-cardroom__explanation { grid-column: 1; }
.private-events-cardroom__explanation p { max-width: 48ch; color: var(--color-white-300); }

.private-events-cardroom__offline {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-lime-400);
}

.private-events-cardroom__offline:hover,
.private-events-cardroom__offline:focus-within { border-color: var(--color-white-100); }
.private-events-cardroom__offline p { max-width: 34ch; color: var(--color-white-300); }

.private-events-cardroom__note {
  grid-column: 1;
  max-width: 46ch;
  color: var(--color-white-300);
  font-size: var(--text-sm);
}

.private-events-atmosphere__wrap { position: relative; min-width: 0; }
.private-events-atmosphere__media { width: 100%; min-width: 0; min-height: 500px; aspect-ratio: 21 / 9; }
.private-events-atmosphere__media img { object-position: center 55%; }

.private-events-atmosphere__copy {
  position: absolute;
  right: var(--space-8);
  bottom: var(--space-8);
  left: var(--space-8);
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  gap: var(--space-4);
  align-items: end;
}

.private-events-atmosphere__main,
.private-events-atmosphere__side { min-width: 0; width: 100%; padding: var(--space-6); background: rgba(9, 7, 13, 0.94); }
.private-events-atmosphere__main { grid-column: 1; }
.private-events-atmosphere__side { grid-column: 3; }
.private-events-atmosphere__main h2,
.private-events-atmosphere__main h3,
.private-events-atmosphere__main p,
.private-events-atmosphere__side h3,
.private-events-atmosphere__side p { margin: 0; }
.private-events-atmosphere__main { display: flex; flex-direction: column; gap: var(--space-4); }
.private-events-atmosphere__side { display: flex; flex-direction: column; gap: var(--space-3); }
.private-events-atmosphere__main p:last-child { max-width: 42ch; color: var(--color-white-300); }
.private-events-atmosphere__side p { max-width: 38ch; color: var(--color-white-300); }

.private-events-process__intro { width: 100%; max-width: 62ch; margin-bottom: var(--space-12); }
.private-events-process__intro p:last-child { max-width: 54ch; color: var(--color-white-300); }

.private-events-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.private-events-process__step {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  min-height: 310px;
  padding: var(--space-6);
  border: var(--border-subtle);
  background: var(--color-violet-900);
}

.private-events-process__step > * { margin: 0; }
.private-events-process__step > span { color: var(--color-lime-400); font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 700; line-height: 1; }
.private-events-process__step:nth-child(2) { border-top-color: var(--color-fuchsia-500); }
.private-events-process__step:nth-child(3) > span { color: var(--color-white-100); }
.private-events-process__step:nth-child(4) { border-bottom-color: var(--color-lime-400); }
.private-events-process__step p { color: var(--color-white-300); }

.private-events-prep__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-12);
  align-items: start;
}

.private-events-prep__intro,
.private-events-prep__labels { min-width: 0; width: 100%; }
.private-events-prep__intro p:last-child { max-width: 54ch; color: var(--color-white-300); }

.private-events-prep__labels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.private-events-prep__label {
  display: flex;
  gap: var(--space-3);
  min-width: 0;
  min-height: 190px;
  padding: var(--space-4);
  border-top: 1px solid var(--color-violet-700);
  color: var(--color-white-100);
  text-decoration: none;
}

.private-events-prep__label:nth-child(4) { grid-column: 1 / span 2; }
.private-events-prep__label:nth-child(5) { grid-column: 3; }
.private-events-prep__label:hover { color: var(--color-white-100); border-color: var(--color-fuchsia-500); }
.private-events-prep__label > span { flex: 0 0 2rem; color: var(--color-fuchsia-500); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; }
.private-events-prep__label:nth-child(2) > span,
.private-events-prep__label:nth-child(5) > span { color: var(--color-lime-400); }
.private-events-prep__label:nth-child(3) > span { color: var(--color-white-100); }
.private-events-prep__label > div { min-width: 0; width: 100%; }
.private-events-prep__label h3,
.private-events-prep__label p { margin: 0; }
.private-events-prep__label h3 { margin-bottom: var(--space-2); font-size: var(--text-xl); }
.private-events-prep__label p { max-width: 36ch; color: var(--color-white-300); font-size: var(--text-sm); }
.private-events-prep__label small { display: block; margin-bottom: var(--space-1); color: var(--color-lime-400); font-family: var(--font-heading); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.private-events-location__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-12);
  padding: clamp(var(--space-6), 5vw, var(--space-16));
}

.private-events-location__address,
.private-events-location__contact { min-width: 0; width: 100%; }
.private-events-location__address address { margin: var(--space-6) 0; color: var(--color-white-100); font-family: var(--font-heading); font-size: clamp(1.75rem, 3.5vw, 3rem); font-style: normal; font-weight: 700; line-height: 1.05; }
.private-events-location__address > p:last-of-type { max-width: 48ch; color: var(--color-white-300); }
.private-events-location__contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); border-left: 1px solid var(--color-violet-700); padding-left: var(--space-8); }
.private-events-location__contact h3,
.private-events-location__contact p { margin: 0; }
.private-events-location__contact p { max-width: 42ch; color: var(--color-white-300); }
.private-events-location__contact-link { display: block; width: 100%; min-height: 44px; padding-block: var(--space-2); border-bottom: 1px solid var(--color-violet-700); color: var(--color-white-100); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; text-decoration: none; }
.private-events-location__contact-link:hover { color: var(--color-fuchsia-500); border-color: var(--color-fuchsia-500); }

.private-events-form__panel { width: min(100%, 1066px); margin-inline: auto; }
.private-events-form__intro { width: 100%; max-width: 54ch; }
.private-events-form__intro p:last-child { color: var(--color-white-300); }
.private-events-form__status:empty { display: none; }
.private-events-form__status { margin-bottom: var(--space-6); padding: var(--space-4); border: 1px solid var(--color-orange-400); background: rgba(255, 155, 61, 0.1); color: var(--color-white-100); font-weight: 600; }
.private-events-form__status.is-success { border-color: var(--color-lime-400); background: rgba(200, 255, 50, 0.1); }

.private-events-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); }
.private-events-form__field,
.private-events-form__check,
.private-events-form__action { min-width: 0; width: 100%; }
.private-events-form__field--full { grid-column: 1 / -1; }
.private-events-form__field label span { color: var(--color-lime-400); font-size: var(--text-xs); font-weight: 700; }
.private-events-form__field input,
.private-events-form__field textarea { min-height: 48px; }
.private-events-form__field textarea { min-height: 9rem; }
.private-events-form__help,
.private-events-form__error { margin: var(--space-2) 0 0; font-size: var(--text-sm); }
.private-events-form__help { color: var(--color-white-300); }
.private-events-form__error { min-height: 1.25em; color: var(--color-orange-400); font-weight: 600; }
.private-events-form__field input[aria-invalid="true"],
.private-events-form__field textarea[aria-invalid="true"] { border-color: var(--color-orange-400); }
.private-events-form__check { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-4); border: var(--border-subtle); }
.private-events-form__check input { flex: 0 0 auto; margin-top: 0.15rem; }
.private-events-form__check label { min-width: 0; margin: 0; }
.private-events-form__check small { display: block; margin-top: var(--space-1); color: var(--color-white-300); font-weight: 400; }
.private-events-form__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.private-events-form__action p { max-width: 62ch; margin: 0; color: var(--color-white-300); font-size: var(--text-sm); }

.private-events-closing__copy { width: 100%; max-width: 760px; margin-inline: auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-block: var(--space-16); border-top: 1px solid var(--color-lime-400); }
.private-events-closing__copy h2,
.private-events-closing__copy p { margin: 0; }
.private-events-closing__copy h2 { max-width: 11ch; }
.private-events-closing__copy p { max-width: 42ch; color: var(--color-white-300); font-size: var(--text-lg); }

@media (max-width: 1080px) {
  .private-events-hero__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: var(--space-8); }
  .private-events-hero__copy h1 { font-size: clamp(4rem, 7.7vw, 5.5rem); }
  .private-events-hero__disc { display: none; }
}

@media (max-width: 1040px) {
  .private-events-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-events-process__step { min-height: 250px; }
}

@media (max-width: 1020px) {
  .private-events-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-events-rhythm__card--long,
  .private-events-rhythm__card--late,
  .private-events-rhythm__card--cards,
  .private-events-rhythm__card--own { grid-column: auto; }
}

@media (max-width: 980px) {
  .private-events-cardroom__top { grid-template-columns: minmax(0, 1fr); }
  .private-events-cardroom__intro p:last-child { max-width: 50ch; }
  .private-events-cardroom__details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .private-events-cardroom__explanation { grid-column: 1; }
  .private-events-cardroom__offline { grid-column: 2; }
  .private-events-cardroom__note { grid-column: 1 / -1; }
  .private-events-prep__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .private-events-prep__labels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .private-events-prep__label:nth-child(4), .private-events-prep__label:nth-child(5) { grid-column: auto; }
}

@media (max-width: 960px) {
  .private-events-kitchen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
  .private-events-kitchen__media { aspect-ratio: 4 / 3; }
}

@media (max-width: 900px) {
  .private-events-atmosphere__media { min-height: 0; aspect-ratio: 4 / 5; }
  .private-events-atmosphere__media img { object-position: center; }
  .private-events-atmosphere__copy { position: static; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin-top: var(--space-6); }
  .private-events-atmosphere__main,
  .private-events-atmosphere__side { grid-column: auto; padding: 0; background: transparent; }
}

@media (max-width: 820px) {
  .private-events-location__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .private-events-location__contact { border-top: 1px solid var(--color-violet-700); border-left: 0; padding-top: var(--space-8); padding-left: 0; }
}

@media (max-width: 760px) {
  .private-events-hero { min-height: 0; padding-top: calc(var(--space-24) + var(--space-4)); }
  .private-events-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .private-events-hero__copy h1 { max-width: 100%; font-size: clamp(3rem, 15vw, 5.5rem); line-height: 0.94; }
  .private-events-hero__media { order: 2; margin-top: 0; aspect-ratio: 1.9 / 1; }
  .private-events-hero__note { order: 3; }
  .private-events-kitchen__grid { grid-template-columns: minmax(0, 1fr); }
  .private-events-kitchen__media { order: -1; aspect-ratio: 4 / 5; }
  .private-events-form__grid { grid-template-columns: minmax(0, 1fr); }
  .private-events-form__field--full { grid-column: auto; }
}

@media (max-width: 720px) {
  .private-events-cardroom__details { grid-template-columns: minmax(0, 1fr); }
  .private-events-cardroom__explanation,
  .private-events-cardroom__offline,
  .private-events-cardroom__note { grid-column: auto; }
  .private-events-cardroom__offline p { max-width: none; }
}

@media (max-width: 680px) {
  .private-events-rhythm__grid { grid-template-columns: minmax(0, 1fr); }
  .private-events-rhythm__card { min-height: 220px; }
}

@media (max-width: 640px) {
  .private-events-process__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding-left: var(--space-4); border-left: 1px solid var(--color-violet-700); }
  .private-events-process__step { min-height: 0; }
  .private-events-prep__labels { grid-template-columns: minmax(0, 1fr); }
  .private-events-prep__label { min-height: 0; }
}

@media (max-width: 479px) {
  .private-events-hero__actions { width: 100%; align-items: stretch; }
  .private-events-hero__micro { text-align: center; }
  .private-events-rhythm__card { padding: var(--space-6) var(--space-4); }
  .private-events-rhythm__content { padding-right: var(--space-8); }
  .private-events-location__contact-link { font-size: var(--text-lg); }
  .private-events-form__panel { padding: var(--space-6); }
  .private-events-closing__copy { margin-inline: 0; padding-block: var(--space-12); }
}

@media (prefers-reduced-motion: reduce) {
  .private-events-rhythm__card:hover,
  .private-events-rhythm__card:focus-within { transform: none; }
}
