.events-page {
  background: var(--color-midnight-obsidian);
}

.events-page a:focus-visible,
.events-page button:focus-visible,
.events-page input:focus-visible,
.events-page select:focus-visible,
.events-page textarea:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.events-hero {
  position: relative;
  min-height: 42.5rem;
  overflow: hidden;
  background: var(--color-charcoal-noir);
}

.events-hero__image,
.events-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.events-hero__image {
  max-width: none;
  object-fit: cover;
  object-position: center right;
}

.events-hero__shade {
  background: linear-gradient(90deg, rgba(9, 10, 13, 0.84) 0%, rgba(16, 18, 22, 0.62) 43%, rgba(9, 10, 13, 0.24) 100%);
}

.events-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  min-height: 42.5rem;
  align-items: center;
}

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

.events-hero__panel {
  grid-column: 1 / span 5;
  width: 100%;
  max-width: 35rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
  padding: var(--space-7) 0;
}

.events-hero__panel > * { margin: 0; }
.events-hero__panel h1 { max-width: 11ch; }
.events-hero__lead { max-width: 55ch; font-size: var(--text-lead); }

.events-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}
.events-hero__actions > * { width: auto; min-width: 0; }

.events-hero__caption {
  max-width: 55ch;
  padding-top: var(--space-4);
  border-top: var(--border-subtle);
}
.events-hero__caption p { margin: 0; font-size: var(--text-label); }

.events-pathways__intro { width: 50%; max-width: 62ch; }
.events-pathways__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}
.events-pathways__grid > * { min-width: 0; width: 100%; }
.events-pathway { display: flex; flex-direction: column; gap: var(--space-4); }
.events-pathway > * { margin: 0; }
.events-pathway p:not(.overline) { max-width: 35ch; }
.events-pathway .button-link { margin-top: auto; align-self: flex-start; }
.events-pathway--merlot { border-top: 2px solid var(--color-vintage-merlot); }

.events-cardroom__grid,
.events-dining__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}
.events-cardroom__grid > *, .events-dining__grid > * { min-width: 0; width: 100%; }
.events-cardroom__copy { grid-column: 1 / span 5; max-width: 60ch; }
.events-cardroom__side { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-5); }
.events-cardroom__figure, .events-dining__figure { margin: 0; width: 100%; border: var(--border-subtle); }
.events-cardroom__figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.events-cardroom__details { width: 100%; padding: var(--space-5); border: var(--border-subtle); background: var(--color-panel-alt); }
.events-cardroom__dealer { max-width: 34ch; }
.events-cardroom__metadata { margin: var(--space-5) 0 0; border-top: var(--border-subtle); }
.events-cardroom__metadata > div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-4); padding: var(--space-3) 0; border-bottom: var(--border-subtle); }
.events-cardroom__metadata dt { margin: 0; font-size: var(--text-meta); letter-spacing: .14em; text-transform: uppercase; }
.events-cardroom__metadata dd { max-width: 34ch; margin: 0; }

.events-structure__intro { width: 58.333%; max-width: 64ch; }
.events-structure__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.events-structure__grid > * { min-width: 0; width: 100%; }
.events-step { display: flex; flex-direction: column; gap: var(--space-4); }
.events-step > * { margin: 0; }
.events-step__number { color: var(--color-australian-gold); font-size: var(--text-label); font-weight: 600; letter-spacing: .16em; }
.events-step p { max-width: 34ch; }

.events-dining__copy { grid-column: 1 / span 6; max-width: 62ch; }
.events-dining__figure { grid-column: 7 / span 6; margin-top: calc(var(--space-7) * -1); }
.events-dining__figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.events-dining__callout { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 48ch; margin-top: var(--space-6); padding: var(--space-5); border-top: 1px solid var(--color-cognac-amber); background: rgba(9, 10, 13, .28); }
.events-dining__callout > * { margin: 0; }
.events-dining__callout .button-secondary { width: auto; }

.events-process__intro { width: 50%; max-width: 60ch; }
.events-process__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-7); }
.events-process__grid > * { min-width: 0; width: 100%; }
.events-process__item { padding: 0 var(--space-5); border-left: var(--border-subtle); }
.events-process__item:first-child { padding-left: 0; border-left: 0; }
.events-process__item:last-child { padding-right: 0; }
.events-process__number { display: inline-flex; align-items: center; justify-content: center; width: 2rem; min-width: 2rem; height: 2rem; margin-bottom: var(--space-4); background: var(--color-smoked-iron); color: var(--color-australian-gold); font-size: var(--text-label); font-weight: 600; }
.events-process__item p { max-width: 36ch; }

.events-expectations__intro { width: 58.333%; }
.events-expectations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.events-expectations__grid > * { min-width: 0; width: 100%; }
.events-expectations__panel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.events-expectations__panel > * { margin: 0; }
.events-expectations__panel p:not(.overline):not(.events-expectations__merlot) { max-width: 38ch; }
.events-expectations__panel .button-secondary { width: auto; margin-top: auto; }
.events-expectations__merlot { color: #d87883; font-size: var(--text-meta); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.events-enquiry__intro { width: 58.333%; max-width: 58ch; }
.events-enquiry__form { width: 83.333%; margin-top: var(--space-7); }
.events-enquiry__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.events-enquiry__fields > * { min-width: 0; width: 100%; margin: 0; }
.events-field { display: flex; flex-direction: column; gap: var(--space-2); }
.events-field label, .events-field legend { margin: 0; }
.events-field--full { grid-column: 1 / -1; }
.events-field .form-error:empty { display: none; }
.events-field .form-error { margin: 0; }
.events-enquiry__choices { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.events-enquiry__choices label, .events-enquiry__acknowledgement label { display: flex; align-items: flex-start; gap: var(--space-2); margin: 0; color: var(--color-sand-cream); font-weight: 400; }
.events-enquiry__choices input, .events-enquiry__acknowledgement input { flex: 0 0 auto; margin-top: .2rem; }
.events-enquiry__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-6); }
.events-enquiry__submit .button { width: auto; }
.events-enquiry__status { margin: 0; color: var(--color-australian-gold); }
.events-enquiry__note { max-width: 50ch; margin-top: var(--space-5); color: var(--color-muted-slate); font-size: var(--text-label); }

.events-faq__column { width: min(100%, 47.5rem); margin-inline: auto; }
.events-faq__item { padding: var(--space-5) 0; border-top: var(--border-subtle); }
.events-faq__item:last-child { border-bottom: var(--border-subtle); }
.events-faq__item h3 { max-width: 48ch; }
.events-faq__item p { max-width: 62ch; margin-bottom: 0; }

.events-final { padding-block: var(--space-10); }
.events-final__block { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); width: min(100%, 42.5rem); margin-inline: auto; padding-top: var(--space-6); border-top: 1px solid var(--color-australian-gold); text-align: center; }
.events-final__block > * { margin: 0; }
.events-final__block p:not(.overline) { max-width: 52ch; }
.events-final__block .button { width: auto; }

@media (max-width: 1024px) {
  .events-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  .events-pathway:nth-child(3) { grid-column: 1 / span 2; width: calc(50% - (var(--space-4) / 2)); }
  .events-structure__grid { gap: var(--space-4); }
  .events-process__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .events-process__item, .events-process__item:first-child, .events-process__item:last-child { padding: 0 0 var(--space-5); border: 0; border-bottom: var(--border-subtle); }
  .events-process__item:last-child { padding-bottom: 0; border-bottom: 0; }
}

@media (max-width: 900px) {
  .events-hero { min-height: 0; display: flex; flex-direction: column; }
  .events-hero__image { position: relative; inset: auto; order: 0; height: clamp(27.5rem, 58vw, 32.5rem); }
  .events-hero__shade { position: absolute; inset: 0 auto auto; width: 100%; height: clamp(27.5rem, 58vw, 32.5rem); background: linear-gradient(180deg, rgba(9,10,13,.12), rgba(9,10,13,.48)); }
  .events-hero__grid { grid-template-columns: 1fr; min-height: 0; order: 1; }
  .events-hero__panel { grid-column: 1; max-width: 55ch; padding: var(--space-7) 0; }
  .events-cardroom__grid, .events-dining__grid { grid-template-columns: 1fr; }
  .events-cardroom__copy, .events-cardroom__side, .events-dining__copy, .events-dining__figure { grid-column: 1; max-width: none; }
  .events-dining__figure { margin-top: 0; }
  .events-enquiry__form { width: 100%; }
  .events-enquiry__fields { grid-template-columns: 1fr; gap: var(--space-4); }
  .events-field--full { grid-column: 1; }
}

@media (max-width: 760px) {
  .events-hero__image { height: clamp(27.5rem, 120vw, 32.5rem); object-position: 67% center; }
  .events-hero__shade { height: clamp(27.5rem, 120vw, 32.5rem); }
  .events-hero__panel { padding-block: var(--space-6); }
  .events-hero__panel h1 { max-width: none; }
  .events-hero__actions { flex-direction: column; align-items: stretch; }
  .events-hero__actions > * { width: 100%; }
  .events-pathways__intro, .events-structure__intro, .events-process__intro, .events-expectations__intro, .events-enquiry__intro { width: 100%; }
  .events-pathways__grid, .events-structure__grid, .events-expectations__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .events-pathway:nth-child(3) { grid-column: 1; width: 100%; }
  .events-cardroom__metadata > div { grid-template-columns: 1fr; gap: var(--space-1); }
  .events-cardroom__details { padding: var(--space-5); }
  .events-dining__callout .button-secondary, .events-expectations__panel .button-secondary, .events-enquiry__submit .button, .events-final__block .button { width: 100%; }
  .events-final { padding-block: var(--space-8); }
}

@media (min-width: 421px) and (max-width: 760px) {
  .events-hero__actions { flex-direction: row; align-items: center; }
  .events-hero__actions > * { width: auto; }
  .events-dining__callout .button-secondary, .events-expectations__panel .button-secondary, .events-enquiry__submit .button, .events-final__block .button { width: auto; }
}
