.home-page {
  overflow: hidden;
}

.home-page .home-hero {
  position: relative;
  display: grid;
  min-height: 45rem;
  isolation: isolate;
  background: var(--colour-ink);
}

.home-hero__media,
.home-hero__media::after {
  position: absolute;
  inset: 0;
}

.home-hero__media {
  z-index: -2;
  width: 100%;
  min-width: 0;
}

.home-hero__media::after {
  z-index: 1;
  content: "";
  background: linear-gradient(90deg, rgb(23 21 20 / 94%) 0%, rgb(23 21 20 / 78%) 34%, rgb(23 21 20 / 23%) 67%, rgb(23 21 20 / 12%) 100%);
}

.home-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}

.home-hero__copy {
  display: flex;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  flex-direction: column;
  align-self: center;
  justify-self: center;
  gap: var(--space-5);
  padding-block: var(--space-10);
}

.home-hero__copy > * { margin: 0; }
.home-hero__copy h1 { max-width: 38rem; }
.home-hero__copy .lead { max-width: 34rem; }

.home-hero__actions,
.home-closing__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.home-hero__cues {
  display: flex;
  max-width: 38rem;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) 0;
  margin-top: var(--space-2);
  color: var(--colour-linen);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-hero__cues span { min-width: 0; padding-inline: var(--space-3); }
.home-hero__cues span:first-child { padding-inline-start: 0; }
.home-hero__cues span + span { border-inline-start: var(--border-gold); }

.home-about__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-8);
}

.home-about__story { grid-column: 1 / span 7; min-width: 0; }
.home-about__story .lead { max-width: 54rem; }
.home-about__detail { grid-column: 9 / span 4; min-width: 0; border-inline-start: var(--border-gold); opacity: .7; }
.home-about__proofs { display: grid; grid-column: 1 / -1; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-proof { min-width: 0; padding-top: var(--space-5); border-top: var(--border-copper); }
.home-proof > :last-child { margin-bottom: 0; }
.home-proof h3 { max-width: 18rem; }
.home-proof p { max-width: 18rem; }
.home-proof__number { display: block; margin-bottom: var(--space-3); color: var(--colour-copper); font-size: var(--text-sm); font-variant-numeric: tabular-nums; letter-spacing: .12em; }

.home-restaurant__grid,
.home-lounge__grid,
.home-faq__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.home-restaurant__media { grid-column: 1 / span 6; width: 100%; min-width: 0; height: 38.75rem; margin: 0; }
.home-restaurant__copy { grid-column: 8 / span 4; min-width: 0; padding-top: var(--space-7); }
.home-restaurant__copy > .lead { max-width: 34rem; }
.home-restaurant__details { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.home-restaurant__details > * { min-width: 0; }
.home-restaurant__details h3,
.home-restaurant__details p { max-width: 32rem; }
.home-restaurant__details > div > :last-child { margin-bottom: 0; }

.home-lounge__copy { grid-column: 1 / span 5; min-width: 0; }
.home-lounge__copy > .lead { max-width: 36rem; }
.home-lounge__media { grid-column: 7 / span 6; width: 100%; min-width: 0; height: 25rem; margin: var(--space-9) 0 0; }
.home-lounge__reassurance { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.home-lounge__reassurance > * { min-width: 0; padding-top: var(--space-4); border-top: var(--border-copper); }
.home-lounge__reassurance h3,
.home-lounge__reassurance p { max-width: 29rem; }
.home-lounge__reassurance > div > :last-child { margin-bottom: 0; }

.home-gatherings__intro { width: 41.666%; min-width: 0; }
.home-gatherings__intro .lead { max-width: 40rem; }
.home-gatherings__panels { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-gathering-panel { min-width: 0; min-height: 100%; padding: var(--space-5); border-left: var(--border-copper); background: var(--colour-graphite); }
.home-gathering-panel > :last-child { margin-bottom: 0; }
.home-gathering-panel h3,
.home-gathering-panel p { max-width: 26rem; }
.home-gathering-panel--marker { position: relative; padding-top: calc(var(--space-5) + 4.5rem); }
.home-gathering-panel__marker { position: absolute; top: var(--space-5); left: var(--space-5); display: grid; width: 3.5rem; height: 3.5rem; place-content: center; border: var(--border-gold); color: var(--colour-gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-align: center; text-transform: uppercase; }
.home-gatherings__action { margin-top: var(--space-6); }

.home-benefits__intro { width: 50%; min-width: 0; }
.home-benefits__intro .lead { max-width: 38rem; }
.home-benefits__grid { display: grid; min-width: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-benefits__grid article { min-width: 0; padding-top: var(--space-4); border-top: var(--border-gold); }
.home-benefits__grid article > :last-child { margin-bottom: 0; }
.home-benefits__grid span { display: block; margin-bottom: var(--space-3); color: var(--colour-copper); font-size: var(--text-xs); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .12em; }
.home-benefits__grid h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
.home-benefits__grid p { max-width: 20rem; font-size: var(--text-sm); }
.home-benefits__wide { grid-column: span 2; }

.home-gallery__intro { width: 41.666%; min-width: 0; }
.home-gallery__intro .lead { max-width: 34rem; }
.home-gallery__mosaic { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-gallery__figure { min-width: 0; margin: 0; overflow: visible; }
.home-gallery__figure--dining { grid-column: 1 / span 7; height: 25rem; }
.home-gallery__figure--lounge { grid-column: 9 / span 4; height: 31rem; margin-top: var(--space-9); }
.home-gallery__figure--detail { grid-column: 4 / span 5; height: 19rem; }
.home-gallery__figure figcaption { min-width: 0; }
.home-gallery__figure figcaption span { display: block; margin-bottom: var(--space-1); color: var(--colour-gold); font-size: var(--text-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.home-gallery__action { margin-top: var(--space-7); }

.home-faq__intro { grid-column: 1 / span 5; min-width: 0; }
.home-faq__intro .lead { max-width: 36rem; }
.home-faq__answers { display: flex; grid-column: 7 / span 5; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-faq__answers > * { min-width: 0; }
.home-faq__answer { padding: var(--space-5); border: var(--border-subtle); background: var(--colour-espresso); }
.home-faq__answer h3 { position: relative; padding-left: var(--space-5); }
.home-faq__answer h3::before { position: absolute; top: .55em; left: 0; width: .75rem; height: 1px; content: ""; background: var(--colour-gold); }
.home-faq__answer p { max-width: 40rem; }
.home-faq__answer > :last-child { margin-bottom: 0; }
.home-faq__action { align-self: flex-start; }

.home-find__title { margin-bottom: var(--space-7); }
.home-find__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: var(--space-7); }
.home-find__grid::before { grid-column: 2; grid-row: 1; width: 1px; min-width: 1px; content: ""; background: var(--colour-copper); }
.home-find__block { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-find__block:first-of-type { grid-column: 1; }
.home-find__block:last-of-type { grid-column: 3; }
.home-find__block > * { min-width: 0; margin: 0; }
.home-find__block > p { max-width: 28rem; }
.home-find__block address { max-width: 28rem; color: var(--colour-ivory); font-size: var(--text-lead); }
.home-find__directions,
.home-find__contact { display: inline-flex; min-height: 2.75rem; align-items: center; }
.home-find__contact { width: 100%; color: var(--colour-ivory); font-variant-numeric: tabular-nums; }

.home-closing__copy { display: flex; width: min(100%, 32rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; text-align: center; }
.home-closing__copy > * { margin: 0; }
.home-closing__copy .lead { max-width: 32rem; }
.home-closing__copy .rule { margin-block: var(--space-2); }

@media (max-width: 63.1875rem) {
  .home-hero { min-height: 40rem; }
  .home-hero__media::after { background: linear-gradient(180deg, rgb(23 21 20 / 18%) 0%, rgb(23 21 20 / 54%) 48%, rgb(23 21 20 / 94%) 100%); }
  .home-hero__copy { align-self: end; padding-block: var(--space-7); }
  .home-about__story { grid-column: 1 / span 8; }
  .home-about__detail { display: none; }
  .home-gatherings__intro { width: 58.333%; }
  .home-gallery__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-gallery__figure--dining { grid-column: 1; height: 22rem; }
  .home-gallery__figure--lounge { grid-column: 2; height: 27rem; margin-top: var(--space-7); }
  .home-gallery__figure--detail { grid-column: 1; height: 18rem; }
}

@media (max-width: 59.9375rem) {
  .home-lounge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-lounge__copy { grid-column: 1; }
  .home-lounge__media { grid-column: 2; height: 22rem; margin-top: var(--space-7); }
  .home-faq__grid { grid-template-columns: 1fr; gap: var(--space-7); }
  .home-faq__intro,
  .home-faq__answers { grid-column: 1; width: min(100%, 42rem); }
}

@media (max-width: 57.4375rem) {
  .home-restaurant__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-restaurant__media { grid-column: 1; height: 30rem; }
  .home-restaurant__copy { grid-column: 2; padding-top: 0; }
}

@media (max-width: 51.1875rem) {
  .home-gatherings__intro,
  .home-benefits__intro,
  .home-gallery__intro { width: 100%; }
  .home-gatherings__panels { grid-template-columns: 1fr; }
  .home-gatherings__action { width: 100%; }
  .home-find__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-find__grid::before { grid-column: 1; grid-row: 2; width: 100%; min-width: 0; height: 1px; background: var(--colour-copper); }
  .home-find__block:first-of-type,
  .home-find__block:last-of-type { grid-column: 1; }
  .home-find__block:first-of-type { grid-row: 1; }
  .home-find__block:last-of-type { grid-row: 3; }
}

@media (max-width: 47.9375rem) {
  .home-about__grid,
  .home-restaurant__grid,
  .home-lounge__grid { grid-template-columns: 1fr; }
  .home-about__story,
  .home-about__proofs,
  .home-restaurant__media,
  .home-restaurant__copy,
  .home-lounge__copy,
  .home-lounge__media { grid-column: 1; }
  .home-about__grid { row-gap: var(--space-6); }
  .home-about__proofs { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-proof h3,
  .home-proof p { max-width: none; }
  .home-restaurant__media { height: auto; aspect-ratio: 4 / 5; }
  .home-restaurant__copy { padding: var(--space-5); background: var(--colour-espresso); }
  .home-lounge__media { height: auto; aspect-ratio: 3 / 2; margin: 0; }
  .home-lounge__reassurance h3,
  .home-lounge__reassurance p { max-width: none; }
  .home-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  .home-benefits__wide { grid-column: span 2; }
  .home-gallery__mosaic { grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); }
  .home-gallery__figure--dining,
  .home-gallery__figure--lounge,
  .home-gallery__figure--detail { grid-column: 1; width: 100%; height: auto; margin-top: 0; }
  .home-gallery__figure--dining,
  .home-gallery__figure--detail { aspect-ratio: 3 / 2; }
  .home-gallery__figure--lounge { aspect-ratio: 4 / 5; }
  .home-gallery__action,
  .home-faq__action { width: 100%; }
}

@media (max-width: 39.9375rem) {
  .home-hero__actions,
  .home-closing__actions { flex-direction: column; width: 100%; }
  .home-hero__actions .button,
  .home-closing__actions .button { width: 100%; }
}

@media (max-width: 33.6875rem) {
  .home-benefits__grid { grid-template-columns: 1fr; }
  .home-benefits__wide { grid-column: 1; }
}

@media (max-width: 26.1875rem) {
  .home-hero { min-height: auto; }
  .home-hero__media { position: relative; height: 16rem; }
  .home-hero__media::after { background: linear-gradient(180deg, transparent 42%, var(--colour-ink) 100%); }
  .home-hero__copy { width: min(100% - (var(--gutter) * 2), var(--container-max)); align-self: auto; padding-block: var(--space-6) var(--space-7); }
  .home-hero__copy h1 { font-size: 2.5rem; }
  .home-hero__cues span { padding-inline: var(--space-2); }
  .home-page .section { padding-block: var(--space-7); }
}
