.home-page {
  overflow: clip;
}

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

.home-hero {
  position: relative;
  min-width: 0;
  min-height: 47.5rem;
  background: var(--color-ink);
}

.home-hero__image-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
}

.home-hero__image-wrap::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(30 41 38 / 50%) 0%, rgb(30 41 38 / 18%) 44%, rgb(30 41 38 / 4%) 100%);
}

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

.home-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 47.5rem;
  align-items: end;
  padding-block: var(--space-8);
}

.home-hero__panel {
  display: flex;
  width: min(100%, 35rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding: var(--space-6);
  border: var(--border);
  border-radius: var(--radius-sharp);
  background: rgb(255 253 248 / 94%);
  box-shadow: var(--shadow-ticket);
}

.home-hero__panel :is(h1, p) {
  margin: 0;
}

.home-hero__panel h1 {
  max-width: 31.875rem;
}

.home-hero__deck {
  display: flex;
  max-width: 26.875rem;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.home-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-5);
}

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

.home-hero__labels {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}

.home-hero__label {
  position: absolute;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border: var(--border);
  border-radius: var(--radius-sharp);
  background: var(--color-paper-white);
  color: var(--color-ink);
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  pointer-events: auto;
}

.home-hero__label span {
  color: var(--color-cornflower-blue);
  font-size: var(--font-size-fine);
}

.home-hero__label::after {
  position: absolute;
  width: 2.5rem;
  border-top: 1px solid var(--color-paper-white);
  content: "";
}

.home-hero__label--dinner { top: 18%; right: 29%; }
.home-hero__label--dinner::after { top: 50%; right: -2.5rem; }
.home-hero__label--cocktails { top: 37%; right: 8%; }
.home-hero__label--cocktails::after { top: 50%; left: -2.5rem; }
.home-hero__label--lounge { right: 14%; bottom: 23%; }
.home-hero__label--lounge::after { top: 50%; left: -2.5rem; }
.home-hero__label--poker { right: 36%; bottom: 9%; }
.home-hero__label--poker::after { top: -1.75rem; left: 50%; height: 1.75rem; border-left: 1px solid var(--color-paper-white); }
.home-hero__label--people { top: 12%; right: 5%; }
.home-hero__label--people::after { top: 50%; left: -2.5rem; }

.home-hero__mobile-labels {
  display: none;
}

.home-openings__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
}

.home-openings__intro {
  min-width: 0;
  max-width: 24.375rem;
}

.home-openings__tickets {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--space-4);
  align-content: start;
}

.home-opening-ticket {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin: 0;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-opening-ticket :is(h3, p) {
  margin: 0;
}

.home-opening-ticket--restaurant { grid-column: 1 / span 6; transform: rotate(-1deg); }
.home-opening-ticket--bar { grid-column: 2 / span 7; transform: translateX(1.5rem) rotate(0.6deg); }
.home-opening-ticket--lounge { grid-column: 1 / span 8; transform: translateX(.5rem) rotate(-.35deg); }

.home-opening-ticket:hover,
.home-opening-ticket:focus-within {
  transform: translateX(6px) rotate(0deg);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 75%), 0 12px 28px rgb(30 41 38 / 15%);
}

.home-ticket-number {
  color: var(--color-cornflower-blue);
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-ticket-number--green { color: var(--color-moss-green); }
.home-ticket-number--orange { color: var(--color-tangerine); }
.home-ticket-number--rosewood { color: var(--color-rosewood); }

.home-food__heading {
  width: min(100%, 42.5rem);
  min-width: 0;
}

.home-food__feature {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  margin-top: var(--space-7);
}

.home-food__figure {
  grid-column: 1 / span 1;
  min-width: 0;
  margin: 0;
}

.home-food__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-food__copy {
  display: flex;
  grid-column: 2 / span 1;
  min-width: 0;
  max-width: 24.375rem;
  flex-direction: column;
  gap: var(--space-4);
}

.home-food__copy p {
  margin: 0;
}

.home-food__categories {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.1fr 1fr 1fr .9fr 1.1fr;
  gap: var(--space-4);
  margin-top: var(--space-7);
  border-top: var(--rule-perforated);
}

.home-food__category {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2) var(--space-3);
  padding-top: var(--space-4);
  color: var(--color-ink);
  text-decoration: none;
}

.home-food__category span {
  grid-row: span 2;
  color: var(--color-cornflower-blue);
  font-size: var(--font-size-label);
  font-weight: 600;
}

.home-food__category strong,
.home-food__category em {
  min-width: 0;
}

.home-food__category strong {
  font-size: var(--font-size-meta);
}

.home-food__category em {
  font-size: var(--font-size-fine);
  font-style: normal;
  line-height: 1.45;
}

.home-food__cta {
  margin-top: var(--space-6);
}

.home-bar__intro {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  text-align: center;
}

.home-bar__intro :is(h2, p) { margin: 0; }
.home-bar__rule { width: 4rem; border-top: 2px solid var(--color-rosewood); }

.home-bar__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  align-items: start;
  margin-top: var(--space-7);
}

.home-bar__figure {
  grid-column: 1 / span 1;
  min-width: 0;
  margin: 0;
}

.home-bar__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.home-bar__tickets {
  display: flex;
  grid-column: 3 / span 1;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.home-bar-ticket {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-bar-ticket :is(h3, p) { margin: 0; }

.home-spaces__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
}

.home-spaces__heading > div {
  grid-column: 1 / span 1;
  width: min(100%, 49.375rem);
  min-width: 0;
}

.home-spaces__marker {
  grid-column: 2 / span 1;
  grid-row: 1;
  margin: 0;
  color: var(--color-rosewood);
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  text-align: end;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  justify-self: end;
}

.home-spaces__rows {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin-top: var(--space-7);
  border-bottom: var(--border);
}

.home-space-row {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(2.625rem, 1fr) minmax(0, 3fr) minmax(20.625rem, 4fr) minmax(0, 2fr) minmax(0, 2fr);
  gap: var(--space-4);
  align-items: center;
  padding-block: var(--space-5);
  border-top: var(--border);
  color: var(--color-ink);
  text-decoration: none;
}

.home-space-row:nth-child(even) { transform: translateY(1rem); }
.home-space-row > * { min-width: 0; }
.home-space-row__number { color: var(--color-cornflower-blue); font-size: var(--font-size-card-heading); font-family: var(--font-heading); }
.home-space-row__title :is(h3, p),
.home-space-row__copy p { margin: 0; }
.home-space-row__copy { max-width: 26.25rem; }
.home-space-row__link { color: var(--color-cornflower-blue); font-size: var(--font-size-meta); font-weight: 600; justify-self: end; }
.home-space-row:hover .home-space-row__number,
.home-space-row:focus-visible .home-space-row__number { color: var(--color-tangerine); }

.home-lounge__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: start;
}

.home-lounge__ticket {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.home-lounge__ticket :is(h2, p, blockquote) { margin: 0; }
.home-lounge__copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 27.5rem; }
.home-lounge__ticket blockquote { max-width: 25rem; }
.home-lounge__figure { min-width: 0; margin: 0; }
.home-lounge__figure img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }



.home-events__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
  margin-top: var(--space-7);
}

.home-event-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-event-card :is(h3, p) { margin: 0; }
.home-event-card:first-child { transform: rotate(-.75deg); }
.home-event-card--lower { margin-top: 1.75rem; transform: rotate(.6deg); }
.home-event-card:last-child { transform: rotate(-.4deg); }

.home-pillars__statement {
  width: min(100%, 51.25rem);
  margin-inline: auto;
  font-size: var(--font-size-display);
  line-height: var(--line-height-display);
  text-align: center;
}

.home-pillars__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}

.home-pillar {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-4);
  border-top: var(--border);
}

.home-pillar :is(h3, p) { margin: 0; }
.home-pillar > span { color: var(--color-cornflower-blue); font-family: var(--font-heading); font-size: var(--font-size-card-heading); }
.home-pillar:nth-child(3) > span { color: var(--color-moss-green); }

.home-pathways__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
}

.home-pathways__intro { grid-column: 1 / span 1; width: min(100%, 25rem); min-width: 0; }
.home-pathways__tickets { display: flex; grid-column: 3 / span 1; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-pathway { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-pathway :is(h3, p) { margin: 0; }
.home-pathway__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.home-pathway__links a { min-height: 2.75rem; display: inline-flex; align-items: center; font-weight: 600; }

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

.home-enquiry__intro { grid-column: 1 / span 1; width: min(100%, 30rem); min-width: 0; }
.home-enquiry__form {
  display: flex;
  grid-column: 3 / span 1;
  min-width: 0;
  max-width: 37.5rem;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  margin: 0;
}

.home-enquiry__form-heading { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.home-enquiry__form-heading :is(h3, p) { margin: 0; }
.home-enquiry__two-fields { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-enquiry__two-fields > * { min-width: 0; }
.home-enquiry__privacy { margin: 0; }
.home-enquiry__success { margin: 0; padding: var(--space-4); border-left: 2px solid var(--color-moss-green); background: var(--color-mist-blue); }

@media (max-width: 1024px) {
  .home-openings__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-openings__intro { grid-column: 1 / -1; max-width: 31.25rem; }
  .home-openings__tickets { grid-column: 1 / -1; }
  .home-opening-ticket--restaurant { grid-column: 1 / span 4; transform: none; }
  .home-opening-ticket--bar { grid-column: 5 / span 4; transform: none; }
  .home-opening-ticket--lounge { grid-column: 1 / -1; transform: none; }
  .home-food__feature { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); }
  .home-food__copy { grid-column: 2 / span 1; }
  .home-food__categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-bar__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-bar__figure { grid-column: 1 / span 4; }
  .home-bar__tickets { grid-column: 5 / span 4; }
  .home-spaces__heading { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-spaces__heading > div { grid-column: 1 / span 7; }
  .home-spaces__marker { grid-column: 8 / span 1; }
  .home-space-row { grid-template-columns: minmax(2.625rem, 1fr) minmax(0, 2fr) minmax(18.75rem, 4fr) minmax(0, 1fr); }
  .home-space-row__link { grid-column: 4; }
  .home-lounge__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-lounge__ticket { grid-column: 1 / span 3; }
  .home-lounge__figure { grid-column: 4 / span 5; }
  .home-events__cards { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-event-card:nth-child(1) { grid-column: 1 / span 4; }
  .home-event-card:nth-child(2) { grid-column: 5 / span 4; }
  .home-event-card:nth-child(3) { grid-column: 1 / -1; }
  .home-pillars__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-pillar:nth-child(1), .home-pillar:nth-child(2) { grid-column: span 4; }
  .home-pillar:nth-child(3) { grid-column: 1 / -1; }
  .home-pathways__layout { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); }
  .home-pathways__intro { grid-column: 1; }
  .home-pathways__tickets { grid-column: 2; }
  .home-enquiry__layout { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); }
  .home-enquiry__intro { grid-column: 1; }
  .home-enquiry__form { grid-column: 2; }
}

@media (max-width: 900px) {
  .home-food__feature { grid-template-columns: 1fr; }
  .home-food__figure, .home-food__copy { grid-column: 1; }
  .home-food__copy { max-width: 31.25rem; }
  .home-bar__layout { grid-template-columns: 1fr; }
  .home-bar__figure, .home-bar__tickets { grid-column: 1; }
  .home-bar__figure { width: min(100%, 31.25rem); }
  .home-lounge__layout { grid-template-columns: 1fr; }
  .home-lounge__ticket, .home-lounge__figure { grid-column: 1; }
  .home-lounge__ticket { margin-top: 0; max-width: 37.5rem; }
  .home-pathways__layout, .home-enquiry__layout { grid-template-columns: 1fr; }
  .home-pathways__intro, .home-pathways__tickets, .home-enquiry__intro, .home-enquiry__form { grid-column: 1; }
  .home-pathways__intro { width: min(100%, 31.25rem); }
  .home-enquiry__form { width: 100%; }
}

@media (max-width: 820px) {
  .home-space-row { grid-template-columns: minmax(2.625rem, 1fr) minmax(0, 3fr) minmax(0, 4fr); }
  .home-space-row__link { grid-column: 2 / -1; justify-self: start; }
  .home-space-row:nth-child(even) { transform: none; }
  .home-events__cards, .home-pillars__grid { grid-template-columns: 1fr; }
  .home-event-card:nth-child(n), .home-pillar:nth-child(n) { grid-column: 1; margin-top: 0; transform: none; }
}

@media (max-width: 767px) {
  .home-hero { min-height: 0; background: var(--color-bone-white); }
  .home-hero__image-wrap { position: relative; height: min(48vw, 22rem); min-height: 18.75rem; }
  .home-hero__image-wrap::after { background: rgb(30 41 38 / 8%); }
  .home-hero__content { min-height: 0; padding-block: 0; }
  .home-hero__panel { width: 100%; gap: var(--space-4); padding: var(--space-5) 0; border: 0; background: transparent; box-shadow: none; }
  .home-hero__panel h1 { font-size: clamp(2.625rem, 12vw, 3.5rem); }
  .home-hero__deck { max-width: 100%; }
  .home-hero__actions { flex-direction: column; gap: var(--space-3); }
  .home-hero__actions .button { width: 100%; }
  .home-hero__labels { display: none; }
  .home-hero__mobile-labels { display: flex; min-width: 0; gap: var(--space-2); padding: var(--space-3) var(--container-gutter); overflow-x: auto; border-top: var(--border); border-bottom: var(--border); background: var(--color-paper-white); scroll-snap-type: x mandatory; }
  .home-hero__mobile-labels a { display: inline-flex; min-width: max-content; min-height: 2.75rem; align-items: center; padding-inline: var(--space-3); border: var(--border); color: var(--color-ink); font-size: var(--font-size-label); font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; scroll-snap-align: start; }

  .home-openings__grid, .home-openings__tickets { grid-template-columns: 1fr; }
  .home-openings__intro, .home-opening-ticket:nth-child(n) { grid-column: 1; max-width: none; transform: none; }
  .home-opening-ticket { gap: var(--space-4); }
  .home-opening-ticket .action-link { min-height: 2.75rem; align-items: center; }

  .home-food__heading { width: 100%; }
  .home-food__feature { margin-top: var(--space-5); gap: var(--space-5); }
  .home-food__figure { width: calc(100% + (var(--container-gutter) * 2)); margin-inline: calc(var(--container-gutter) * -1); }
  .home-food__figure figcaption { width: calc(100% - (var(--container-gutter) * 2)); margin-inline: var(--container-gutter); }
  .home-food__categories { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); }
  .home-food__category { grid-template-columns: 2rem minmax(0, 1fr) auto; padding-block: var(--space-4); border-bottom: var(--rule-perforated); }
  .home-food__category span { grid-row: 1 / span 2; }
  .home-food__category em { grid-column: 2 / span 1; }
  .home-food__category::after { grid-column: 3; grid-row: 1; content: "→"; color: var(--color-cornflower-blue); }
  .home-food__cta { width: 100%; }

  .home-bar__intro { width: 100%; align-items: flex-start; margin: 0; text-align: start; }
  .home-bar__figure { width: 100%; }
  .home-bar__tickets { gap: var(--space-3); }
  .home-bar-ticket .action-link { min-height: 2.75rem; align-items: center; }

  .home-spaces__heading { grid-template-columns: 1fr; }
  .home-spaces__heading > div, .home-spaces__marker { grid-column: 1; }
  .home-spaces__marker { grid-row: auto; order: -1; writing-mode: horizontal-tb; justify-self: start; text-align: start; }
  .home-spaces__rows { margin-top: var(--space-6); }
  .home-space-row { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-5); }
  .home-space-row__number { grid-column: 1; grid-row: 1; }
  .home-space-row__title { grid-column: 2; grid-row: 1; }
  .home-space-row__copy, .home-space-row__link { grid-column: 2; }
  .home-space-row__link { min-height: 2.75rem; display: inline-flex; align-items: center; }

  .home-lounge__ticket { gap: var(--space-4); padding: var(--space-5); }
  .home-lounge__figure { width: calc(100% + (var(--container-gutter) * 2)); margin-inline: calc(var(--container-gutter) * -1); }
  .home-lounge__figure figcaption { width: calc(100% - (var(--container-gutter) * 2)); margin-inline: var(--container-gutter); }
  .home-lounge__ticket .action-link { width: 100%; min-height: 2.75rem; align-items: center; }

  .home-events__intro { width: 100%; }
  .home-event-card { transform: none !important; }
  .home-event-card .button { width: 100%; min-height: 3rem; }

  .home-pillars__statement { width: 100%; margin-inline: 0; font-size: clamp(2.625rem, 12vw, 3.25rem); text-align: start; }
  .home-pillars__grid { margin-top: var(--space-6); }
  .home-pillar .action-link { min-height: 2.75rem; align-items: center; }

  .home-pathways__intro { width: 100%; }
  .home-pathway__links { flex-direction: column; gap: 0; }
  .home-pathway__links a { border-bottom: var(--rule-perforated); }
  .home-pathway .button { width: 100%; }

  .home-enquiry__intro { width: 100%; }
  .home-enquiry__form { padding: var(--space-5); }
  .home-enquiry__two-fields { grid-template-columns: 1fr; }
  .home-enquiry__form input, .home-enquiry__form select { min-height: 3rem; }
  .home-enquiry__form textarea { min-height: 7.5rem; }
  .home-enquiry__form .button { width: 100%; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-opening-ticket,
  .home-event-card,
  .home-space-row {
    transform: none !important;
  }
}
