.home-page {
  overflow: clip;
}

.home-page ul {
  list-style: none !important;
}

.home-page .home-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ivory-050);
  font-size: var(--text-small);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgb(229 163 79 / 72%);
  text-underline-offset: 0.28em;
  transition: color var(--transition-base), text-decoration-color var(--transition-base);
}

.home-page .home-text-link:hover {
  color: var(--color-amber-300);
  text-decoration-color: var(--color-amber-300);
}

.home-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 45rem;
  isolation: isolate;
  overflow: hidden;
  background: var(--color-onyx-950);
}

.home-hero__image,
.home-hero__veil,
.home-hero__glow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-hero__image {
  z-index: -3;
  object-fit: cover;
  object-position: 70% center;
}

.home-hero__veil {
  z-index: -2;
  background: linear-gradient(90deg, rgb(13 15 14 / 96%) 0%, rgb(13 15 14 / 83%) 34%, rgb(13 15 14 / 40%) 64%, rgb(13 15 14 / 22%) 100%);
}

.home-hero__glow {
  z-index: -1;
  inset: auto 8% 18% auto;
  width: min(35vw, 30rem);
  height: min(35vw, 30rem);
  border-radius: 50%;
  background: rgb(229 163 79 / 10%);
  filter: blur(4rem);
}

.home-hero__container {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  padding-block: 7rem 5rem;
}

.home-hero__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  grid-column: 1;
  width: 100%;
  max-width: 33.75rem;
}

.home-hero__content .eyebrow,
.home-hero__content h1,
.home-hero__content p {
  margin: 0;
}

.home-hero__content h1 {
  max-width: 12ch;
  font-size: clamp(3.3rem, 5vw, 4rem);
  line-height: 1.0625;
}

.home-hero__content > p:not(.home-hero__meta) {
  max-width: 54ch;
}

.home-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

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

.home-hero__meta {
  max-width: 32ch;
  border-left: 1px solid var(--color-bronze-500);
  color: var(--color-mist-300);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  padding-left: var(--space-3);
}

.home-layers__intro {
  max-width: 54ch;
}

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

.home-layer-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--color-onyx-900);
  color: inherit;
  padding: var(--space-6);
  transition: background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.home-layer-card:nth-child(2) {
  margin-top: var(--space-5);
}

.home-layer-card > * {
  min-width: 0;
  margin: 0;
}

.home-layer-card p {
  max-width: 34ch;
}

.home-layer-card h3 {
  font-size: 1.75rem;
  line-height: 1.2;
}

.home-layer-card__number {
  color: var(--color-bronze-500);
  font-size: var(--text-small);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.home-layer-card__link {
  margin-top: auto;
  color: var(--color-amber-400);
  font-size: var(--text-small);
  font-weight: 800;
}

.home-layer-card--drinks {
  border-color: var(--color-border);
  background: var(--color-slate-800);
  box-shadow: var(--shadow-panel);
}

.home-layer-card--lounge {
  position: relative;
  border-color: rgb(183 131 75 / 48%);
  background: linear-gradient(145deg, rgb(29 74 59 / 86%), var(--color-onyx-900) 85%);
}

.home-layer-card__label,
.home-lounge__label {
  color: var(--color-ivory-050);
  font-size: var(--text-meta);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-layer-card:hover {
  border-color: var(--color-bronze-500);
  background-color: var(--color-slate-700);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
}

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

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

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

.home-season__copy > p {
  max-width: 47ch;
}

.home-season__lead {
  color: var(--color-ivory-050);
  font-size: 1.125rem;
  line-height: 1.55;
}

.home-season__visual {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.home-season__figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: var(--border-bronze);
  border-radius: var(--radius-image);
  aspect-ratio: 4 / 5;
}

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

.home-season__aside {
  display: flex;
  min-width: 0;
  width: min(100%, 31rem);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border-top: var(--border-subtle);
  padding-top: var(--space-5);
}

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

.home-season__aside p {
  max-width: 28ch;
}

.home-drinks__container {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-8);
  border: var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--color-slate-800);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
}

.home-drinks__figure {
  width: min(100%, 40rem);
  max-height: 22.5rem;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--radius-image);
  aspect-ratio: 16 / 9;
}

.home-drinks__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-drinks__heading {
  width: min(100%, 48ch);
  margin-inline: auto;
  text-align: center;
}

.home-drinks__heading p {
  margin-bottom: 0;
}

.home-drinks__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.home-drinks__item {
  min-width: 0;
  border-left: 1px solid var(--color-border);
  padding-left: var(--space-5);
}

.home-drinks__item > :last-child {
  margin-bottom: 0;
}

.home-drinks__item h3,
.home-occasion h3,
.home-lounge__detail h3 {
  font-size: 1.75rem;
  line-height: 1.2;
}

.home-drinks__item p {
  max-width: 32ch;
}

.home-lounge__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  overflow: hidden;
  border: var(--border-bronze);
  border-radius: var(--radius-card);
  background: linear-gradient(145deg, rgb(29 74 59 / 82%), var(--color-onyx-900) 70%);
  box-shadow: var(--shadow-panel);
}

.home-lounge__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
}

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

.home-lounge__content h2 {
  max-width: 13ch;
}

.home-lounge__lead {
  max-width: 44ch;
  color: var(--color-ivory-050);
  font-size: 1.125rem;
  line-height: 1.55;
}

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

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

.home-lounge__detail p {
  max-width: 36ch;
}

.home-lounge__figure,
.home-lounge__mobile-media {
  margin: 0;
  overflow: hidden;
}

.home-lounge__figure {
  min-width: 0;
  min-height: 100%;
}

.home-lounge__figure img,
.home-lounge__mobile-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-lounge__mobile-media {
  display: none;
  width: 100%;
  border-radius: var(--radius-image);
  aspect-ratio: 3 / 2;
}

.home-gallery__intro {
  max-width: 48ch;
}

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

.home-gallery__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-image);
  background: var(--color-slate-800);
  transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.home-gallery__card--large {
  grid-column: 1 / span 7;
  grid-row: 1 / span 2;
}

.home-gallery__card--detail-one {
  grid-column: 8 / span 5;
  grid-row: 1;
}

.home-gallery__card--detail-two {
  grid-column: 8 / span 5;
  grid-row: 2;
}

.home-gallery__media {
  display: block;
  min-width: 0;
  overflow: hidden;
  flex: 1 1 auto;
}

.home-gallery__media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.home-gallery__caption {
  display: block;
  min-width: 0;
  color: var(--color-ivory-050);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  padding: var(--space-3) var(--space-4);
}

.home-gallery__card:hover {
  border-color: var(--color-bronze-500);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
}

.home-gallery__card:hover img {
  transform: scale(1.02);
}

.home-gallery__closing {
  display: flex;
  min-width: 0;
  max-width: 48ch;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.home-gallery__closing > * {
  margin: 0;
}

.home-occasions__heading {
  max-width: 42ch;
}

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

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

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

.home-occasion p {
  max-width: 33ch;
}

.home-occasion__number {
  color: var(--color-bronze-500);
  font-size: var(--text-small);
  font-weight: 800;
}

.home-occasion--raised {
  border: var(--border-subtle);
  background: var(--color-onyx-900);
  padding: var(--space-6);
}

.home-occasion--lounge {
  border-top: 2px solid var(--color-felt-700);
}

.home-faq__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  align-items: start;
  gap: clamp(var(--space-7), 6vw, var(--space-10));
}

.home-faq__intro {
  max-width: 48ch;
}

.home-faq__panel {
  min-width: 0;
  border: var(--border-bronze);
  border-radius: var(--radius-card);
  background: var(--color-slate-800);
  padding: var(--space-3) var(--space-5);
}

.home-faq__item {
  min-width: 0;
  border-bottom: var(--border-subtle);
}

.home-faq__item:last-child {
  border-bottom: 0;
}

.home-faq__item h3 {
  margin: 0;
}

.home-faq__trigger {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: center;
  gap: var(--space-4);
  border: 0;
  background: transparent;
  color: var(--color-ivory-050);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  padding: var(--space-4) 0;
  text-align: left;
}

.home-faq__trigger > span:first-child {
  min-width: 0;
}

.home-faq__symbol {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  color: var(--color-amber-400);
  font-family: var(--font-body);
  font-size: 1.5rem;
}

.home-faq__answer {
  max-width: 58ch;
  overflow: hidden;
  padding-bottom: var(--space-5);
}

.home-faq__answer p {
  margin: 0;
}

.home-booking__panel {
  position: relative;
  min-height: 22.5rem;
  overflow: hidden;
  border: var(--border-bronze);
  border-radius: var(--radius-card);
  background: var(--color-slate-800);
  box-shadow: var(--shadow-panel), var(--shadow-ember);
  padding: clamp(var(--space-6), 6vw, var(--space-10));
}

.home-booking__glow {
  position: absolute;
  top: -9rem;
  right: 7%;
  width: 26rem;
  height: 26rem;
  border-radius: 50%;
  background: rgb(229 163 79 / 9%);
  filter: blur(4rem);
}

.home-booking__content {
  position: relative;
  display: flex;
  min-width: 0;
  width: min(58.333%, 52ch);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

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

.home-booking__content h2 {
  max-width: 15ch;
}

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

.home-booking__actions > * {
  margin: 0;
}

.home-booking__actions p {
  color: var(--color-mist-300);
  font-size: var(--text-small);
}

.home-booking__actions a:not(.button) {
  color: var(--color-ivory-050);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--color-amber-400);
  text-underline-offset: 0.22em;
}

.home-closing {
  border-top: var(--border-subtle);
}

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

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

.home-closing__content h2 {
  max-width: 38ch;
  font-size: clamp(2rem, 3vw, 2.5rem);
}

.home-closing__content p {
  color: var(--color-mist-300);
  font-size: var(--text-small);
}

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

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

@media (max-width: 62rem) {
  .home-hero {
    min-height: 42rem;
  }

  .home-hero__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-layers__grid,
  .home-drinks__grid,
  .home-occasions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-layer-card:nth-child(2) {
    margin-top: 0;
  }

  .home-layer-card--lounge,
  .home-drinks__item:nth-child(3),
  .home-occasion:nth-child(3) {
    grid-column: 1 / -1;
  }

  .home-season__grid,
  .home-lounge__panel,
  .home-faq__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-season__visual {
    order: 2;
  }

  .home-season__figure {
    aspect-ratio: 3 / 2;
  }

  .home-season__aside {
    width: 100%;
  }

  .home-season__aside p {
    max-width: 48ch;
  }

  .home-lounge__figure {
    display: none;
  }

  .home-lounge__mobile-media {
    display: block;
  }

  .home-faq__panel {
    padding-inline: var(--space-5);
  }
}

@media (max-width: 56.25rem) {
  .home-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
  }

  .home-gallery__card--large {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .home-gallery__card--detail-one {
    grid-column: 1;
    grid-row: 2;
  }

  .home-gallery__card--detail-two {
    grid-column: 2;
    grid-row: 2;
  }

  .home-gallery__card--large .home-gallery__media {
    aspect-ratio: 3 / 2;
  }

  .home-gallery__card--detail-one .home-gallery__media,
  .home-gallery__card--detail-two .home-gallery__media {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 47.9375rem) {
  .home-hero {
    min-height: clamp(38.75rem, 170vw, 42.5rem);
  }

  .home-hero__image {
    object-position: 66% center;
  }

  .home-hero__veil {
    background: linear-gradient(180deg, rgb(13 15 14 / 84%) 0%, rgb(13 15 14 / 68%) 48%, rgb(13 15 14 / 82%) 100%);
  }

  .home-hero__glow {
    width: 12rem;
    height: 12rem;
    opacity: 0.55;
  }

  .home-hero__container {
    align-items: start;
    padding-top: 10rem;
    padding-bottom: var(--space-8);
  }

  .home-hero__content {
    gap: var(--space-4);
  }

  .home-hero__content h1 {
    max-width: 10ch;
    font-size: 2.75rem;
    line-height: 1.09;
  }

  .home-hero__content > p:not(.home-hero__meta) {
    max-width: 31ch;
  }

  .home-layers__grid,
  .home-drinks__grid,
  .home-occasions__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-layer-card--lounge,
  .home-drinks__item:nth-child(3),
  .home-occasion:nth-child(3) {
    grid-column: auto;
  }

  .home-layer-card {
    padding: var(--space-5);
  }

  .home-layer-card p {
    max-width: none;
  }

  .home-drinks__container {
    gap: var(--space-6);
    padding: var(--space-5);
  }

  .home-drinks__figure {
    aspect-ratio: 16 / 7;
  }

  .home-drinks__heading {
    width: min(100%, 35ch);
  }

  .home-drinks__item {
    border-top: var(--border-subtle);
    border-left: 0;
    padding-top: var(--space-5);
    padding-left: 0;
  }

  .home-drinks__item p {
    max-width: none;
  }

  .home-lounge__content {
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .home-lounge__content h2,
  .home-booking__content h2 {
    max-width: none;
  }

  .home-lounge__lead,
  .home-lounge__detail p {
    max-width: 36ch;
  }

  .home-gallery__grid {
    gap: var(--space-3);
    margin-top: var(--space-6);
  }

  .home-gallery__caption {
    padding: var(--space-3);
  }

  .home-occasion {
    gap: var(--space-3);
  }

  .home-occasion--raised {
    padding: var(--space-5);
  }

  .home-faq__grid {
    gap: var(--space-6);
  }

  .home-faq__panel {
    padding-inline: var(--space-4);
  }

  .home-faq__trigger {
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    font-size: 1.25rem;
  }

  .home-booking__panel {
    min-height: 0;
    padding: var(--space-6) var(--space-5);
  }

  .home-booking__content {
    width: 100%;
    max-width: 34ch;
  }

  .home-booking__glow {
    width: 15rem;
    height: 15rem;
    opacity: 0.5;
  }

  .home-closing__content {
    width: 100%;
  }
}

@media (max-width: 32.5rem) {
  .home-hero__actions,
  .home-closing__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .button,
  .home-closing__actions .button {
    width: 100%;
  }

  .home-hero__actions .home-text-link {
    justify-content: center;
  }
}

@media (max-width: 24rem) {
  .home-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-gallery__card--detail-one,
  .home-gallery__card--detail-two {
    grid-column: 1;
  }

  .home-gallery__card--detail-one {
    grid-row: 2;
  }

  .home-gallery__card--detail-two {
    grid-row: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-layer-card:hover,
  .home-gallery__card:hover {
    transform: none;
  }
}
