.home-page { overflow: clip; }
.home-page figure { margin: 0; }
.home-page img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.home-page a { text-decoration-thickness: 1px; }
.home-page .eyebrow { min-width: 0; }

.home-hero { position: relative; min-height: 45rem; display: grid; overflow: hidden; }
.home-hero__image, .home-hero__grid { grid-area: 1 / 1; }
.home-hero__image { position: relative; width: 100%; height: 100%; min-width: 0; }
.home-hero__image::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,19,17,.82) 0%, rgba(18,19,17,.58) 40%, rgba(18,19,17,.12) 74%, rgba(18,19,17,.08) 100%); content: ""; }
.home-hero__image img { object-position: center; }
.home-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: center; width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; }
.home-hero__copy { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); padding-block: var(--space-8); }
.home-hero__copy > * { margin: 0; min-width: 0; }
.home-hero__marker { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.home-hero__marker .eyebrow { margin: 0; }
.home-hero__copy .display-title { max-width: 12ch; }
.home-hero__copy .lead { max-width: 34rem; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__actions > * { flex: 0 1 auto; min-width: 0; }
.home-hero__assurance { color: rgba(242,232,213,.78); font-size: var(--text-utility); letter-spacing: var(--tracking-utility); }

.home-restaurant__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: center; }
.home-restaurant__intro { grid-column: 1 / span 5; min-width: 0; }
.home-restaurant__intro .lead { max-width: 38rem; }
.home-restaurant__media { grid-column: 6 / span 7; width: 100%; min-width: 0; height: 29rem; }
.home-restaurant__media img { object-position: 62% center; }
.home-restaurant__cards { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--space-7); }
.home-restaurant__card { min-width: 0; }
.home-restaurant__card:nth-child(1) { grid-column: 1 / span 4; }
.home-restaurant__card:nth-child(2) { grid-column: 5 / span 4; }
.home-restaurant__card .card__body { display: flex; flex-direction: column; gap: var(--space-4); height: 100%; }
.home-restaurant__card .card__body > * { margin: 0; min-width: 0; }
.home-restaurant__card p { max-width: 30rem; }
.home-restaurant__links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: auto; min-width: 0; }
.home-restaurant__callout { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); border-top: var(--border); border-bottom: var(--border); padding: var(--space-5) 0; }
.home-restaurant__callout > * { margin: 0; }

.home-cardroom__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.home-cardroom__statement { grid-column: 1 / span 5; min-width: 0; }
.home-cardroom__statement .lead { max-width: 33rem; }
.home-cardroom__modules { grid-column: 7 / span 6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; min-width: 0; }
.home-cardroom__module { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); }
.home-cardroom__module > * { margin: 0; min-width: 0; }
.home-cardroom__module p { max-width: 28rem; }
.home-cardroom__suit { color: var(--color-brass); font-size: 1.5rem; }
.home-cardroom__paths { display: flex; flex-direction: column; min-width: 0; }
.home-cardroom__paths a { display: flex; justify-content: space-between; gap: var(--space-3); min-width: 0; border-top: var(--border-light); padding-block: var(--space-3); color: var(--color-cream); text-decoration: none; }
.home-cardroom__paths a:last-child { border-bottom: var(--border-light); }
.home-cardroom__paths a:hover { color: var(--color-brass); }

.home-tournaments__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: end; }
.home-tournaments__intro { grid-column: 1 / span 5; min-width: 0; }
.home-tournaments__intro .lead { max-width: 37rem; }
.home-tournaments__media { grid-column: 7 / span 4; width: 100%; min-width: 0; height: 35rem; }
.home-tournaments__media img { object-position: center; }
.home-tournaments__label { grid-column: 11 / span 2; align-self: center; margin: 0; writing-mode: vertical-rl; transform: rotate(180deg); }
.home-tournaments__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--space-7); }
.home-tournaments__detail { min-width: 0; border-top: 1px solid var(--color-brass); padding-top: var(--space-4); }
.home-tournaments__detail > * { min-width: 0; }
.home-tournaments__detail p { max-width: 26rem; }
.home-tournaments__number { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-bottom: var(--space-4); color: var(--color-tobacco); font-size: var(--text-label); font-weight: 800; letter-spacing: var(--tracking-label); }

.home-nights__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.home-nights__copy { grid-column: 1 / span 7; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.home-nights__copy > * { margin: 0; min-width: 0; }
.home-nights__copy .lead { max-width: 39rem; }
.home-nights__media { grid-column: 8 / span 5; min-width: 0; width: 100%; height: 100%; min-height: 29rem; }
.home-nights__media img { object-position: 44% center; }
.home-nights__modules { display: grid; grid-template-columns: 3fr 4fr; gap: 1.5rem; min-width: 0; margin-top: var(--space-2); }
.home-nights__module { min-width: 0; border-top: 1px solid var(--color-brass); padding-top: var(--space-4); }
.home-nights__module p { max-width: 26rem; }
.home-nights__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.home-nights__actions a:not(.button) { color: var(--color-cream); }

.home-highroller__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; }
.home-highroller__panel { grid-column: 2 / span 8; z-index: 1; min-width: 0; border: var(--border); background: var(--color-paper); padding: var(--space-7); }
.home-highroller__panel .lead { max-width: 39rem; }
.home-highroller__features { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-5); border-top: 1px solid var(--color-tobacco); padding-top: var(--space-4); }
.home-highroller__features p { max-width: 39rem; margin: 0; padding-bottom: var(--space-4); border-bottom: var(--border); }
.home-highroller__actions { display: flex; flex-wrap: wrap; gap: var(--space-5); margin-top: var(--space-5); }
.home-highroller__texture { grid-column: 10 / span 3; min-width: 0; display: flex; align-items: center; justify-content: center; gap: var(--space-4); background: var(--color-felt); color: var(--color-brass); font-family: var(--font-heading); font-size: 5rem; }

.home-format__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.home-format__definition { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); border: 1px solid var(--color-brass); padding: var(--space-6); }
.home-format__definition > * { margin: 0; min-width: 0; }
.home-format__definition .lead { max-width: 32rem; }
.home-format__motif { grid-column: 7 / span 6; min-width: 0; display: flex; align-items: center; justify-content: center; gap: var(--space-5); color: var(--color-brass); font-family: var(--font-heading); font-size: clamp(4rem, 8vw, 8rem); }
.home-format__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--space-7); }
.home-format__step { min-width: 0; border-top: 1px solid var(--color-brass); padding-top: var(--space-4); }
.home-format__step > span { display: block; margin-bottom: var(--space-3); color: var(--color-brass); font-size: var(--text-label); font-weight: 800; letter-spacing: var(--tracking-label); }
.home-format__step p { max-width: 25rem; }
.home-format__step a { color: var(--color-cream); }

.home-food__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: center; }
.home-food__copy { grid-column: 1 / span 6; min-width: 0; }
.home-food__copy .lead { max-width: 38rem; }
.home-food__visual { grid-column: 7 / span 6; position: relative; min-width: 0; height: 22rem; overflow: hidden; background: var(--color-paper); }
.home-food__plate { position: absolute; inset: 1.5rem 3rem 1.5rem 1.5rem; background: radial-gradient(circle at 48% 42%, #d6a677 0 10%, #70452f 11% 19%, #f2e8d5 20% 31%, #b8894c 32% 33%, #fbf6ec 34% 100%); }
.home-food__felt { position: absolute; right: 0; top: 0; width: 28%; height: 100%; background: var(--color-felt); border-left: 1px solid var(--color-brass); }
.home-food__moments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--space-7); }
.home-food__moments article { min-width: 0; border-left: var(--border); padding-left: var(--space-4); }
.home-food__moments p { max-width: 23rem; }
.home-food__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); margin-top: var(--space-5); }

.home-events__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: center; }
.home-events__intro { grid-column: 1 / span 5; min-width: 0; }
.home-events__intro .lead { max-width: 34rem; }
.home-events__media { grid-column: 6 / span 7; min-width: 0; width: 100%; height: 30rem; }
.home-events__media img { object-position: 58% center; }
.home-events__bottom { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; margin-top: var(--space-7); align-items: center; }
.home-events__planning { grid-column: 2 / span 7; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.home-events__planning > * { margin: 0; min-width: 0; }
.home-events__planning p { max-width: 40rem; }
.home-events__cta { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-events__cta > * { margin: 0; min-width: 0; }
.home-events__cta p { max-width: 21rem; }
.home-events__cta div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-events__cta a:not(.button) { color: var(--color-cream); }

.home-closing { min-height: 27rem; display: grid; place-items: center; }
.home-closing__content { width: min(100%, 46rem); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); text-align: center; }
.home-closing__content > * { margin: 0; min-width: 0; }
.home-closing__content .eyebrow { margin: 0; }
.home-closing__content .rule { max-width: 4rem; }
.home-closing__content .lead { max-width: 34rem; }
.home-closing__actions { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); }
.home-closing__actions a:not(.button) { color: var(--color-cream); }

@media (max-width: 63.99rem) {
  .home-hero { min-height: 0; display: block; }
  .home-hero__image { height: 23rem; }
  .home-hero__image::after { display: none; }
  .home-hero__grid { display: block; width: 100%; }
  .home-hero__copy { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; padding-block: var(--space-7); }
  .home-hero__copy .lead { max-width: 37rem; }
  .home-restaurant__top, .home-tournaments__top, .home-nights__grid, .home-food__top, .home-events__top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-restaurant__media, .home-tournaments__media, .home-nights__media, .home-food__visual, .home-events__media { grid-column: 1 / -1; grid-row: 1; }
  .home-restaurant__intro, .home-tournaments__intro, .home-nights__copy, .home-food__copy, .home-events__intro { grid-column: 1 / -1; grid-row: 2; }
  .home-restaurant__media { height: 25rem; }
  .home-restaurant__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-restaurant__card:nth-child(1), .home-restaurant__card:nth-child(2) { grid-column: span 2; }
  .home-restaurant__callout { grid-column: 1 / -1; }
  .home-cardroom__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-cardroom__statement { grid-column: 1 / -1; }
  .home-cardroom__modules { grid-column: 1 / -1; }
  .home-tournaments__media { height: 26rem; }
  .home-tournaments__label { display: none; }
  .home-tournaments__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-tournaments__detail:nth-child(3) { grid-column: 1 / span 2; }
  .home-nights__media { height: 25rem; min-height: 0; }
  .home-highroller__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .home-highroller__texture { grid-column: 1 / -1; grid-row: 1; min-height: 13rem; }
  .home-highroller__panel { grid-column: 1 / -1; grid-row: 2; }
  .home-format__top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-format__definition { grid-column: 1 / -1; }
  .home-format__motif { display: none; }
  .home-format__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-format__step:nth-child(3) { grid-column: 1 / span 2; }
  .home-food__visual { height: 20rem; }
  .home-food__moments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-food__moments article:nth-child(3) { grid-column: 1 / span 2; }
  .home-events__media { height: 25rem; }
  .home-events__bottom { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-events__planning { grid-column: 1 / span 3; }
  .home-events__cta { grid-column: 4 / span 1; }
}

@media (max-width: 54.99rem) {
  .home-nights__modules { grid-template-columns: 1fr; }
  .home-events__planning { grid-column: 1 / -1; }
  .home-events__cta { grid-column: 1 / -1; flex-direction: row; align-items: center; }
  .home-events__cta div { flex: 1 1 auto; }
}

@media (max-width: 47.99rem) {
  .home-hero__image { height: 46vw; min-height: 10rem; max-height: 14rem; }
  .home-hero__image img { object-position: 56% center; }
  .home-hero__copy { gap: var(--space-4); padding-block: var(--space-6); }
  .home-hero__copy .display-title { font-size: clamp(3rem, 13vw, 4rem); }
  .home-hero__actions { flex-direction: column; }
  .home-hero__actions > * { width: 100%; }
  .home-restaurant__top, .home-tournaments__top, .home-nights__grid, .home-food__top, .home-events__top { display: flex; flex-direction: column; gap: var(--space-5); }
  .home-restaurant__media, .home-tournaments__media, .home-nights__media, .home-food__visual, .home-events__media, .home-restaurant__intro, .home-tournaments__intro, .home-nights__copy, .home-food__copy, .home-events__intro { width: 100%; }
  .home-restaurant__media, .home-tournaments__media, .home-nights__media, .home-events__media { height: auto; aspect-ratio: 4 / 3; }
  .home-tournaments__media { aspect-ratio: 4 / 5; }
  .home-restaurant__cards, .home-cardroom__grid, .home-cardroom__modules, .home-tournaments__details, .home-format__top, .home-format__steps, .home-food__moments, .home-events__bottom { grid-template-columns: 1fr; }
  .home-restaurant__card:nth-child(1), .home-restaurant__card:nth-child(2), .home-restaurant__callout, .home-cardroom__statement, .home-cardroom__modules, .home-tournaments__detail:nth-child(3), .home-format__definition, .home-format__step:nth-child(3), .home-food__moments article:nth-child(3), .home-events__planning, .home-events__cta { grid-column: 1; }
  .home-restaurant__card:nth-child(1), .home-restaurant__card:nth-child(2) { grid-column: 1; }
  .home-cardroom__module { padding: var(--space-5); }
  .home-tournaments__details { gap: var(--space-5); }
  .home-tournaments__detail { padding-bottom: var(--space-4); }
  .home-highroller__grid { display: flex; flex-direction: column; }
  .home-highroller__texture { min-height: 10rem; }
  .home-highroller__panel { padding: var(--space-5); }
  .home-highroller__actions { flex-direction: column; align-items: flex-start; gap: var(--space-4); }
  .home-food__visual { height: 15rem; }
  .home-food__moments { gap: 0; border-top: var(--border); }
  .home-food__moments article { border-left: 0; border-bottom: var(--border); padding: var(--space-4) 0; }
  .home-food__moments article h3, .home-food__moments article p { margin: 0; }
  .home-food__moments article { display: flex; flex-direction: column; gap: var(--space-2); }
  .home-food__actions { flex-direction: column; align-items: stretch; gap: var(--space-4); }
  .home-food__actions .button { width: 100%; }
  .home-events__cta { align-items: flex-start; }
  .home-events__cta div { width: 100%; }
  .home-events__cta .button { width: 100%; }
  .home-closing { min-height: 0; }
  .home-closing__actions { width: 100%; }
  .home-closing__actions .button { width: 100%; }
}
