.event-planning-page {
  overflow: hidden;
}

.event-planning-page .ep-hero__grid,
.event-planning-page .ep-casino__grid,
.event-planning-page .ep-brief-invite__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.event-planning-page .ep-hero {
  padding-top: clamp(4rem, 9vw, 9rem);
  background: var(--color-canvas);
}

.event-planning-page .ep-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 36rem;
}

.event-planning-page .ep-hero__copy .display {
  max-width: 7ch;
}

.event-planning-page .ep-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  margin-bottom: var(--space-6);
}

.event-planning-page .ep-text-link,
.event-planning-page .ep-format a,
.event-planning-page .ep-casino__caption a,
.event-planning-page .ep-closing__links a {
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.35;
}

.event-planning-page .ep-hero__scope {
  max-width: 28rem;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.event-planning-page .ep-hero__scope p {
  margin-bottom: 0;
  font-size: var(--text-small);
  line-height: var(--line-small);
}

.event-planning-page .ep-hero__media {
  position: relative;
  grid-column: 7 / span 6;
  min-width: 0;
  aspect-ratio: 4 / 5;
  max-height: 72vh;
  margin-top: var(--space-7);
}

.event-planning-page .ep-hero__media::before {
  position: absolute;
  z-index: -1;
  top: var(--space-5);
  right: calc(var(--space-7) * -1);
  width: var(--space-7);
  height: calc(100% - var(--space-5));
  background: var(--color-cobalt);
  content: "";
}

.event-planning-page .ep-hero__media img { object-position: 65% center; }

.event-planning-page .ep-rhythm { background: var(--color-paper); }
.event-planning-page .ep-rhythm__intro { width: min(100%, 42rem); }

.event-planning-page .ep-rhythm__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-8);
}

.event-planning-page .ep-step {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.event-planning-page .ep-step__number,
.event-planning-page .ep-principle__marker,
.event-planning-page .ep-story__caption > span,
.event-planning-page .ep-checklist__item > span,
.event-planning-page .ep-phase > span {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-cobalt);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.event-planning-page .ep-step__number--burgundy,
.event-planning-page .ep-principle__marker--burgundy,
.event-planning-page .ep-story__number--burgundy,
.event-planning-page .ep-checklist__number--burgundy,
.event-planning-page .ep-phase__number--burgundy { color: var(--color-burgundy) !important; }

.event-planning-page .ep-step p { max-width: 23rem; }
.event-planning-page .ep-step__emphasis { color: var(--color-burgundy); font-size: var(--text-small); font-weight: 700; }

.event-planning-page .ep-formats__intro { width: min(100%, 44rem); }
.event-planning-page .ep-formats__panels {
  display: grid;
  grid-template-columns: 5fr 3fr 4fr;
  gap: var(--space-4);
  min-width: 0;
}

.event-planning-page .ep-format {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-4);
  min-width: 0;
  min-height: 28rem;
  padding: var(--space-7);
}

.event-planning-page .ep-format > * { margin: 0; }
.event-planning-page .ep-format p { max-width: 21rem; }
.event-planning-page .ep-format a { color: inherit; }
.event-planning-page .ep-format--cobalt { background: var(--color-cobalt); color: var(--color-paper); }
.event-planning-page .ep-format--ink { background: var(--color-ink); color: var(--color-paper); }
.event-planning-page .ep-format--paper { border: 1px solid var(--color-line); background: var(--color-paper); }
.event-planning-page .ep-format--paper h3 { border-bottom: 2px solid var(--color-burgundy); }

.event-planning-page .ep-casino__narrative { grid-column: 1 / span 5; min-width: 0; max-width: 43rem; }
.event-planning-page .ep-casino__callout { margin-bottom: 0; padding: var(--space-4); border: 1px solid var(--color-line-dark); font-size: var(--text-small); font-weight: 700; letter-spacing: 0.04em; }
.event-planning-page .ep-casino__feature { grid-column: 7 / span 6; min-width: 0; }
.event-planning-page .ep-casino__image { aspect-ratio: 16 / 10; margin-bottom: var(--space-5); }
.event-planning-page .ep-casino__image img { object-position: 58% center; }
.event-planning-page .ep-casino__principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.event-planning-page .ep-principle { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-line-dark); }
.event-planning-page .ep-principle p { max-width: 23rem; }
.event-planning-page .ep-casino__caption { width: min(100%, 32rem); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-line-dark); }

.event-planning-page .ep-venue__intro { width: min(100%, 38rem); }
.event-planning-page .ep-venue__stories { display: grid; grid-template-columns: 4fr 5fr 3fr; align-items: start; gap: var(--space-5); min-width: 0; }
.event-planning-page .ep-story { min-width: 0; }
.event-planning-page .ep-story figure { margin-bottom: var(--space-4); }
.event-planning-page .ep-story--arrival figure,
.event-planning-page .ep-story--table figure { aspect-ratio: 4 / 5; }
.event-planning-page .ep-story--lounge { padding-top: var(--space-8); }
.event-planning-page .ep-story--lounge figure { aspect-ratio: 3 / 2; }
.event-planning-page .ep-story__caption { min-width: 0; }
.event-planning-page .ep-story__caption > span { margin-bottom: var(--space-2); }
.event-planning-page .ep-story__caption p { max-width: 26rem; }

.event-planning-page .ep-details__intro { width: min(100%, 40rem); }
.event-planning-page .ep-checklist { width: min(100%, 67.5rem); margin: var(--space-8) auto 0; }
.event-planning-page .ep-checklist__item { display: grid; grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-line); }
.event-planning-page .ep-checklist__item > span { margin: 0; }
.event-planning-page .ep-checklist__item > div { min-width: 0; max-width: 40rem; }
.event-planning-page .ep-checklist__reassurance { color: var(--color-burgundy); }

.event-planning-page .ep-flow { border-top: 3px solid var(--color-cobalt); }
.event-planning-page .ep-flow__intro { width: min(100%, 42rem); }
.event-planning-page .ep-flow__phases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; min-width: 0; margin-top: var(--space-8); }
.event-planning-page .ep-phase { min-width: 0; padding-inline: var(--space-5); border-left: 1px solid var(--color-line-dark); }
.event-planning-page .ep-phase:first-child { padding-left: 0; border-left: 0; }
.event-planning-page .ep-phase p { max-width: 23rem; }
.event-planning-page .ep-flow__links { width: min(100%, 30rem); margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid var(--color-line-dark); }
.event-planning-page .ep-flow__links p { margin-bottom: 0; }

.event-planning-page .ep-brief-invite__copy { grid-column: 1 / span 7; min-width: 0; max-width: 38rem; }
.event-planning-page .ep-brief-invite__copy .lead { max-width: 38rem; }
.event-planning-page .ep-brief-invite__copy > p:last-child { max-width: 30rem; }
.event-planning-page .ep-brief-invite__action { display: flex; grid-column: 9 / span 4; flex-direction: column; justify-content: center; min-width: 0; min-height: 20rem; padding: var(--space-7); background: var(--color-cobalt); color: var(--color-paper); }
.event-planning-page .ep-brief-invite__action p { max-width: 20rem; }
.event-planning-page .ep-brief-invite__action .button { width: 100%; }

.event-planning-page .ep-form-section__intro { width: min(100%, 36rem); }
.event-planning-page .ep-form { width: min(100%, 60rem); margin: var(--space-7) auto 0; }
.event-planning-page .ep-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.event-planning-page .ep-field { min-width: 0; }
.event-planning-page .ep-field--full { margin-top: var(--space-5); }
.event-planning-page .ep-form__fieldset { margin-top: var(--space-5); margin-bottom: 0; }
.event-planning-page .ep-form__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-5); min-width: 0; }
.event-planning-page .ep-form__checks label { display: flex; align-items: flex-start; gap: var(--space-2); min-width: 0; margin: 0; font-weight: 500; }
.event-planning-page .ep-form__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; margin-top: var(--space-5); }
.event-planning-page .ep-form__submit p { max-width: 36rem; margin: 0; color: var(--color-ink-soft); font-size: var(--text-small); }
.event-planning-page .ep-form__summary:empty { display: none; }
.event-planning-page .ep-form__summary { margin-bottom: var(--space-5); padding: var(--space-4); border-radius: var(--radius-control); background: var(--color-error-tint); color: var(--color-ink); font-size: var(--text-small); font-weight: 700; }
.event-planning-page .ep-form__summary.is-success { background: var(--color-success); color: var(--color-paper); }

.event-planning-page .ep-closing { border-top: 3px solid var(--color-cobalt); }
.event-planning-page .ep-closing__copy { width: min(100%, 42rem); }
.event-planning-page .ep-closing__copy h2 { max-width: 26rem; }
.event-planning-page .ep-closing__links { display: flex; flex-wrap: wrap; gap: var(--space-5); min-width: 0; }
.event-planning-page .ep-closing__links a { color: var(--color-paper); }

@media (hover: hover) and (pointer: fine) {
  .event-planning-page .ep-step:hover,
  .event-planning-page .ep-principle:hover,
  .event-planning-page .ep-checklist__item:hover { border-top-width: 2px; }
  .event-planning-page .ep-format:hover { filter: brightness(0.96); }
}

@media (max-width: 1039px) {
  .event-planning-page .ep-rhythm__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
  .event-planning-page .ep-venue__stories { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .event-planning-page .ep-story--arrival { grid-column: 1 / span 3; }
  .event-planning-page .ep-story--lounge { grid-column: 4 / span 3; padding-top: 0; }
  .event-planning-page .ep-story--table { grid-column: 1 / span 3; }
}

@media (max-width: 999px) {
  .event-planning-page .ep-casino__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .event-planning-page .ep-casino__narrative,
  .event-planning-page .ep-casino__feature { grid-column: 1 / -1; }
  .event-planning-page .ep-casino__feature { margin-top: var(--space-5); }
}

@media (max-width: 979px) {
  .event-planning-page .ep-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .event-planning-page .ep-hero__copy,
  .event-planning-page .ep-hero__media { grid-column: 1 / -1; }
  .event-planning-page .ep-hero__media { width: min(100%, 42rem); margin-top: var(--space-4); }
  .event-planning-page .ep-formats__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-planning-page .ep-format:first-child { grid-column: 1 / -1; }
}

@media (max-width: 899px) {
  .event-planning-page .ep-flow__phases { grid-template-columns: 1fr; gap: var(--space-6); }
  .event-planning-page .ep-phase { padding: 0 0 var(--space-6); border-left: 0; border-bottom: 1px solid var(--color-line-dark); }
  .event-planning-page .ep-phase:last-child { border-bottom: 0; }
  .event-planning-page .ep-brief-invite__grid { grid-template-columns: 1fr; }
  .event-planning-page .ep-brief-invite__copy,
  .event-planning-page .ep-brief-invite__action { grid-column: 1; }
  .event-planning-page .ep-brief-invite__action { min-height: 0; }
}

@media (max-width: 839px) {
  .event-planning-page .ep-checklist__item { grid-template-columns: 1fr; gap: var(--space-2); }
}

@media (max-width: 819px) {
  .event-planning-page .ep-form__grid,
  .event-planning-page .ep-form__checks { grid-template-columns: 1fr; }
}

@media (max-width: 699px) {
  .event-planning-page .ep-hero__copy .display { font-size: clamp(3.25rem, 15vw, 4.4rem); }
  .event-planning-page .ep-hero__actions { align-items: stretch; flex-direction: column; }
  .event-planning-page .ep-hero__actions > * { width: 100%; min-height: 3rem; }
  .event-planning-page .ep-hero__media { width: calc(100% - 0.875rem); }
  .event-planning-page .ep-hero__media::before { top: 0.875rem; right: -0.875rem; width: 0.875rem; height: calc(100% - 0.875rem); }
  .event-planning-page .ep-rhythm__steps,
  .event-planning-page .ep-formats__panels,
  .event-planning-page .ep-casino__principles,
  .event-planning-page .ep-venue__stories { grid-template-columns: 1fr; }
  .event-planning-page .ep-rhythm__steps { gap: 3.5rem; }
  .event-planning-page .ep-format:first-child,
  .event-planning-page .ep-story--arrival,
  .event-planning-page .ep-story--lounge,
  .event-planning-page .ep-story--table { grid-column: 1; }
  .event-planning-page .ep-format { min-height: 0; padding: var(--space-6); }
  .event-planning-page .ep-casino__image { aspect-ratio: 3 / 2; }
  .event-planning-page .ep-venue__stories { gap: var(--space-7); }
  .event-planning-page .ep-story--lounge { padding-top: 0; }
  .event-planning-page .ep-story__caption p { max-width: 32rem; }
  .event-planning-page .ep-checklist { margin-top: var(--space-6); }
  .event-planning-page .ep-checklist__item { padding-block: var(--space-5); }
  .event-planning-page .ep-brief-invite__action { padding: var(--space-6); }
  .event-planning-page .ep-form { padding: var(--space-5); }
  .event-planning-page .ep-form__submit { align-items: stretch; }
  .event-planning-page .ep-form__submit button { width: 100%; }
  .event-planning-page .ep-closing__links { flex-direction: column; gap: var(--space-3); }
  .event-planning-page .ep-closing__links a { display: flex; align-items: center; min-height: 3rem; }
}
