.home-page { background: var(--surface-page); }
.home-page a:focus-visible, .home-page button:focus-visible, .home-page input:focus-visible, .home-page select:focus-visible, .home-page textarea:focus-visible { outline: 2px solid var(--color-gold-300); outline-offset: 2px; }
.home-page .eyebrow { margin-block-end: var(--space-4); }
.home-page .button { width: auto; }

.home-hero { min-height: 43.75rem; background: var(--surface-page); overflow: hidden; }
.home-hero__grid { min-height: 43.75rem; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: stretch; }
.home-hero__copy { grid-column: 1; min-width: 0; width: 100%; max-width: 34rem; align-self: center; display: flex; flex-direction: column; gap: var(--space-4); padding-block: var(--space-9); }
.home-hero__copy > * { min-width: 0; margin: 0; }
.home-hero__title { font-size: var(--text-display); line-height: var(--leading-display); }
.home-hero__title span { color: var(--color-gold-300); }
.home-hero__rule { width: 7rem; }
.home-hero__subtitle { max-width: 32rem; color: var(--text-primary); }
.home-hero__actions { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; min-width: 0; }
.home-hero__meta { margin: 0; color: var(--text-secondary); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; line-height: var(--leading-meta); text-transform: uppercase; }
.home-hero__media { grid-column: 2; min-width: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; position: relative; }
.home-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--surface-page) 0%, rgb(9 10 9 / .44) 34%, transparent 68%); pointer-events: none; transition: background var(--duration-media) var(--ease-standard); }
.home-hero__media img { height: 100%; min-height: 43.75rem; object-position: 67% center; }
.home-hero__actions:hover + * { opacity: 1; }

.home-proof__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8); align-items: stretch; }
.home-proof__content { grid-column: 1; min-width: 0; width: 100%; max-width: 48rem; }
.home-proof__content h2 { max-width: 39rem; }
.home-proof__required { max-width: 44rem; color: var(--text-primary); font-weight: 500; }
.home-proof__divider { width: 100%; max-width: 44rem; margin-block: var(--space-5); }
.home-proof__support { max-width: 44rem; }
.home-proof__list { width: 100%; max-width: 48rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-block: var(--space-6); }
.home-proof__list li { min-width: 0; padding: var(--space-3) 0; border-block-end: var(--border-subtle); color: var(--text-primary); }
.home-proof__list li:first-child { border-block-start: var(--border-subtle); }
.home-proof__list li::first-letter { color: var(--color-gold-300); }
.home-proof__note { max-width: 42rem; margin-block-end: 0; }
.home-proof__panel { grid-column: 2; min-width: 0; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3); padding: var(--space-7); border: var(--border-subtle); background: rgb(0 0 0 / .16); }
.home-proof__panel span { color: var(--color-gold-300); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 700; letter-spacing: -.025em; line-height: .86; overflow-wrap: anywhere; }
.home-proof__panel span:nth-child(2) { color: var(--text-primary); }

.home-experiences__intro { width: 100%; max-width: 42rem; }
.home-experiences__intro p { margin-block-end: var(--space-7); }
.home-experiences__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 4fr) minmax(0, 2fr); gap: var(--space-5); align-items: stretch; }
.home-experience { min-width: 0; width: 100%; border: var(--border-subtle); display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); background: var(--surface-elevated); position: relative; }
.home-experience::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 0; height: 1px; background: var(--color-gold-300); transition: width var(--duration-control) var(--ease-standard); }
.home-experience:hover::before, .home-experience:focus-within::before { width: 100%; }
.home-experience h3, .home-experience p { margin: 0; }
.home-experience h3 { font-size: 1.5rem; }
.home-experience p { color: var(--text-secondary); }
.home-experience__index, .home-experience__label, .home-events__label, .home-table__label { color: var(--color-gold-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; line-height: var(--leading-meta); text-transform: uppercase; }
.home-experience--dining { grid-column: 1; min-height: 23rem; background: #191714; }
.home-experience--dining .home-experience__label { color: var(--color-amber-500); }
.home-experience--lounge { grid-column: 2; padding: 0; overflow: hidden; }
.home-experience__media { width: 100%; height: 10rem; margin: 0; border-radius: 0; }
.home-experience__media img { height: 100%; object-position: center; transition: filter var(--duration-media) var(--ease-standard), transform var(--duration-media) var(--ease-standard); }
.home-experience:hover .home-experience__media img { filter: contrast(1.1); transform: scale(1.025); }
.home-experience__body { min-width: 0; width: 100%; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.home-experience__body > * { margin: 0; min-width: 0; }
.home-experience--room { grid-column: 3; min-height: 27rem; background: var(--color-felt-900); }
.home-experience--tournament { grid-column: 4; min-height: 20rem; }
.home-text-link { display: inline-flex; align-items: center; gap: var(--space-2); width: fit-content; min-height: 2rem; color: var(--color-gold-300); font-size: var(--text-utility); font-weight: 700; text-decoration: none; }
.home-text-link span { transition: transform var(--duration-control) var(--ease-standard); }
.home-text-link:hover span, .home-text-link:focus-visible span { transform: translateX(.25rem); }

.home-table__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.home-table__media { grid-column: 1; min-width: 0; width: 100%; margin: 0; }
.home-table__media img { width: 100%; aspect-ratio: 3 / 2; object-position: 42% center; }
.home-table__content { grid-column: 2; min-width: 0; width: 100%; }
.home-table__content h2, .home-table__lead { max-width: 38rem; }
.home-table__evidence { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-6); }
.home-table__evidence article { min-width: 0; width: 100%; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4) 0; border-top: 1px solid var(--color-gold-400); }
.home-table__number { color: var(--color-gold-300); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; line-height: 1; }
.home-table__evidence article > div { min-width: 0; width: 100%; max-width: 30rem; }
.home-table__evidence h3 { margin-block: var(--space-2); }
.home-table__evidence p { margin: 0; }

.home-offline__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); }
.home-offline__opening { grid-column: 1; min-width: 0; width: 100%; max-width: 40rem; }
.home-offline__opening p { margin-block-end: 0; }
.home-offline__inset { grid-column: 2; min-width: 0; width: 100%; align-self: start; display: flex; flex-direction: column; gap: var(--space-3); background: var(--surface-elevated); }
.home-offline__inset > * { margin: 0; min-width: 0; }
.home-offline__inset p { max-width: 34rem; }
.home-offline__routes { grid-column: 1 / -1; min-width: 0; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-5); }
.home-room-route { min-width: 0; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); padding: var(--space-4) 0; border-top: var(--border-subtle); color: inherit; text-decoration: none; }
.home-room-route span { grid-column: 1; color: var(--color-gold-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-room-route strong { grid-column: 1; min-width: 0; max-width: 24rem; color: var(--text-primary); font-size: var(--text-body); font-weight: 500; }
.home-room-route b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--color-gold-300); font-size: 1.4rem; transition: transform var(--duration-control) var(--ease-standard); }
.home-room-route:hover b, .home-room-route:focus-visible b { transform: translateX(.25rem); }

.home-events__heading { width: 100%; max-width: 42rem; }
.home-events__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: stretch; }
.home-events__tournament, .home-events__private { min-width: 0; width: 100%; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: var(--border-subtle); }
.home-events__tournament { grid-column: 1; background: var(--surface-elevated); border-top-color: var(--color-gold-400); }
.home-events__private { grid-column: 2; margin: 0; }
.home-events__tournament > *, .home-events__private > * { margin: 0; min-width: 0; }
.home-events__tournament p, .home-events__private p { max-width: 34rem; }
.home-events__cue { width: 100%; max-width: 34rem; margin: var(--space-6) 0 0; }

.home-dining__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); align-items: center; }
.home-dining__media { grid-column: 1; min-width: 0; width: 100%; margin: 0; }
.home-dining__media img { width: 100%; aspect-ratio: 3 / 2; object-position: center; transition: filter var(--duration-media) var(--ease-standard); }
.home-dining__media:hover img { filter: contrast(1.08); }
.home-dining__content { grid-column: 2; min-width: 0; width: 100%; }
.home-dining__eyebrow { display: block; margin-bottom: var(--space-3); color: var(--color-amber-500); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-dining__content h2 { max-width: 36rem; }
.home-dining__lead { max-width: 36rem; }
.home-dining__moments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-dining__moments article { min-width: 0; width: 100%; padding-top: var(--space-4); border-top: var(--border-subtle); }
.home-dining__moments span { color: var(--color-amber-500); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-dining__moments p { max-width: 30rem; margin: var(--space-2) 0 0; }

.home-details__container { width: min(calc(100% - 4rem), 64rem); }
.home-details__container h2 { margin-bottom: var(--space-6); }
.home-details__list { width: 100%; margin: 0; border-top: var(--border-subtle); }
.home-details__list > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 8fr); gap: var(--space-4); min-width: 0; width: 100%; padding: var(--space-4) 0; border-bottom: var(--border-subtle); }
.home-details__list dt { color: var(--color-gold-300); font-size: var(--text-meta); letter-spacing: .08em; text-transform: uppercase; }
.home-details__list dd { min-width: 0; margin: 0; color: var(--text-primary); font-size: clamp(1.1rem, 2vw, 1.5rem); line-height: 1.25; overflow-wrap: anywhere; }
.home-details__context { width: 100%; max-width: 36rem; margin: var(--space-6) 0 0; }

.home-reservation__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr); gap: var(--space-6); align-items: start; }
.home-reservation__copy { grid-column: 1; min-width: 0; width: 100%; max-width: 34rem; }
.home-reservation__copy p { margin-bottom: 0; }
.home-reservation__form { grid-column: 3; min-width: 0; width: 100%; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-gold-400); background: var(--surface-panel); position: relative; }
.home-reservation__form::before, .home-reservation__form::after { content: ""; position: absolute; width: 1.25rem; height: 1.25rem; border-color: var(--color-gold-300); pointer-events: none; }
.home-reservation__form::before { inset: -.35rem auto auto -.35rem; border-top: 1px solid; border-left: 1px solid; }
.home-reservation__form::after { inset: auto -.35rem -.35rem auto; border-right: 1px solid; border-bottom: 1px solid; }
.home-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-form__field { min-width: 0; width: 100%; }
.home-form__field label { width: 100%; }
.home-form__field label span { color: var(--text-secondary); font-weight: 400; }
.home-form__field--message { grid-column: 1 / -1; }
.home-form__error { min-height: 1.2rem; margin: var(--space-1) 0 0; color: var(--color-gold-300); font-size: var(--text-meta); line-height: var(--leading-meta); }
.home-form__field [aria-invalid="true"] { border-color: var(--color-gold-300); }
.home-form__helper { margin: 0; color: var(--text-secondary); font-size: var(--text-meta); line-height: var(--leading-meta); }
.home-reservation__form button { width: fit-content; }
.home-form__success { padding: var(--space-4); border: 1px solid var(--color-felt-500); background: var(--color-felt-900); color: var(--text-primary); }
.home-reservation__alternative { grid-column: 3; min-width: 0; width: 100%; padding-top: var(--space-5); border-top: var(--border-subtle); }
.home-reservation__alternative p { max-width: 40rem; margin: 0; }

.home-closing { border-top: 1px solid var(--color-felt-700); }
.home-closing__container { width: min(calc(100% - 4rem), 64rem); }
.home-closing__container h2 { max-width: 34rem; font-size: clamp(2.5rem, 5vw, 4rem); }
.home-closing__lead { max-width: 34rem; }
.home-closing__paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-bottom: var(--space-6); }
.home-closing__paths a { min-width: 0; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); padding-top: var(--space-4); border-top: var(--border-subtle); text-decoration: none; }
.home-closing__paths span { grid-column: 1; color: var(--color-gold-300); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-closing__paths strong { grid-column: 1; max-width: 24rem; color: var(--text-primary); font-weight: 500; }
.home-closing__paths b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--color-gold-300); font-size: 1.4rem; transition: transform var(--duration-control) var(--ease-standard); }
.home-closing__paths a:hover b, .home-closing__paths a:focus-visible b { transform: translateX(.25rem); }
.home-closing__button { width: auto; }

@media (max-width: 63.75rem) {
  .home-experiences__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-experience--dining, .home-experience--lounge, .home-experience--room, .home-experience--tournament { grid-column: auto; min-height: 22rem; }
}

@media (max-width: 56.25rem) {
  .home-hero { min-height: 0; }
  .home-hero__grid, .home-proof__grid, .home-table__grid, .home-offline__grid, .home-dining__grid, .home-reservation__grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero__grid { min-height: 0; gap: 0; width: 100%; }
  .home-hero__copy { grid-column: 1; max-width: none; width: var(--container-inline); margin-inline: auto; padding-block: var(--space-8); }
  .home-hero__media { grid-column: 1; height: 28rem; }
  .home-hero__media img { min-height: 0; height: 100%; }
  .home-hero__media::after { background: linear-gradient(180deg, rgb(9 10 9 / .25), transparent 55%); }
  .home-proof__content, .home-proof__panel, .home-table__media, .home-table__content, .home-offline__opening, .home-offline__inset, .home-offline__routes, .home-dining__media, .home-dining__content, .home-reservation__copy, .home-reservation__form, .home-reservation__alternative { grid-column: 1; }
  .home-proof__panel { min-height: 10rem; padding: var(--space-5); flex-direction: row; align-items: flex-end; justify-content: flex-start; }
  .home-proof__panel span { font-size: clamp(2rem, 8vw, 3.5rem); }
  .home-table__grid, .home-dining__grid { gap: var(--space-6); }
  .home-table__content { display: contents; }
  .home-table__content > .eyebrow, .home-table__content > h2, .home-table__content > .home-table__lead { grid-column: 1; }
  .home-table__media { grid-row: 2; }
  .home-table__evidence { grid-column: 1; }
  .home-offline__routes { grid-template-columns: minmax(0, 1fr); }
  .home-dining__content { display: contents; }
  .home-dining__content > .home-dining__eyebrow, .home-dining__content > h2, .home-dining__content > .home-dining__lead { grid-column: 1; }
  .home-dining__media { grid-row: 4; }
  .home-dining__moments { grid-column: 1; grid-template-columns: minmax(0, 1fr); }
  .home-reservation__grid { gap: var(--space-6); }
  .home-reservation__form { grid-row: 2; }
  .home-reservation__alternative { grid-row: 3; }
}

@media (max-width: 51.25rem) {
  .home-events__grid { grid-template-columns: minmax(0, 1fr); }
  .home-events__tournament, .home-events__private { grid-column: 1; }
}

@media (max-width: 47.5rem) {
  .home-details__container, .home-closing__container { width: var(--container-inline); }
  .home-details__list > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
}

@media (max-width: 45rem) {
  .home-closing__paths { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
}

@media (max-width: 40rem) {
  .home-hero__copy { padding-block: var(--space-7); }
  .home-hero__title { font-size: clamp(2.75rem, 15vw, 4.5rem); }
  .home-hero__media { height: auto; aspect-ratio: 4 / 5; }
  .home-hero__media img { object-position: 68% center; }
  .home-hero__actions { align-items: stretch; }
  .home-hero__actions .button { width: 100%; }
  .home-experiences__grid, .home-form__grid { grid-template-columns: minmax(0, 1fr); }
  .home-experience--dining, .home-experience--lounge, .home-experience--room, .home-experience--tournament { min-height: auto; }
  .home-experience__media { height: 11rem; }
  .home-table__evidence article { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .home-proof__panel { flex-wrap: wrap; }
  .home-reservation__form { padding: var(--space-5); }
  .home-reservation__form button, .home-closing__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home-experience__media img, .home-dining__media img, .home-room-route b, .home-closing__paths b, .home-text-link span { transition: none; }
}
