.site-footer { color: var(--color-white); background: var(--color-jade-deep); }
.site-footer__main { padding: var(--space-9) 0 var(--space-7); background: linear-gradient(135deg, var(--color-jade-deep), var(--color-jade) 60%, var(--color-mulberry)); }
.site-footer__inner { display: grid; gap: var(--space-7); }
.site-footer__intro { display: grid; max-width: 48rem; gap: var(--space-4); }
.site-footer__intro > * { margin: 0; }
.site-footer__eyebrow { color: var(--color-limestone); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.site-footer__statement { max-width: 17ch; font-size: clamp(2rem, 4.2vw, 3.75rem); line-height: 1; }
.site-footer__arches { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); overflow: hidden; }
.site-footer__arch { position: relative; min-height: 16rem; overflow: hidden; border: 1px solid color-mix(in srgb, var(--color-white) 35%, transparent); border-radius: 8rem 8rem 0 0; background-color: var(--color-mulberry); background-position: center; background-size: cover; }
.site-footer__arch::before { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgb(14 68 59 / 82%) 100%); content: ""; }
.site-footer__arch span { position: absolute; right: var(--space-3); bottom: var(--space-3); left: var(--space-3); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.08em; line-height: 1.3; text-transform: uppercase; }
.site-footer__arch--dining { background-image: linear-gradient(145deg, #b65345, #47253f); }
.site-footer__arch--courtyard { background-image: linear-gradient(145deg, #287c9b, #176b57); }
.site-footer__arch--offline { background-image: linear-gradient(145deg, #176b57, #0e443b); }
.site-footer__arch--holdem { background-image: linear-gradient(145deg, #e96f36, #47253f); }
.site-footer__arch--lounge { background-image: linear-gradient(145deg, #47253f, #287c9b); }
.site-footer__details { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-7); padding-top: var(--space-6); border-top: 1px solid color-mix(in srgb, var(--color-white) 35%, transparent); }
.site-footer__contact, .site-footer__nav { min-width: 0; }
.site-footer__contact h3 { margin: 0 0 var(--space-3); font-family: var(--font-body); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer__contact p { margin: 0; max-width: 42rem; line-height: 1.65; }
.site-footer__contact a { color: var(--color-white); }
.site-footer__contact a:hover { color: var(--color-limestone); }
.site-footer__nav { display: flex; flex-wrap: wrap; align-content: start; gap: var(--space-3) var(--space-5); }
.site-footer__nav a, .site-footer__legal a { font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.site-footer__nav a:hover, .site-footer__legal a:hover { color: var(--color-papaya); text-decoration: underline; }
.site-footer__legal { padding-block: var(--space-4); background: var(--color-mulberry); }
.site-footer__legal-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.site-footer__legal p { margin: 0; font-size: var(--text-utility); }
.site-footer__legal nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-3) var(--space-5); }
.site-consent { position: fixed; z-index: 900; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); width: min(100% - 2rem, 54rem); margin-inline: auto; padding: var(--space-4); border: 1px solid var(--color-line-warm); border-radius: var(--radius-card); background: var(--color-white); color: var(--color-ink); box-shadow: var(--shadow-raised); }
.site-consent[hidden] { display: none !important; }
.site-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.site-consent__copy { margin: 0; max-width: 42rem; font-size: var(--text-meta); line-height: var(--leading-meta); }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-consent__button { min-height: 2.65rem; padding: 0.6rem 0.85rem; font-size: 0.625rem; }
.site-consent__button--accept { border-color: var(--color-jade); background: var(--color-jade); color: var(--color-white); }
.site-consent__button--accept:hover { border-color: var(--color-jade-deep); background: var(--color-jade-deep); color: var(--color-white); }
.site-consent__button--reject { border-color: var(--color-line-warm); }
.site-consent__button--reject:hover { border-color: var(--color-ink); background: var(--color-ink); color: var(--color-white); }
.site-age-modal { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: var(--space-4); overflow-y: auto; background: rgb(14 68 59 / 88%); }
.site-age-modal[hidden] { display: none !important; }
.site-age-modal__panel { width: min(100%, 34rem); padding: clamp(var(--space-5), 5vw, var(--space-7)); border: 1px solid var(--color-line-warm); border-radius: var(--radius-panel); background: var(--color-cream); color: var(--color-ink); box-shadow: var(--shadow-raised); }
.site-age-modal__panel > * { margin-top: 0; }
.site-age-modal__eyebrow { margin-bottom: var(--space-3); color: var(--color-jade-deep); font-size: var(--text-utility); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.site-age-modal__panel h2 { margin-bottom: var(--space-3); font-size: clamp(2rem, 6vw, 3rem); }
.site-age-modal__panel p:not(.site-age-modal__eyebrow) { margin-bottom: var(--space-5); }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.site-age-modal__confirm { border-color: var(--color-papaya); border-radius: var(--radius-pill); background: var(--color-papaya); color: var(--color-white); }
.site-age-modal__confirm:hover { border-color: var(--color-papaya-hover); background: var(--color-papaya-hover); color: var(--color-white); }
.site-age-modal__decline { border-color: var(--color-jade-deep); color: var(--color-jade-deep); }
.site-age-modal__decline:hover { background: var(--color-jade-deep); color: var(--color-white); }
.site-consent button:focus-visible, .site-age-modal button:focus-visible { outline: 2px solid var(--color-jade-deep); outline-offset: 3px; }
@media (max-width: 800px) { .site-footer__arches { display: flex; overflow-x: auto; padding-bottom: var(--space-3); scroll-snap-type: x mandatory; } .site-footer__arch { min-width: 72%; scroll-snap-align: start; } .site-footer__details { grid-template-columns: 1fr; gap: var(--space-5); } }
@media (max-width: 640px) { .site-footer__main { padding-top: var(--space-8); } .site-footer__inner { gap: var(--space-6); } .site-footer__arch { min-height: 14rem; min-width: 82%; } .site-footer__legal-inner, .site-consent__inner { align-items: stretch; flex-direction: column; } .site-footer__legal nav { justify-content: flex-start; } .site-consent { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); width: auto; } .site-consent__actions { width: 100%; } .site-consent__button { flex: 1 1 12rem; } .site-age-modal__actions { flex-direction: column; } .site-age-modal__actions button { width: 100%; } }
