.home-page { overflow: clip; }
.home-page .eyebrow { color: var(--color-warm-graphite); }
.home-page .surface-dark .eyebrow { color: var(--color-champagne); }
.home-hero { padding-block: var(--space-9) var(--space-8); }
.home-hero__grid, .home-about__intro, .home-dining__feature, .home-gaming__opening, .home-location__grid, .home-location__lower, .home-faq__layout, .home-responsible__layout, .home-closing__grid { display: grid; min-width: 0; gap: var(--space-6); }
.home-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; }
.home-hero__copy { min-width: 0; max-width: 33.125rem; }
.home-hero__lead { max-width: 38.75rem; font-size: var(--text-lead); }
.home-hero__actions, .home-responsible__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.home-hero__actions > *, .home-responsible__actions > * { min-width: 0; flex: 1 1 13rem; }
.home-hero__media { min-width: 0; margin: 0; }
.home-hero__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: right center; border-radius: var(--radius-card); }
.home-hero__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-6); border: 1px solid var(--color-border); background: rgba(255,255,255,.62); box-shadow: var(--shadow-premium-inset); backdrop-filter: blur(18px); }
.home-hero__facts > div { min-width: 0; padding: var(--space-4); color: var(--color-espresso); font-size: var(--text-utility); font-weight: 700; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.home-hero__facts > div + div { border-left: 1px solid var(--color-champagne); }
.home-about__intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.home-about__intro > *, .home-dining__feature > *, .home-gaming__opening > *, .home-location__grid > *, .home-location__lower > *, .home-faq__layout > *, .home-responsible__layout > *, .home-closing__grid > * { min-width: 0; }
.home-about__lead { max-width: 40.625rem; font-size: var(--text-lead); }
.home-about__panel { width: 100%; }
.home-about__waypoints { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-7); }
.home-about__waypoints article { min-width: 0; border-top: 1px solid var(--color-champagne); padding-top: var(--space-4); }
.home-about__waypoints span { color: var(--color-action); font-size: var(--text-meta); font-weight: 700; }
.home-about__closing { max-width: 43rem; margin-top: var(--space-6); }
.home-dining__feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.home-dining__feature figure { min-width: 0; margin: 0; }
.home-dining__feature img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-card); }
.home-dining__feature > div { max-width: 38.75rem; }
.home-dining__details { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-width: 0; gap: var(--space-5); margin-top: var(--space-6); }
.home-dining__details > * { min-width: 0; }
.home-dining__settings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-4); }
.home-dining__settings > * { min-width: 0; }
.home-dining__hours { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); margin-top: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-travertine); }
.home-dining__hours > * { min-width: 0; }
.home-gaming { background: var(--color-espresso); }
.home-gaming__opening { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; }
.home-gaming__opening > div { max-width: 35rem; }
.home-gaming__opening figure { min-width: 0; margin: 0; }
.home-gaming__opening img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: right center; border-radius: var(--radius-card); }
.home-gaming__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-6); }
.home-gaming__cards article, .home-gaming__assurance article { min-width: 0; padding: var(--space-6); border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius-card); }
.home-gaming__assurance { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-width: 0; gap: var(--space-5); margin-top: var(--space-5); }
.home-gaming__assurance > * { min-width: 0; }
.home-gaming__assurance aside { padding: var(--space-6); border-radius: var(--radius-card); background: rgba(124,157,142,.9); color: var(--color-espresso); }
.home-gaming__assurance aside :is(h3,p,a) { color: var(--color-espresso); }
.home-location__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.home-location__grid figure { min-width: 0; margin: 0; }
.home-location__grid img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-card); }
.home-location__rail { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.home-location__rail > * { min-width: 0; width: 100%; }
.home-location__lower { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; margin-top: var(--space-6); }
.home-location__lower > div { max-width: 37.5rem; }
.home-location__lower dl { display: grid; min-width: 0; gap: var(--space-3); margin: 0; padding: var(--space-5); border: 1px solid var(--color-border); background: var(--color-travertine); }
.home-location__lower dl div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.home-location__lower dd { margin: 0; text-align: right; }
.home-events__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); }
.home-events__cards > * { min-width: 0; }
.home-events__enquiry { max-width: 43.75rem; margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-champagne); }
.home-gallery__intro { max-width: 35rem; }
.home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 0; gap: var(--space-3); }
.home-gallery__grid figure { display: flex; min-width: 0; flex-direction: column; margin: 0; border: 1px solid var(--color-border); background: var(--color-pearl); }
.home-gallery__grid figure:nth-child(1) { grid-column: span 7; }
.home-gallery__grid figure:nth-child(2) { grid-column: span 5; }
.home-gallery__grid figure:nth-child(3) { grid-column: span 4; }
.home-gallery__grid figure:nth-child(4) { grid-column: span 5; }
.home-gallery__grid figure:nth-child(5) { grid-column: span 3; }
.home-gallery__grid img { width: 100%; min-width: 0; object-fit: cover; }
.home-gallery__grid figure:nth-child(1) img, .home-gallery__grid figure:nth-child(2) img, .home-gallery__grid figure:nth-child(4) img, .home-gallery__grid figure:nth-child(5) img { aspect-ratio: 3 / 2; }
.home-gallery__grid figure:nth-child(3) img { aspect-ratio: 4 / 5; }
.home-gallery__grid figcaption { min-width: 0; margin: 0; padding: var(--space-3) var(--space-4); color: var(--color-warm-graphite); }
.home-audience__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); }
.home-audience__cards > * { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.home-audience__cards a { margin-top: auto; padding-top: var(--space-3); }
.home-faq__layout { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); align-items: start; }
.home-faq__list { max-width: 56.25rem; }
.home-faq__list details { min-width: 0; border-bottom: 1px solid var(--color-border); background: var(--color-pearl); }
.home-faq__list summary { display: flex; min-height: 3.5rem; align-items: center; padding: var(--space-4); color: var(--color-espresso); font-weight: 700; list-style: none; }
.home-faq__list summary::-webkit-details-marker { display: none; }
.home-faq__list summary::after { content: "+"; margin-left: auto; color: var(--color-action); font-size: 1.5rem; font-weight: 400; }
.home-faq__list details[open] summary::after { content: "–"; }
.home-faq__list details > div { display: grid; min-width: 0; gap: var(--space-3); padding: 0 var(--space-4) var(--space-5); }
.home-faq__list details > div > * { min-width: 0; }
.home-faq__support { margin: 0 var(--space-4) var(--space-5); padding: var(--space-4) !important; border-radius: var(--radius-card); background: rgba(124,157,142,.22); }
.home-faq__note { min-width: 0; padding: var(--space-5); border-left: 1px solid var(--color-champagne); }
.home-responsible { background: var(--color-travertine); }
.home-responsible__layout { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); align-items: stretch; }
.home-responsible__panel { min-width: 0; max-width: 48.75rem; padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-panel); background: rgba(124,157,142,.22); }
.home-responsible__marker { display: flex; min-width: 0; align-items: center; justify-content: center; flex-direction: column; padding: var(--space-5); border-left: 1px solid var(--color-champagne); color: var(--color-espresso); font-family: var(--font-heading); font-size: clamp(3rem, 6vw, 5rem); font-weight: 600; line-height: 1; }
.home-responsible__marker span { margin-top: var(--space-3); font-family: var(--font-body); font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.home-closing__grid { grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); align-items: center; }
.home-closing h2 { max-width: 47.5rem; }
.home-closing__action { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-closing__action > * { min-width: 0; }
.home-closing__action p { max-width: 24rem; margin: 0; }
.home-closing .button { width: 100%; max-width: 24rem; }
.home-page a:focus-visible, .home-page summary:focus-visible { outline: 2px solid var(--color-champagne); outline-offset: 3px; }
.home-page .surface-dark a:focus-visible { outline-color: var(--color-pearl); }
@media (max-width: 68.74rem) { .home-hero__grid, .home-dining__feature, .home-gaming__opening, .home-location__grid { grid-template-columns: minmax(0, 1fr); } .home-hero__copy, .home-dining__feature > div, .home-gaming__opening > div { max-width: none; } .home-hero__media { order: 2; } .home-dining__feature figure, .home-gaming__opening figure { order: 2; } .home-dining__details { grid-template-columns: minmax(0, 1fr); } .home-location__lower { grid-template-columns: minmax(0, 1fr); } .home-location__lower > div { max-width: 37.5rem; } .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-gallery__grid figure:nth-child(n) { grid-column: span 1; } .home-audience__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 59.99rem) { .home-about__intro, .home-gaming__assurance, .home-faq__layout { grid-template-columns: minmax(0, 1fr); } .home-about__waypoints { grid-template-columns: minmax(0, 1fr); } .home-gaming__cards { grid-template-columns: minmax(0, 1fr); } .home-faq__note { display: none; } .home-events__cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 53.11rem) { .home-closing__grid, .home-responsible__layout { grid-template-columns: minmax(0, 1fr); } .home-responsible__marker { display: none; } }
@media (max-width: 47.99rem) { .home-hero { padding-block: var(--space-8); } .home-hero h1 { font-size: clamp(2.625rem, 12vw, 3.5rem); } .home-hero__actions, .home-responsible__actions { flex-direction: column; } .home-hero__actions > *, .home-responsible__actions > * { width: 100%; flex-basis: auto; } .home-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-hero__facts > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--color-champagne); } .home-hero__facts > div:nth-child(4) { border-top: 1px solid var(--color-champagne); } .home-dining__settings { grid-template-columns: minmax(0, 1fr); } .home-dining__hours { align-items: flex-start; flex-direction: column; } .home-location__lower dl div { grid-template-columns: minmax(0, 1fr); gap: 0; } .home-location__lower dd { text-align: left; } .home-gallery__grid, .home-audience__cards { grid-template-columns: minmax(0, 1fr); } .home-gallery__grid figure:nth-child(n) { grid-column: span 1; } .home-gallery__grid figure:nth-child(3) img { aspect-ratio: 4 / 5; } .home-responsible__panel { padding: var(--space-5); } .home-closing__action .button { max-width: none; } }
