.private-events-page {
  overflow: hidden;
  background: var(--color-ink-night);
}

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

.pe-hero {
  padding: calc(var(--section-space) + var(--space-4)) 0 var(--section-space);
  background: var(--color-candle-black);
}

.pe-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.pe-hero__grid > * { min-width: 0; }

.pe-hero__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pe-hero__intro h1,
.pe-hero__intro p { margin: 0; }
.pe-hero__intro h1 { max-width: 10ch; }
.pe-hero__intro .intro { max-width: 42ch; }
.pe-hero__actions { width: 100%; }

.pe-hero__visual {
  position: relative;
  min-width: 0;
  padding-block-end: var(--space-8);
}

.pe-hero__image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  margin: 0;
}

.pe-hero__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 10, 13, 0.65), transparent 58%);
  content: "";
  pointer-events: none;
}

.pe-concept-card {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: calc(var(--space-6) * -1);
  display: flex;
  width: min(25.625rem, calc(100% - var(--space-4)));
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border-block-start: 1px solid var(--color-cognac);
}

.pe-concept-card h2,
.pe-concept-card p { margin: 0; }
.pe-concept-card h2 { font-size: clamp(2rem, 3vw, 2.5rem); }
.pe-concept-card p { max-width: 34ch; font-size: var(--text-label); line-height: var(--line-label); }

.pe-section-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pe-section-heading > * { margin: 0; }
.pe-occasions__heading { width: min(100%, 52ch); margin-bottom: var(--space-8); }
.pe-occasions__heading .intro { max-width: 52ch; }

.pe-occasion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.pe-occasion-grid > * { min-width: 0; }
.pe-occasion-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}
.pe-occasion-card > * { margin: 0; }
.pe-occasion-card p { max-width: 38ch; }
.pe-occasion-card .editorial-link { margin-top: auto; }

.pe-story__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  align-items: start;
}

.pe-story__grid > * { min-width: 0; }
.pe-story__media { grid-column: 1; width: 100%; margin: 0; }
.pe-story__media .media-frame { aspect-ratio: 4 / 5; }
.pe-story__content { grid-column: 3; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.pe-story__content > * { margin: 0; }
.pe-story__content > h2 { max-width: 18ch; }

.pe-sequence-list { width: 100%; }
.pe-sequence {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-block-start: 1px solid var(--color-border-dark);
}
.pe-sequence:last-child { border-block-end: 1px solid var(--color-border-dark); }
.pe-sequence > * { min-width: 0; }
.pe-sequence__number,
.pe-timeline-step__number,
.pe-venue-item > span,
.pe-quote-criteria span { color: var(--color-cognac); font-family: var(--font-heading); font-size: 1.75rem; font-weight: 600; line-height: 1; }
.pe-sequence__copy h3 { margin-bottom: var(--space-2); }
.pe-sequence__copy p { max-width: 48ch; margin-bottom: 0; }

.pe-production { background: var(--color-champagne-paper); }
.pe-production .eyebrow,
.pe-compliance .eyebrow { color: #5d514a; }
.pe-production__heading { width: min(100%, 56ch); margin-bottom: var(--space-8); }
.pe-production__heading .intro { max-width: 56ch; }

.pe-production-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}
.pe-production-grid > * { min-width: 0; }
.pe-production-card {
  grid-column: span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border-block-start: 1px solid var(--color-cognac);
  background: var(--color-ivory);
}
.pe-production-card > * { margin: 0; }
.pe-production-card p { max-width: 35ch; }
.pe-production-card--wide { grid-column: span 8; }
.pe-production-card--wide p { max-width: 42ch; }
.pe-production-card__caption { color: #665c56; font-size: var(--text-meta); line-height: var(--line-meta); }

.pe-customisation__panel {
  padding: var(--space-8);
}
.pe-customisation__heading { width: min(100%, 48ch); margin-bottom: var(--space-8); }
.pe-customisation__heading .intro { max-width: 48ch; }
.pe-customisation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-block: 1px solid var(--color-border-dark);
}
.pe-customisation-grid > * { min-width: 0; }
.pe-customisation-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
}
.pe-customisation-item > * { margin: 0; }
.pe-customisation-item + .pe-customisation-item { border-inline-start: 1px solid var(--color-cognac); }
.pe-customisation-item p { max-width: 30ch; }
.pe-customisation__link { margin-top: var(--space-6); }

.pe-compliance__notice { padding: var(--space-8); }
.pe-compliance__heading { width: min(100%, 38ch); margin-bottom: var(--space-7); }
.pe-compliance__heading .intro { max-width: 48ch; }
.pe-compliance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}
.pe-compliance-grid > * { min-width: 0; }
.pe-compliance-allowed,
.pe-compliance-excluded {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}
.pe-compliance-allowed > *,
.pe-compliance-excluded > * { margin: 0; }
.pe-compliance-allowed { background: var(--color-ink-night); color: var(--color-ivory); }
.pe-compliance-allowed h3 { color: var(--color-ivory); }
.pe-compliance-allowed p { max-width: 50ch; }
.pe-compliance-excluded { background: var(--color-bordeaux); color: var(--color-ivory); }
.pe-compliance-excluded .label,
.pe-compliance-excluded h3 { color: var(--color-ivory); }
.pe-compliance-excluded p { padding-bottom: var(--space-3); border-bottom: 1px solid rgba(247, 244, 238, 0.3); }
.pe-compliance-excluded p:last-child { padding-bottom: 0; border-bottom: 0; }
.pe-compliance__closing { max-width: 52ch; margin: var(--space-6) 0 0; }

.pe-timeline__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
}
.pe-timeline__grid > * { min-width: 0; }
.pe-timeline__heading { grid-column: 1; }
.pe-timeline__heading .intro { max-width: 40ch; }
.pe-timeline-steps { grid-column: 3; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.pe-timeline-steps > * { min-width: 0; }
.pe-timeline-step { padding: var(--space-5); border-block-start: 1px solid var(--color-cognac); background: var(--color-plum-shadow); }
.pe-timeline-step h3 { margin-top: var(--space-4); margin-bottom: var(--space-3); }
.pe-timeline-step p { max-width: 38ch; margin-bottom: 0; }

.pe-venues__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  align-items: center;
}
.pe-venues__grid > * { min-width: 0; }
.pe-venues__content { grid-column: 1; }
.pe-venues__content > h2 { max-width: 18ch; }
.pe-venues__content > .intro { max-width: 46ch; }
.pe-venues__media { grid-column: 3; width: 100%; margin: 0; aspect-ratio: 16 / 10; }
.pe-venue-list { margin-top: var(--space-6); }
.pe-venue-item { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-4); border-block-start: 1px solid var(--color-border-dark); }
.pe-venue-item:last-child { border-block-end: 1px solid var(--color-border-dark); }
.pe-venue-item > * { min-width: 0; }
.pe-venue-item h3 { margin-bottom: var(--space-2); }
.pe-venue-item p { max-width: 40ch; margin-bottom: 0; }

.pe-quote__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr); gap: var(--space-5); align-items: start; }
.pe-quote__grid > * { min-width: 0; }
.pe-quote__content { grid-column: 1; }
.pe-quote__content > h2 { max-width: 19ch; }
.pe-quote__content > .intro { max-width: 50ch; }
.pe-quote-criteria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); margin-top: var(--space-6); }
.pe-quote-criteria > * { min-width: 0; }
.pe-quote-criteria div { display: flex; min-width: 0; align-items: center; gap: var(--space-3); padding-block: var(--space-3); border-block-end: 1px solid var(--color-border-dark); }
.pe-quote-criteria strong { max-width: 26ch; }
.pe-quote__cta { grid-column: 3; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border-block-start: 1px solid var(--color-cognac); }
.pe-quote__cta > * { margin: 0; }
.pe-quote__cta p { max-width: 36ch; }

.pe-final { padding-top: 0; }
.pe-final__panel { display: flex; width: min(100%, 51.67rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; padding: var(--space-9); background: var(--color-bordeaux); text-align: center; }
.pe-final__panel > * { margin: 0; }
.pe-final__panel h2 { max-width: 28ch; }
.pe-final__panel p { max-width: 44ch; }

@media (max-width: 64rem) {
  .pe-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pe-hero__intro { grid-column: span 4; }
  .pe-hero__visual { grid-column: span 4; }
  .pe-concept-card { left: calc(var(--space-5) * -1); }
  .pe-occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-occasion-card:last-child { grid-column: 1 / span 1; }
  .pe-story__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); }
  .pe-story__media { grid-column: 1; }
  .pe-story__content { grid-column: 2; }
  .pe-production-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-production-card,
  .pe-production-card--wide { grid-column: span 1; }
  .pe-customisation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-customisation-item:nth-child(3) { grid-column: 1 / span 1; border-inline-start: 0; border-block-start: 1px solid var(--color-cognac); }
  .pe-timeline__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); }
  .pe-timeline__heading { grid-column: 1; }
  .pe-timeline-steps { grid-column: 2; grid-template-columns: 1fr; }
}

@media (max-width: 56.25rem) {
  .pe-hero__grid,
  .pe-venues__grid,
  .pe-quote__grid { grid-template-columns: 1fr; }
  .pe-hero__intro,
  .pe-hero__visual,
  .pe-venues__content,
  .pe-venues__media,
  .pe-quote__content,
  .pe-quote__cta { grid-column: 1; }
  .pe-hero__intro h1 { max-width: 12ch; }
  .pe-concept-card { position: static; width: 100%; margin-top: var(--space-5); }
  .pe-hero__visual { padding-block-end: 0; }
  .pe-venues__media { order: -1; }
  .pe-quote__cta { margin-top: var(--space-6); }
}

@media (max-width: 51.25rem) {
  .pe-story__grid,
  .pe-compliance-grid { grid-template-columns: 1fr; }
  .pe-story__media,
  .pe-story__content { grid-column: 1; }
  .pe-story__media { order: -1; }
}

@media (max-width: 48rem) {
  .pe-hero { padding-top: var(--section-space); }
  .pe-hero__grid { gap: var(--space-6); }
  .pe-hero__intro h1 { font-size: 2.75rem; line-height: 1.045; }
  .pe-hero__intro .intro { max-width: 42ch; }
  .pe-occasion-grid,
  .pe-production-grid,
  .pe-customisation-grid,
  .pe-timeline__grid,
  .pe-venues__grid,
  .pe-quote__grid { grid-template-columns: 1fr; }
  .pe-occasion-card:last-child,
  .pe-production-card,
  .pe-production-card--wide,
  .pe-customisation-item:nth-child(3),
  .pe-timeline__heading,
  .pe-timeline-steps,
  .pe-venues__content,
  .pe-venues__media,
  .pe-quote__content,
  .pe-quote__cta { grid-column: 1; }
  .pe-section-heading { gap: var(--space-3); }
  .pe-occasions__heading,
  .pe-production__heading,
  .pe-customisation__heading,
  .pe-compliance__heading { margin-bottom: var(--space-6); }
  .pe-production-card { padding: var(--space-5); }
  .pe-production-card + .pe-production-card { border-block-start-color: rgba(12, 10, 13, 0.18); }
  .pe-customisation__panel,
  .pe-compliance__notice { padding: var(--space-5); }
  .pe-customisation-item { padding-inline: 0; }
  .pe-customisation-item + .pe-customisation-item,
  .pe-customisation-item:nth-child(3) { border-inline-start: 0; border-block-start: 1px solid var(--color-cognac); }
  .pe-customisation-item p { max-width: none; }
  .pe-timeline-steps { margin-top: var(--space-6); }
  .pe-quote-criteria { grid-template-columns: 1fr; }
  .pe-final__panel { width: 100%; padding: var(--space-8) var(--space-5); }
  .pe-final__panel .button { width: 100%; }
}

@media (max-width: 42.5rem) {
  .pe-occasion-grid { grid-template-columns: 1fr; }
  .pe-occasion-card:last-child { grid-column: 1; }
  .pe-story__content > h2,
  .pe-venues__content > h2,
  .pe-quote__content > h2 { max-width: none; }
  .pe-sequence { grid-template-columns: 1fr; gap: var(--space-2); }
  .pe-sequence__copy p { max-width: none; }
  .pe-compliance-grid { gap: var(--space-4); }
  .pe-compliance-allowed,
  .pe-compliance-excluded { padding: var(--space-5); }
}
