.home-page {
  overflow: hidden;
}

.home-page .home-hero {
  padding-block-start: clamp(3rem, 7vw, 6rem);
}

.home-page .home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-5);
}

.home-page .home-hero__copy,
.home-page .home-hero__media,
.home-page .home-culinary__media,
.home-page .home-culinary__panel,
.home-page .home-tournaments__copy,
.home-page .home-tournaments__media,
.home-page .home-visit__facts,
.home-page .home-visit__booking {
  min-width: 0;
  width: 100%;
}

.home-page .home-hero__copy {
  max-width: 46ch;
}

.home-page .home-hero__deck {
  max-width: 46ch;
}

.home-page .home-hero__boundary {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block: var(--space-5);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-gold);
  background: rgba(17, 26, 42, 0.72);
  color: var(--color-white);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.home-page .home-hero__boundary span {
  color: var(--color-metallic-gold);
  font-size: var(--text-xl);
  line-height: 1;
}

.home-page .home-hero__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.home-page .home-hero__actions > * {
  min-width: 0;
  width: auto;
}

.home-page .home-hero__note {
  margin-block-start: var(--space-5);
  color: var(--color-silver-mist);
  font-size: var(--text-sm);
}

.home-page .home-hero__media {
  height: clamp(28rem, 52vw, 42rem);
}

.home-page .home-hero__media img {
  object-position: 76% center;
}

.home-page .home-dual__intro {
  max-width: 58ch;
}

.home-page .home-dual__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-page .home-dual__card,
.home-page .home-room__card,
.home-page .home-paths__card,
.home-page .home-visit__fact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.home-page .home-dual__card > *,
.home-page .home-room__card > *,
.home-page .home-paths__card > *,
.home-page .home-visit__fact > * {
  margin: 0;
}

.home-page .home-dual__card p,
.home-page .home-room__card p,
.home-page .home-paths__card p {
  max-width: 34ch;
}

.home-page .home-dual__card .button-secondary,
.home-page .home-paths__card .button-secondary {
  margin-block-start: auto;
}

.home-page .home-card__icon {
  color: var(--color-metallic-gold);
  font-size: 1.5rem;
  line-height: 1;
}

.home-page .home-dual__statement {
  max-width: 66ch;
  margin-block: var(--space-7) 0;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, var(--text-3xl));
  font-weight: 600;
  line-height: 1.08;
}

.home-page .home-culinary__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
  gap: var(--space-5);
}

.home-page .home-culinary__media {
  height: clamp(27rem, 48vw, 37rem);
}

.home-page .home-culinary__media img {
  object-position: 35% center;
}

.home-page .home-culinary__panel {
  position: relative;
  z-index: 1;
  margin-block-start: var(--space-7);
  margin-inline-start: calc(var(--space-5) * -2);
  padding: var(--space-6);
}

.home-page .home-culinary__panel > h2,
.home-page .home-culinary__panel > .eyebrow,
.home-page .home-culinary__panel > .button {
  margin-block-end: 0;
}

.home-page .home-culinary__blocks {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin-block: var(--space-5);
}

.home-page .home-culinary__blocks > article {
  min-width: 0;
  max-width: 54ch;
}

.home-page .home-culinary__blocks > article + article {
  padding-block-start: var(--space-5);
  border-top: 1px solid var(--border-gold);
}

.home-page .home-culinary__blocks h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-2xl);
}

.home-page .home-culinary__blocks h3 span {
  color: var(--color-metallic-gold);
}

.home-page .home-room__lead {
  max-width: 56ch;
}

.home-page .home-room__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-page .home-room__felt {
  width: 2.5rem;
  height: 0.45rem;
  border: 1px solid var(--color-metallic-gold);
  background: var(--color-felt-emerald);
}

.home-page .home-room__link {
  margin-block-start: var(--space-6);
}

.home-page .home-tournaments__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
  gap: var(--space-5);
}

.home-page .home-tournaments__copy {
  max-width: 50ch;
}

.home-page .home-tournaments__media {
  height: clamp(34rem, 52vw, 47rem);
}

.home-page .home-tournaments__media img {
  object-position: center bottom;
}

.home-page .home-tournaments__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-6) 0;
  padding: 0;
}

.home-page .home-tournaments__steps li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: 1px solid var(--border-gold);
}

.home-page .home-tournaments__steps li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  border: 1px solid var(--color-metallic-gold);
  background: var(--color-felt-emerald);
  color: var(--color-white);
  font-size: var(--text-xs);
  font-weight: 600;
}

.home-page .home-tournaments__steps li > div {
  min-width: 0;
  max-width: 38ch;
}

.home-page .home-tournaments__steps h3 {
  margin-block-end: var(--space-2);
  font-size: var(--text-2xl);
}

.home-page .home-paths__heading {
  max-width: 42ch;
  margin-inline: auto;
  text-align: center;
}

.home-page .home-paths__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.home-page .home-paths__card p {
  max-width: 32ch;
}

.home-page .home-tactile__band {
  position: relative;
  background: var(--color-charcoal-panel);
}

.home-page .home-tactile__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  padding-block: var(--space-8);
}

.home-page .home-tactile__media {
  grid-column: 1 / -1;
  grid-row: 1 / span 2;
  width: 100%;
  height: clamp(35rem, 52vw, 46rem);
}

.home-page .home-tactile__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 13, 24, 0.84), rgba(8, 13, 24, 0.18) 70%);
  content: "";
  pointer-events: none;
}

.home-page .home-tactile__media img {
  object-position: 68% center;
}

.home-page .home-tactile__copy {
  z-index: 1;
  grid-column: 1 / span 5;
  grid-row: 1;
  align-self: center;
  min-width: 0;
  max-width: 40ch;
}

.home-page .home-tactile__callouts {
  z-index: 1;
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.home-page .home-tactile__callouts > article {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--border-gold);
  background: rgba(17, 26, 42, 0.94);
}

.home-page .home-tactile__callouts h3 {
  max-width: 26ch;
  margin-block-end: var(--space-3);
  font-size: var(--text-2xl);
}

.home-page .home-tactile__callouts p {
  max-width: 26ch;
  margin: 0;
}

.home-page .home-gallery__intro {
  max-width: 52ch;
}

.home-page .home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
  margin-block-start: var(--space-7);
}

.home-page .home-gallery__item {
  min-width: 0;
  margin: 0;
}

.home-page .home-gallery__item--dinner {
  grid-column: span 4;
}

.home-page .home-gallery__item--room {
  grid-column: span 5;
}

.home-page .home-gallery__item--detail {
  grid-column: span 3;
}

.home-page .home-gallery__item .image-frame {
  width: 100%;
}

.home-page .home-gallery__item--dinner .image-frame {
  height: 29rem;
}

.home-page .home-gallery__item--room .image-frame {
  height: 20rem;
}

.home-page .home-gallery__item--detail .image-frame {
  height: 24rem;
}

.home-page .home-gallery__item--dinner img {
  object-position: center;
}

.home-page .home-gallery__item--room img {
  object-position: center;
}

.home-page .home-gallery__item--detail img {
  object-position: center;
}

.home-page .home-gallery figcaption {
  margin-block-start: var(--space-3);
  color: var(--color-silver-mist);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.home-page .home-gallery__link {
  margin-block-start: var(--space-6);
}

.home-page .home-visit > .container > h2 {
  max-width: 50ch;
}

.home-page .home-visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: start;
  margin-block-start: var(--space-7);
}

.home-page .home-visit__facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.home-page .home-visit__fact address,
.home-page .home-visit__fact p {
  max-width: 46ch;
}

.home-page .home-visit__fact a {
  color: var(--color-white);
  text-decoration-color: var(--color-metallic-gold);
}

.home-page .home-visit__booking {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.home-page .home-visit__booking > * {
  margin: 0;
}

.home-page .home-visit__booking p {
  max-width: 50ch;
}

.home-page .home-close {
  padding-block-end: var(--section-space);
}

.home-page .home-close__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  max-width: 42ch;
  margin-inline: auto;
  text-align: center;
}

.home-page .home-close__content > * {
  margin: 0;
}

.home-page .home-close__content .eyebrow {
  margin-block-end: var(--space-3);
}

.home-page .home-close__content .rule {
  margin-block-end: var(--space-5);
}

.home-page .home-close__content h2 {
  margin-block-end: var(--space-5);
}

.home-page .home-close__content p {
  margin-block-end: var(--space-5);
}

@media (max-width: 960px) {
  .home-page .home-culinary__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-page .home-culinary__media {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    height: clamp(22rem, 70vw, 32rem);
    margin: 0;
    justify-self: stretch;
  }

  .home-page .home-culinary__media img {
    object-position: center;
  }

  .home-page .home-culinary__panel {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    margin: 0;
    margin-inline: 0;
  }
}

@media (max-width: 900px) {
  .home-page .image-frame img {
    object-position: center;
  }

  .home-page .home-hero__grid,
  .home-page .home-tournaments__grid {
    grid-template-columns: 1fr;
  }

  .home-page .home-hero__media {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: min(125vw, 42rem);
  }

  .home-page .home-hero__media img,
  .home-page .home-tournaments__media img,
  .home-page .home-tactile__media img {
    object-position: center;
  }

  .home-page .home-hero__copy {
    grid-row: 2;
    max-width: 46ch;
  }

  .home-page .home-tournaments__copy {
    max-width: 50ch;
  }

  .home-page .home-tournaments__media {
    grid-column: 1 / -1;
    width: 100%;
    height: min(125vw, 44rem);
  }

  .home-page .home-tactile__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    padding-block: 0 var(--space-8);
  }

  .home-page .home-tactile__media {
    width: 100%;
    height: min(75vw, 38rem);
  }

  .home-page .home-tactile__media::after {
    display: none;
  }

  .home-page .home-tactile__copy {
    width: 100%;
    max-width: 40ch;
  }

  .home-page .home-tactile__callouts {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: var(--space-4);
  }

  .home-page .home-tactile__callouts > article,
  .home-page .home-tactile__callouts h3,
  .home-page .home-tactile__callouts p {
    max-width: none;
  }
}

@media (max-width: 820px) {
  .home-page .home-room__cards,
  .home-page .home-visit__grid {
    grid-template-columns: 1fr;
  }

  .home-page .home-room__cards {
    gap: var(--space-4);
  }

  .home-page .home-room__card p {
    max-width: 44ch;
  }

  .home-page .home-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
  }

  .home-page .home-gallery__item--dinner,
  .home-page .home-gallery__item--detail {
    grid-column: span 1;
  }

  .home-page .home-gallery__item--room {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .home-page .home-gallery__item--dinner .image-frame,
  .home-page .home-gallery__item--detail .image-frame,
  .home-page .home-gallery__item--room .image-frame {
    height: clamp(16rem, 48vw, 27rem);
  }
}

@media (min-width: 701px) and (max-width: 820px) {
  .home-page .home-paths__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page .home-paths__card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .home-page .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .home-page .home-hero__actions > * {
    width: 100%;
  }

  .home-page .home-hero__media {
    height: min(125vw, 31rem);
  }

  .home-page .home-dual__cards,
  .home-page .home-paths__cards {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .home-page .home-dual__cards,
  .home-page .home-room__cards,
  .home-page .home-paths__cards,
  .home-page .home-gallery__grid,
  .home-page .home-visit__grid {
    margin-block-start: var(--space-6);
  }

  .home-page .home-culinary__panel,
  .home-page .home-visit__booking {
    padding: var(--space-4);
  }

  .home-page .home-culinary__media {
    height: min(95vw, 29rem);
  }

  .home-page .home-tournaments__media {
    height: min(125vw, 33rem);
  }

  .home-page .home-tactile__media {
    height: min(100vw, 29rem);
  }

  .home-page .home-gallery__grid {
    grid-template-columns: 1fr;
  }

  .home-page .home-gallery__item--dinner,
  .home-page .home-gallery__item--room,
  .home-page .home-gallery__item--detail {
    grid-column: 1;
    grid-row: auto;
  }

  .home-page .home-gallery__item--dinner .image-frame,
  .home-page .home-gallery__item--detail .image-frame,
  .home-page .home-gallery__item--room .image-frame {
    height: min(95vw, 28rem);
  }

  .home-page .home-close__content .button {
    width: 100%;
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-page .home-dual__card:hover,
  .home-page .home-room__card:hover,
  .home-page .home-paths__card:hover,
  .home-page .home-visit__fact:hover {
    border-color: var(--border-gold-strong);
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
