.site-header { position: relative; z-index: 80; min-height: 7.5rem; color: var(--color-pearl-050); }
.site-header__shell { position: absolute; z-index: 2; top: 0; right: 0; left: 0; border-bottom: 1px solid transparent; transition: background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base); }
.site-header.is-scrolled .site-header__shell, .site-header.is-menu-open .site-header__shell { position: fixed; border-bottom-color: var(--surface-glass-border); background: var(--surface-glass); box-shadow: var(--shadow-floating); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.site-header__bar { display: grid; min-height: 5.25rem; grid-template-columns: auto minmax(0,1fr) auto minmax(0,1fr) auto; align-items: center; gap: 1.25rem; }
.site-header__brand { display: inline-flex; min-width: 0; align-items: center; gap: .65rem; color: var(--color-pearl-050); text-decoration: none; white-space: nowrap; }
.site-header__logo { width: 2.625rem; height: 2.625rem; flex: 0 0 2.625rem; object-fit: contain; }
.site-header__brand-name { overflow: hidden; font-size: 1.125rem; font-weight: var(--weight-medium); letter-spacing: -.02em; text-overflow: ellipsis; }
.site-header__desktop-nav { min-width: 0; }
.site-header__desktop-nav ul, .site-header__utility { display: flex; margin: 0; padding: 0; list-style: none; align-items: center; gap: clamp(.7rem, 1.15vw, 1.35rem); }
.site-header__desktop-nav--restaurant { justify-self: end; }
.site-header__desktop-nav--casino { justify-self: start; }
.site-header__desktop-nav li { margin: 0; padding: 0; }
.site-header__desktop-nav a, .site-header__utility > a:not(.button) { position: relative; display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-pearl-200); font-size: .6875rem; font-weight: var(--weight-semibold); letter-spacing: .11em; line-height: 1.2; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-header__desktop-nav a::after { position: absolute; right: 0; bottom: .42rem; left: 0; height: 2px; background: var(--color-copper-500); content: ""; transform: scaleX(0); transform-origin: left; transition: transform var(--transition-fast); }
.site-header__desktop-nav a:hover, .site-header__desktop-nav a[aria-current="page"], .site-header__utility > a:not(.button):hover { color: var(--color-pearl-050); }
.site-header__desktop-nav a:hover::after, .site-header__desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-header__utility { justify-self: end; gap: .9rem; }
.site-header__utility > a:not(.button) { font-size: .6875rem; }
.site-header__cta { min-height: 2.75rem; padding: .55rem .85rem; font-size: .6875rem; white-space: nowrap; }
.site-header__status { margin: 0; padding: 0 1rem 1rem; color: var(--color-pearl-500); font-size: .625rem; font-weight: var(--weight-semibold); letter-spacing: .14em; line-height: 1.2; text-align: center; text-transform: uppercase; }
.site-header__status span { color: var(--color-copper-500); margin-inline: .25rem; }
.site-header__toggle { display: none; width: 3rem; min-height: 3rem; align-items: center; justify-content: center; border: 1px solid var(--color-border); background: rgba(17,20,23,.55); color: var(--color-pearl-050); padding: .75rem; }
.site-header__toggle span { display: block; width: 1.25rem; height: 1px; background: currentColor; transition: transform var(--transition-fast), opacity var(--transition-fast); }
.site-header__toggle span + span { margin-top: .3rem; }
.site-header.is-menu-open .site-header__toggle span:nth-child(1) { transform: translateY(.35rem) rotate(45deg); }
.site-header.is-menu-open .site-header__toggle span:nth-child(2) { opacity: 0; }
.site-header.is-menu-open .site-header__toggle span:nth-child(3) { transform: translateY(-.35rem) rotate(-45deg); }
.site-header__mobile-nav[hidden] { display: none !important; }
.site-header__mobile-nav { position: fixed; z-index: 1; top: 5.25rem; right: 0; left: 0; bottom: 0; overflow-y: auto; overflow-x: hidden; background: var(--color-graphite-950); border-top: 1px solid var(--color-border); }
.site-header__mobile-nav-inner { width: min(100%, 48rem); min-height: 100%; margin-inline: auto; padding: 1.5rem var(--gutter) 3rem; }
.site-header__selector { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--color-border); }
.site-header__selector button { min-height: 3rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--color-pearl-500); font-size: .75rem; font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-align: left; text-transform: uppercase; }
.site-header__selector button:last-child { text-align: right; }
.site-header__selector button.is-selected { border-bottom-color: var(--color-copper-500); color: var(--color-pearl-050); }
.site-header__mobile-panel { padding-top: 1.5rem; }
.site-header__mobile-preview { display: flex; height: 9rem; align-items: flex-end; margin-bottom: 1.5rem; background-position: center; background-size: cover; padding: 1rem; color: var(--color-pearl-050); font-size: .6875rem; font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.site-header__mobile-preview--restaurant { background-image: linear-gradient(var(--color-overlay-black), var(--color-overlay-black)), url('/src/media/restaurant-to-casino-evening.webp'); }
.site-header__mobile-preview--casino { background-image: linear-gradient(var(--color-overlay-black), var(--color-overlay-black)), url('/src/media/private-poker-table.webp'); }
.site-header__mobile-panel ul { display: grid; margin: 0; padding: 0; list-style: none; }
.site-header__mobile-panel li { margin: 0; border-bottom: 1px solid var(--color-border); padding: 0; }
.site-header__mobile-panel a { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; color: var(--color-pearl-050); font-size: var(--font-size-16); text-decoration: none; }
.site-header__mobile-panel a::after { color: var(--color-copper-300); content: "→"; }
.site-header__mobile-utility { display: grid; gap: .5rem; margin-top: 2rem; }
.site-header__mobile-utility > a:not(.button) { color: var(--color-pearl-200); font-size: var(--font-size-14); }
@media (max-width: 1300px) { .site-header__bar { gap: .8rem; } .site-header__desktop-nav ul { gap: .75rem; } .site-header__utility > a:not(.button) { display: none; } }
@media (max-width: 1120px) { .site-header { min-height: 5.25rem; } .site-header__bar { display: flex; min-height: 5.25rem; justify-content: space-between; } .site-header__desktop-nav, .site-header__utility, .site-header__status { display: none; } .site-header__toggle { display: inline-flex; flex: 0 0 3rem; flex-direction: column } .site-header__logo { width: 2.125rem; height: 2.125rem; flex-basis: 2.125rem; } .site-header__brand-name { font-size: 1rem; } }
@media (max-width: 479px) { .site-header__mobile-nav-inner { padding-inline: 1.25rem; } .site-header__brand-name { max-width: 10.5rem; } }
@media (prefers-reduced-motion: reduce) { .site-header__shell, .site-header__toggle span, .site-header__desktop-nav a::after { transition: none; } }