        *,
        *::before,
        *::after {
            margin: 0;
            padding: 0;
            box-sizing: border-box
        }
        
         :root {
            --black: #080808;
            --dark: #0E0E0E;
            --burgundy: #8B0020;
            --crimson: #A8001E;
            --gold: #C9A96E;
            --gold-l: #E8C98A;
            --gold-d: rgba(201, 169, 110, .22);
            --cream: #F0EAE0;
            --muted: #888070;
            --border: rgba(201, 169, 110, .12);
            --b-subtle: rgba(255, 255, 255, .05)
        }
        
        html {
            scroll-behavior: smooth
        }
        
        body {
            background: var(--black);
            color: var(--cream);
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            overflow-x: hidden;
            cursor: default
        }
        
        body.has-custom-cursor {
            cursor: none
        }
        
        body.has-custom-cursor a,
        body.has-custom-cursor button {
            cursor: none
        }
        
        body:not(.has-custom-cursor),
        body:not(.has-custom-cursor) a,
        body:not(.has-custom-cursor) button {
            cursor: auto !important
        }
        
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
            opacity: .022;
            pointer-events: none;
            z-index: 0
        }
        /* CURSOR */
        
        .cursor {
            display: none;
            position: fixed;
            width: 8px;
            height: 8px;
            background: var(--gold);
            border-radius: 50%;
            pointer-events: none;
            z-index: 2147483647;
            transform: translate3d(-120px, -120px, 0);
            transition: width .3s, height .3s
        }
        
        .cursor-r {
            display: none;
            position: fixed;
            width: 30px;
            height: 30px;
            border: 1px solid var(--gold-d);
            border-radius: 50%;
            pointer-events: none;
            z-index: 2147483646;
            transform: translate3d(-120px, -120px, 0)
        }
        
        body.has-custom-cursor .cursor,
        body.has-custom-cursor .cursor-r {
            display: block
        }
        /* ORNAMENT */
        
        .orn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 14px
        }
        
        .orn-l {
            flex: 1;
            max-width: 70px;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold-d))
        }
        
        .orn-r {
            flex: 1;
            max-width: 70px;
            height: 1px;
            background: linear-gradient(90deg, var(--gold-d), transparent)
        }
        
        .orn-d {
            color: var(--gold);
            font-size: 9px;
            opacity: .6;
            flex-shrink: 0
        }
        /* LABEL */
        
        .lbl {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 10px;
            letter-spacing: .4em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .8
        }
        /* NAV */
        
        nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 999999998;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            padding: 28px 60px;
            transition: all .5s
        }
        
        nav.sc {
            background: rgba(8, 8, 8, .98);
            backdrop-filter: blur(24px);
            padding: 18px 60px;
            border-bottom: 1px solid var(--border)
        }
        
        .nav-l,
        .nav-r {
            display: flex;
            gap: 32px;
            align-items: center
        }
        
        .nav-r {
            justify-content: flex-end
        }
        
        .nav-dropdown {
            position: relative;
            display: flex;
            align-items: center
        }
        
        .nav-drop-link {
            display: inline-flex;
            align-items: center;
            gap: 8px
        }
        
        .nav-drop-link::after {
            content: '▾';
            font-size: 10px;
            color: rgba(201, 169, 110, .7)
        }
        
        .nav-dropdown-menu {
            position: absolute;
            top: calc(100% + 18px);
            left: 0;
            min-width: 280px;
            padding: 18px 20px;
            background: rgba(8, 8, 8, .98);
            border: 1px solid var(--border);
            backdrop-filter: blur(18px);
            display: flex;
            flex-direction: column;
            gap: 12px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
            z-index: 20
        }
        
        .nav-dropdown:hover .nav-dropdown-menu,
        .nav-dropdown:focus-within .nav-dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0)
        }
        
        .nav-dropdown-menu a {
            font-family: 'Jost', sans-serif;
            font-weight: 400;
            font-size: 10px;
            letter-spacing: .24em;
            text-transform: uppercase;
            color: rgba(240, 234, 224, .76);
            text-decoration: none;
            transition: color .3s ease
        }
        
        .nav-dropdown-menu a:hover {
            color: var(--gold)
        }
        
        .nav-l a,
        .nav-r a:not(.nb) {
            font-family: 'Jost', sans-serif;
            font-weight: 400;
            font-size: 10px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--muted);
            text-decoration: none;
            transition: color .4s
        }
        
        .nav-l a:hover,
        .nav-r a:not(.nb):hover {
            color: var(--gold)
        }
        
        .nav-map-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            border: 0;
            background: transparent;
            opacity: .82;
            transition: opacity .3s ease, transform .3s ease
        }
        
        .nav-map-link:hover {
            opacity: 1;
            transform: translateY(-1px)
        }
        
        .nav-map-link img {
            width: 32px;
            height: 32px;
            display: block
        }
        
        .nav-center {
            text-align: center;
            line-height: 0
        }
        
        .nav-logo {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none
        }
        
        .nav-logo img {
            display: block;
            width: clamp(150px, 16vw, 190px);
            height: auto
        }
        
        .nav-sub {
            font-family: 'Fahkwang', sans-serif;
            font-weight: 500;
            font-size: 8px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .55;
            margin-top: 4px;
            line-height: 1.2
        }
        
        .nb {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 9px;
            letter-spacing: .28em;
            text-transform: uppercase;
            border: 1px solid var(--border);
            color: var(--gold);
            padding: 10px 22px;
            text-decoration: none;
            cursor: none;
            transition: all .4s;
            position: relative;
            overflow: hidden
        }
        
        .nb::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--gold);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .4s cubic-bezier(.77, 0, .18, 1)
        }
        
        .nb:hover::before {
            transform: scaleX(1)
        }
        
        .nb:hover {
            color: var(--black)
        }
        
        .nb span {
            position: relative;
            z-index: 1
        }
        
        .hamburger {
            display: none;
            position: relative;
            justify-content: center;
            align-items: center;
            width: 44px;
            height: 44px;
            cursor: none;
            background: rgba(8, 8, 8, .72);
            border: 1px solid var(--gold-d);
            border-radius: 999px;
            padding: 0;
            backdrop-filter: blur(12px);
            z-index: 999999999
        }
        
        .hamburger span {
            position: absolute;
            display: block;
            width: 18px;
            height: 1.5px;
            background: var(--gold);
            transform-origin: center;
            transition: transform .35s ease, opacity .25s ease, background .25s ease
        }
        
        .hamburger span:nth-child(1) {
            transform: translateY(-6px)
        }
        
        .hamburger span:nth-child(2) {
            transform: translateY(0)
        }
        
        .hamburger span:nth-child(3) {
            transform: translateY(6px)
        }
        
        .hamburger.open {
            background: rgba(201, 169, 110, .1);
            border-color: rgba(201, 169, 110, .4)
        }
        
        .hamburger.open span:nth-child(1) {
            transform: rotate(45deg)
        }
        
        .hamburger.open span:nth-child(2) {
            opacity: 0;
            transform: scaleX(.2)
        }
        
        .hamburger.open span:nth-child(3) {
            transform: rotate(-45deg)
        }
        
        .mobile-menu {
            position: fixed;
            inset: 0;
            font-weight: 400;
            background: rgba(8, 8, 8, .99);
            z-index: 150;
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 32px;
            transform: translateX(101%);
            transition: transform .45s cubic-bezier(.77, 0, .18, 1)
        }
        
        .mobile-menu.open {
            transform: translateX(0)
        }
        
        .mobile-menu a {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 400;
            font-size: 36px;
            color: var(--cream);
            text-decoration: none;
            transition: color .3s
        }
        
        .mobile-menu a:hover {
            color: var(--gold)
        }
        
        .mobile-menu .mm-btn {
            font-family: 'Jost', sans-serif;
            font-style: normal;
            font-size: 12px;
            letter-spacing: .25em;
            text-transform: uppercase;
            background: transparent;
            border: 1px solid var(--border);
            color: var(--gold);
            padding: 14px 40px;
            margin-top: 8px
        }
        
        .mm-group {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px
        }
        
        .mm-heading {
            margin-bottom: 2px
        }
        
        .mm-sublinks {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px
        }
        
        .mm-sublinks a {
            font-family: 'Jost', sans-serif;
            font-style: normal;
            font-size: 12px;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: rgba(240, 234, 224, .62)
        }
        /* REVEAL */
        
        .rv {
            opacity: 0;
            transform: translateY(22px);
            transition: opacity 1.1s cubic-bezier(.22, 1, .36, 1), transform 1.1s cubic-bezier(.22, 1, .36, 1)
        }
        
        .rv.vis {
            opacity: 1;
            transform: none
        }
        
        .d1 {
            transition-delay: .12s
        }
        
        .d2 {
            transition-delay: .25s
        }
        
        .d3 {
            transition-delay: .4s
        }
        
        .d4 {
            transition-delay: .55s
        }
        
        .d5 {
            transition-delay: .7s
        }
        /* HERO */
        
        #hero {
            position: relative;
            height: 100vh;
            min-height: 600px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden
        }
        
        .h-split {
            position: absolute;
            inset: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            pointer-events: none
        }
        
        .h-panel {
            position: relative;
            background: #080808;
            overflow: hidden;
            contain: paint
        }
        
        .h-panel::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(8, 8, 8, .5) 0%, rgba(8, 8, 8, .64) 48%, rgba(8, 8, 8, .84) 100%), radial-gradient(circle at center, rgba(201, 169, 110, .08) 0%, transparent 60%);
            opacity: 1;
            z-index: 1;
            transition: opacity .45s ease
        }
        
        .h-panel::after {
            content: '';
            position: absolute;
            inset: -2%;
            background-image: var(--panel-image);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            transform: scale(1.02) translateZ(0);
            transform-origin: center;
            opacity: .92;
            transition: transform .75s cubic-bezier(.22, 1, .36, 1), opacity .4s ease;
            will-change: transform, opacity;
            backface-visibility: hidden
        }
        
        .h-panel--restaurant {
            --panel-image: url("../img/floor1-main.jpg")
        }
        
        .h-panel--lounge {
            --panel-image: url("../img/floor2-main.jpg")
        }
        
        #hero.is-restaurant-active .h-panel--restaurant::after,
        #hero.is-lounge-active .h-panel--lounge::after {
            transform: scale(1.05) translateZ(0);
            opacity: 1
        }
        
        #hero.is-restaurant-active .h-panel--restaurant::before,
        #hero.is-lounge-active .h-panel--lounge::before {
            opacity: .52
        }
        
        #hero.is-restaurant-active .h-panel--lounge::after,
        #hero.is-lounge-active .h-panel--restaurant::after {
            transform: scale(1.01) translateZ(0);
            opacity: .78
        }
        
        #hero.is-restaurant-active .h-panel--lounge::before,
        #hero.is-lounge-active .h-panel--restaurant::before {
            opacity: .92
        }
        
        .h-divider {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 1px;
            transform: translateX(-50%);
            background: linear-gradient(180deg, transparent 0%, rgba(201, 169, 110, .28) 16%, rgba(201, 169, 110, .28) 84%, transparent 100%);
            z-index: 1;
            pointer-events: none
        }
        
        .h-bg-glow {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 80vw;
            height: 70vh;
            background: radial-gradient(ellipse, rgba(139, 0, 32, .15) 0%, transparent 65%);
            pointer-events: none;
            animation: gb 7s ease-in-out infinite
        }
        
        @keyframes gb {
            0%,
            100% {
                opacity: .6;
                transform: translate(-50%, -50%) scale(1)
            }
            50% {
                opacity: 1;
                transform: translate(-50%, -50%) scale(1.1)
            }
        }
        
        .h-corners {
            position: absolute;
            inset: 40px;
            pointer-events: none
        }
        
        .hc {
            position: absolute;
            width: 36px;
            height: 36px
        }
        
        .hc-tl {
            top: 0;
            left: 0;
            border-top: 1px solid var(--gold-d);
            border-left: 1px solid var(--gold-d)
        }
        
        .hc-tr {
            top: 0;
            right: 0;
            border-top: 1px solid var(--gold-d);
            border-right: 1px solid var(--gold-d)
        }
        
        .hc-bl {
            bottom: 0;
            left: 0;
            border-bottom: 1px solid var(--gold-d);
            border-left: 1px solid var(--gold-d)
        }
        
        .hc-br {
            bottom: 0;
            right: 0;
            border-bottom: 1px solid var(--gold-d);
            border-right: 1px solid var(--gold-d)
        }
        
        .h-content {
            position: relative;
            z-index: 2;
            width: 100%;
            padding: 0 40px
        }
        
        .h-copy {
            display: flex;
            flex-direction: column;
            align-items: center
        }
        
        .h-loc {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 10px;
            letter-spacing: .42em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: 0;
            margin-bottom: 22px;
            animation: fi 1.2s ease .3s forwards
        }
        
        .h-orn {
            opacity: 0;
            margin-bottom: 26px;
            animation: fi 1s ease .6s forwards
        }
        
        .h-title {
            font-family: 'Fahkwang', sans-serif;
            font-style: normal;
            font-weight: 600;
            font-size: clamp(72px, 12vw, 170px);
            line-height: .9;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: var(--cream);
            opacity: 0;
            transform: translateY(18px);
            animation: rU 1.4s cubic-bezier(.22, 1, .36, 1) .8s forwards
        }
        
        .h-tsub {
            font-family: 'Fahkwang', sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 18px;
            color: var(--gold);
            letter-spacing: .18em;
            opacity: 0;
            margin-top: 10px;
            animation: fi 1s ease 1.4s forwards
        }
        
        .h-orn2 {
            opacity: 0;
            margin: 26px auto;
            animation: fi 1s ease 1.6s forwards
        }
        
        .h-tag {
            font-family: 'Jost', sans-serif;
            font-weight: 400;
            font-size: 12px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: rgba(240, 234, 224, .82);
            text-shadow: 0 10px 22px rgba(8, 8, 8, .4);
            opacity: 0;
            animation: fi 1s ease 1.8s forwards;
            margin-bottom: 34px
        }
        
        .h-actions {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
            width: min(100%, 720px);
            margin: 0 auto
        }
        
        .h-btns {
            display: flex;
            gap: 36px;
            justify-content: space-between;
            align-items: center;
            flex-wrap: nowrap;
            width: 100%;
            opacity: 0;
            animation: fi 1s ease 2.1s forwards
        }
        
        .h-route-wrap {
            width: 100%;
            display: flex;
            justify-content: center;
            opacity: 0;
            animation: fi 1s ease 2.3s forwards
        }
        
        .btn-go {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .25em;
            text-transform: uppercase;
            border: 1px solid var(--gold);
            background: var(--gold);
            color: var(--black);
            padding: 15px 42px;
            text-decoration: none;
            cursor: none;
            transition: all .4s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 1 1 0;
            position: relative;
            overflow: hidden
        }
        
        .btn-go::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--gold-l);
            transform: translateX(-101%);
            transition: transform .4s cubic-bezier(.77, 0, .18, 1)
        }
        
        .btn-go:hover::before {
            transform: translateX(0)
        }
        
        .btn-go:hover {
            color: var(--black);
            border-color: var(--gold-l)
        }
        
        .btn-go span {
            position: relative;
            z-index: 1
        }
        
        .btn-bur {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .25em;
            text-transform: uppercase;
            background: var(--burgundy);
            border: 1px solid var(--burgundy);
            color: var(--cream);
            padding: 15px 42px;
            text-decoration: none;
            cursor: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 1 1 0;
            transition: background .4s
        }
        
        .btn-bur:hover {
            background: var(--crimson)
        }
        
        .btn-route {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .25em;
            text-transform: uppercase;
            border: 1px solid rgba(201, 169, 110, .26);
            background: rgba(8, 8, 8, .36);
            color: var(--gold);
            padding: 15px 42px;
            text-decoration: none;
            cursor: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: min(100%, 340px);
            transition: border-color .35s, color .35s, background .35s, transform .25s
        }
        
        .btn-route:hover {
            border-color: var(--gold);
            background: rgba(201, 169, 110, .08);
            color: var(--cream);
            transform: translateY(-1px)
        }

        .h-menu-wrap {
            width: 100%;
            display: flex;
            justify-content: center;
            opacity: 0;
            animation: fi 1s ease 2.2s forwards
        }

        .btn-menu-sm {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .25em;
            text-transform: uppercase;
            border: 1px solid rgba(201, 169, 110, .3);
            background: rgba(8, 8, 8, .36);
            color: var(--gold);
            padding: 15px 42px;
            text-decoration: none;
            cursor: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: min(100%, 340px);
            transition: border-color .35s, color .35s, background .35s
        }

        .btn-menu-sm:hover {
            border-color: var(--gold);
            background: rgba(201, 169, 110, .08);
            color: var(--cream)
        }

        .h-scr {
            position: absolute;
            bottom: 38px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            opacity: 0;
            animation: fi 1s ease 2.5s forwards
        }
        
        .h-scr span {
            font-family: 'Jost', sans-serif;
            font-size: 9px;
            letter-spacing: .38em;
            text-transform: uppercase;
            color: var(--muted)
        }
        
        .scr-v {
            width: 1px;
            height: 46px;
            background: linear-gradient(to bottom, var(--gold-d), transparent);
            position: relative;
            overflow: hidden
        }
        
        .scr-v::after {
            content: '';
            position: absolute;
            top: -46px;
            left: 0;
            width: 1px;
            height: 100%;
            background: linear-gradient(to bottom, var(--gold), transparent);
            animation: sd 2.5s ease infinite
        }
        
        @keyframes sd {
            0% {
                top: -46px
            }
            100% {
                top: 100%
            }
        }
        
        @keyframes fi {
            from {
                opacity: 0
            }
            to {
                opacity: 1
            }
        }
        
        @keyframes rU {
            from {
                opacity: 0;
                transform: translateY(18px)
            }
            to {
                opacity: 1;
                transform: none
            }
        }
        /* CONCEPT */
        
        #concept {
            padding: 110px 60px;
            text-align: center;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .con-inner {
            max-width: 760px;
            margin: 0 auto
        }
        
        .con-quote {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 300;
            font-size: clamp(24px, 3.2vw, 40px);
            line-height: 1.5;
            color: var(--cream);
            margin: 28px 0
        }
        
        .con-quote em {
            color: var(--gold);
            font-style: italic
        }
        
        .con-stats {
            display: flex;
            justify-content: center;
            gap: 60px;
            margin-top: 40px;
            flex-wrap: wrap
        }
        
        .cs-n {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 48px;
            color: var(--cream);
            line-height: 1
        }
        
        .cs-n span {
            font-size: 24px;
            color: var(--gold)
        }
        
        .cs-l {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 10px;
            letter-spacing: .3em;
            text-transform: uppercase;
            color: var(--muted);
            margin-top: 6px
        }
        /* GALLERY */
        
        #gallery {
            padding: 100px 0;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1;
            overflow: hidden
        }
        
        .gal-head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            padding: 0 60px;
            margin-bottom: 44px
        }
        
        .gal-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(32px, 4vw, 52px);
            line-height: 1.05
        }
        
        .gal-controls {
            display: flex;
            align-items: center;
            gap: 8px
        }
        
        .gal-btn {
            width: 46px;
            height: 46px;
            border: 1px solid var(--border);
            background: none;
            color: var(--gold);
            font-size: 16px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all .4s
        }
        
        .gal-btn:hover {
            border-color: var(--gold)
        }
        
        .gal-track-wrap {
            overflow: hidden;
            padding: 0 60px
        }
        
        .gal-track {
            display: flex;
            gap: 20px;
            transition: transform .65s cubic-bezier(.77, 0, .18, 1);
            will-change: transform;
            transform: translate3d(0, 0, 0)
        }
        
        .gal-card {
            min-width: calc(33.333% - 14px);
            position: relative;
            overflow: hidden;
            height: 340px;
            flex-shrink: 0;
            border: 1px solid var(--border)
        }
        
        .gal-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold-d), transparent);
            z-index: 2
        }
        
        .gal-card-vis {
            width: 100%;
            height: 100%;
            transition: transform .5s ease
        }
        
        .gal-card:hover .gal-card-vis {
            transform: scale(1.04)
        }
        
        .gv1 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .1) 0%, rgba(8, 8, 8, .46) 100%), url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .gv2 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .12) 0%, rgba(8, 8, 8, .5) 100%), url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .gv3 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .46) 100%), url("../img/floor2-window-tables.jpg") center/cover no-repeat
        }
        
        .gv4 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .1) 0%, rgba(8, 8, 8, .5) 100%), url("../img/floor2-vip-1.jpg") center/cover no-repeat
        }
        
        .gv5 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .48) 100%), url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .gv6 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .48) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }

        .gv7 {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .46) 100%), url("../img/kids-room.png") center/cover no-repeat
        }
        
        .gal-card-info {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 24px;
            background: linear-gradient(transparent, rgba(8, 8, 8, .88))
        }
        
        .gc-label {
            font-family: 'Jost', sans-serif;
            font-size: 9px;
            letter-spacing: .35em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .7;
            display: block;
            margin-bottom: 5px
        }
        
        .gc-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 18px;
            color: var(--cream)
        }
        
        .gal-dots {
            display: flex;
            justify-content: center;
            gap: 6px;
            margin-top: 32px;
            padding: 0 60px
        }
        
        .gal-dot {
            width: 6px;
            height: 6px;
            background: var(--border);
            border-radius: 50%;
            cursor: none;
            transition: all .3s;
            border: none
        }
        
        .gal-dot.act {
            background: var(--gold);
            width: 22px;
            border-radius: 3px
        }
        /* FLOOR SECTIONS */
        
        .floor-sec {
            display: grid;
            grid-template-columns: 1fr 1fr;
            min-height: 88vh;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .floor-sec.rev .fv {
            order: 2
        }
        
        .floor-sec.rev .fc {
            order: 1
        }
        
        .fv {
            position: relative;
            overflow: hidden
        }
        
        .fv-rest {
            background: linear-gradient(180deg, rgba(8, 8, 8, .1) 0%, rgba(8, 8, 8, .58) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .fv-lounge {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-main.jpg") center/cover no-repeat
        }
        
        .fv-frame {
            position: absolute;
            inset: 26px;
            border: 1px solid var(--border)
        }
        
        .fv-frame::before {
            content: '◆';
            position: absolute;
            top: -7px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 8px;
            color: var(--gold);
            opacity: .4;
            background: var(--black);
            padding: 0 6px
        }
        
        .fv-ghost {
            position: absolute;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: 250px;
            color: transparent;
            pointer-events: none;
            line-height: 1
        }
        
        .fv-ghost-r {
            bottom: -20px;
            right: -10px;
            -webkit-text-stroke: 1px rgba(201, 169, 110, .06)
        }
        
        .fv-ghost-l {
            top: 40px;
            left: 20px;
            font-size: 120px;
            -webkit-text-stroke: 1px rgba(201, 169, 110, .06)
        }
        
        .fv-ftag {
            position: absolute;
            bottom: 40px;
            left: 40px;
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 9px;
            letter-spacing: .38em;
            text-transform: uppercase;
            color: rgba(201, 169, 110, .35);
            display: flex;
            align-items: center;
            gap: 10px
        }
        
        .fv-ftag::before {
            content: '';
            width: 14px;
            height: 1px;
            background: rgba(201, 169, 110, .2)
        }
        
        .fc {
            padding: 80px 64px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: var(--dark)
        }
        
        .fc-tag {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 22px
        }
        
        .fc-tag-l {
            width: 22px;
            height: 1px;
            background: var(--gold);
            opacity: .5
        }
        
        .fc-tag-t {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 10px;
            letter-spacing: .38em;
            text-transform: uppercase;
            color: var(--gold)
        }
        
        .fc-orn {
            justify-content: flex-start;
            margin-bottom: 24px
        }
        
        .fc-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(38px, 4.2vw, 64px);
            line-height: 1.05;
            margin-bottom: 8px
        }
        
        .fc-sub {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 10px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .65;
            margin-bottom: 24px
        }
        
        .fc-desc {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 15px;
            line-height: 1.85;
            color: rgba(240, 234, 224, .58);
            max-width: 370px;
            margin-bottom: 36px
        }
        
        .mtable {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 44px
        }
        
        .mtable tr {
            border-bottom: 1px solid rgba(201, 169, 110, .1)
        }
        
        .mtable tr:first-child {
            border-top: 1px solid rgba(201, 169, 110, .1)
        }
        
        .mtable td {
            padding: 13px 0;
            font-size: 14px
        }
        
        .mtable td:first-child {
            color: rgba(240, 234, 224, .72);
            font-weight: 300
        }
        
        .mtable td:last-child {
            text-align: right;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 17px;
            color: var(--gold)
        }
        
        .feat-list {
            margin-bottom: 44px
        }
        
        .fi {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 11px 0;
            border-bottom: 1px solid rgba(201, 169, 110, .1);
            font-size: 14px;
            color: rgba(240, 234, 224, .65)
        }
        
        .fi:first-child {
            border-top: 1px solid rgba(201, 169, 110, .1)
        }
        
        .fi-d {
            color: var(--gold);
            font-size: 8px;
            opacity: .75;
            flex-shrink: 0
        }
        
        .btn-c {
            font-family: 'Jost', sans-serif;
            font-weight: 400;
            font-size: 10px;
            letter-spacing: .28em;
            text-transform: uppercase;
            border: 1px solid rgba(201, 169, 110, .26);
            background: rgba(201, 169, 110, .08);
            color: var(--gold);
            min-height: 50px;
            padding: 0 28px;
            text-decoration: none;
            cursor: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: border-color .35s ease, color .35s ease, background .35s ease, transform .25s ease;
            position: relative;
            overflow: hidden
        }
        
        .btn-c::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--gold);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .4s cubic-bezier(.77, 0, .18, 1)
        }
        
        .btn-c:hover::before {
            transform: scaleX(1)
        }
        
        .btn-c:hover {
            color: var(--black);
            border-color: rgba(201, 169, 110, .42);
            transform: translateY(-1px)
        }
        
        .btn-c span {
            position: relative;
            z-index: 1
        }
        
        .mtable-btn-row {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            align-items: center;
        }
        
        .btn-c--ghost {
            background: transparent;
            border-color: rgba(201, 169, 110, .2);
        }
        
        .btn-c--ghost::before {
            background: rgba(201, 169, 110, .08);
        }
        
        .btn-c--ghost:hover {
            border-color: rgba(201, 169, 110, .42);
            color: var(--gold)
        }
        /* KIDS ROOM */
        
        #kids-room {
            padding: 100px 60px;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .kr-inner {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 64px;
            align-items: center
        }
        
        .kr-media {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--border)
        }
        
        .kr-img {
            width: 100%;
            height: 420px;
            object-fit: cover;
            display: block
        }
        
        .kr-content {
            max-width: 520px
        }
        
        .kr-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(38px, 4vw, 58px);
            line-height: 1.05;
            margin-bottom: 20px
        }
        
        .kr-desc {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 15px;
            line-height: 1.85;
            color: rgba(240, 234, 224, .58);
            margin-bottom: 28px
        }
        
        .kr-features {
            display: flex;
            flex-direction: column;
            gap: 12px
        }
        
        .kr-fi {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: 14px;
            color: rgba(240, 234, 224, .65)
        }
        
        .kr-fi .fi-d {
            color: var(--gold);
            font-size: 8px;
            opacity: .75;
            flex-shrink: 0
        }
        /* EVENTS */
        
        #events {
            padding: 100px 60px;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .ev-head {
            margin-bottom: 52px;
            text-align: center
        }
        
        .ev-head-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(32px, 4vw, 52px);
            margin-top: 16px
        }
        
        .ev-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1px;
            background: var(--border)
        }
        
        .ev-card {
            background: var(--dark);
            padding: 44px 36px;
            position: relative;
            transition: background .3s
        }
        
        .ev-card:hover {
            background: #121212
        }
        
        .ev-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold-d), transparent);
            opacity: 0;
            transition: opacity .4s
        }
        
        .ev-card:hover::before {
            opacity: 1
        }
        
        .ev-roman {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 56px;
            color: transparent;
            -webkit-text-stroke: 1px var(--border);
            line-height: 1;
            margin-bottom: 16px
        }
        
        .ev-card:hover .ev-roman {
            -webkit-text-stroke-color: rgba(201, 169, 110, .25)
        }
        
        .ev-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: 24px;
            margin-bottom: 14px
        }
        
        .ev-desc {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 14px;
            line-height: 1.8;
            color: rgba(240, 234, 224, .5);
            margin-bottom: 26px
        }
        
        .ev-link {
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: var(--gold);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: gap .3s;
            opacity: .75
        }
        
        .ev-link:hover {
            gap: 14px;
            opacity: 1
        }
        /* REVIEWS */
        
        #reviews {
            padding: 100px 60px;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .rv-head {
            text-align: center;
            margin-bottom: 52px
        }
        
        .rv-head-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(32px, 4vw, 52px);
            margin-top: 16px
        }
        
        .rv-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px
        }
        
        .rv-slider {
            max-width: 1180px;
            margin: 0 auto
        }
        
        .rv-viewport {
            overflow: hidden
        }
        
        .rv-track {
            display: flex;
            transition: transform .55s cubic-bezier(.22, 1, .36, 1);
            will-change: transform;
            transform: translate3d(0, 0, 0)
        }
        
        .rv-slide {
            flex: 0 0 100%;
            min-width: 100%
        }
        
        .rv-slide-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 22px
        }
        
        .rv-card {
            border: 1px solid var(--border);
            padding: 34px;
            position: relative;
            min-height: 100%;
            background: linear-gradient(180deg, rgba(18, 18, 18, .96) 0%, rgba(10, 10, 10, .96) 100%)
        }
        
        .rv-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold-d), transparent)
        }
        
        .rv-stars {
            color: var(--gold);
            font-size: 13px;
            letter-spacing: 3px;
            margin-bottom: 16px;
            opacity: .8
        }
        
        .rv-text {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 18px;
            line-height: 1.62;
            color: rgba(240, 234, 224, .75);
            margin-bottom: 22px
        }
        
        .rv-author {
            font-family: 'Jost', sans-serif;
            font-size: 11px;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: var(--cream);
            font-weight: 400
        }
        
        .rv-date {
            font-family: 'Jost', sans-serif;
            font-size: 11px;
            color: var(--muted);
            margin-top: 3px
        }
        
        .rv-controls {
            margin-top: 26px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px
        }
        
        .rv-nav {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            border: 1px solid rgba(201, 170, 113, .32);
            background: rgba(14, 14, 14, .92);
            color: var(--cream);
            font-size: 20px;
            cursor: pointer;
            transition: border-color .3s, color .3s, transform .3s
        }
        
        .rv-nav:hover {
            border-color: var(--gold);
            color: var(--gold);
            transform: translateY(-2px)
        }
        
        .rv-dots {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            flex: 1
        }
        
        .booking-modal {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background: rgba(8, 8, 8, .64);
            backdrop-filter: blur(12px);
            opacity: 0;
            visibility: hidden;
            transition: opacity .28s ease, visibility .28s ease;
            z-index: 140
        }
        
        .booking-modal.is-open {
            opacity: 1;
            visibility: visible
        }
        
        .booking-modal-card {
            width: min(460px, 100%);
            padding: 34px 30px 30px;
            background: rgba(10, 10, 10, .98);
            border: 1px solid rgba(201, 169, 110, .2);
            position: relative;
            text-align: center;
            box-shadow: 0 24px 80px rgba(0, 0, 0, .45)
        }
        
        .booking-modal-kicker {
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .26em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .82;
            margin-bottom: 16px
        }
        
        .booking-modal-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(34px, 4vw, 52px);
            line-height: 1.04;
            margin-bottom: 14px
        }
        
        .booking-modal-text {
            font-size: 15px;
            line-height: 1.8;
            color: rgba(240, 234, 224, .68);
            margin-bottom: 24px
        }
        
        .booking-modal-number {
            display: inline-block;
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(32px, 4vw, 44px);
            line-height: 1;
            color: var(--cream);
            text-decoration: none;
            margin-bottom: 22px
        }
        
        .booking-modal-actions {
            display: flex;
            justify-content: center;
            gap: 12px;
            flex-wrap: wrap
        }
        
        .booking-modal-call,
        .booking-modal-close {
            min-width: 180px;
            min-height: 52px;
            padding: 0 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            border: 1px solid rgba(201, 169, 110, .26);
            background: transparent;
            color: var(--cream);
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            font-weight: 400;
            letter-spacing: .24em;
            text-transform: uppercase;
            cursor: pointer;
            transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease
        }
        
        .booking-modal-call {
            background: rgba(201, 169, 110, .1);
            color: var(--gold)
        }
        
        .booking-modal-call:hover,
        .booking-modal-close:hover {
            border-color: var(--gold);
            transform: translateY(-1px)
        }
        
        body.booking-modal-open {
            overflow: hidden
        }
        
        .rv-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            border: 0;
            padding: 0;
            background: rgba(240, 234, 224, .2);
            cursor: pointer;
            transition: transform .3s, background-color .3s
        }
        
        .rv-dot.act {
            background: var(--gold);
            transform: scale(1.15)
        }
        /* SEO */
        
        #seo {
            padding: 90px 60px;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .seo-inner {
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            gap: 80px;
            align-items: start
        }
        
        .seo-h2 {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(26px, 2.8vw, 40px);
            line-height: 1.2;
            margin-bottom: 20px
        }
        
        .seo-h2 em {
            color: var(--gold);
            font-style: italic
        }
        
        .seo-orn {
            margin: 20px 0 0;
            justify-content: flex-start
        }
        
        .seo-orn .orn-l {
            max-width: 40px
        }
        
        .seo-p {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 15px;
            line-height: 1.88;
            color: rgba(240, 234, 224, .55);
            margin-bottom: 18px
        }
        
        .seo-p:last-child {
            margin-bottom: 0
        }
        
        .seo-p strong {
            color: rgba(240, 234, 224, .82);
            font-weight: 400
        }
        /* BOOKING */
        
        #booking {
            padding: 130px 60px;
            text-align: center;
            position: relative;
            z-index: 1;
            background: var(--dark)
        }
        
        .bk-frame {
            position: absolute;
            inset: 44px;
            border: 1px solid var(--border);
            pointer-events: none
        }
        
        .bk-frame::before {
            content: '◆';
            position: absolute;
            top: -7px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 9px;
            color: var(--gold);
            opacity: .5;
            background: var(--dark);
            padding: 0 8px
        }
        
        .bk-frame::after {
            content: '◆';
            position: absolute;
            bottom: -7px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 9px;
            color: var(--gold);
            opacity: .5;
            background: var(--dark);
            padding: 0 8px
        }
        
        .bk-inner {
            position: relative;
            z-index: 1;
            max-width: 580px;
            margin: 0 auto
        }
        
        .bk-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(48px, 7vw, 88px);
            line-height: .95;
            margin: 24px 0 14px
        }
        
        .bk-sub {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 11px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 48px
        }
        
        .bk-ph {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 14px;
            letter-spacing: .1em;
            border: 1px solid rgba(201, 169, 110, .35);
            color: var(--gold);
            padding: 19px 56px;
            text-decoration: none;
            display: inline-block;
            cursor: none;
            transition: all .4s;
            position: relative;
            overflow: hidden
        }
        
        .bk-ph::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--gold);
            transform: translateY(101%);
            transition: transform .4s cubic-bezier(.77, 0, .18, 1)
        }
        
        .bk-ph:hover::before {
            transform: translateY(0)
        }
        
        .bk-ph:hover {
            color: var(--black)
        }
        
        .bk-ph span {
            position: relative;
            z-index: 1
        }
        /* FOOTER */
        
        footer {
            padding: 64px 60px 40px;
            border-top: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .ft-top {
            display: grid;
            grid-template-columns: 1.2fr 1fr 1fr 1fr;
            gap: 36px;
            margin-bottom: 52px;
            align-items: start
        }
        
        .ft-brand {
            display: flex;
            flex-direction: column;
            gap: 18px
        }
        
        .ft-logo {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            text-decoration: none;
            color: var(--gold)
        }
        
        .ft-logo img {
            width: clamp(142px, 13vw, 182px);
            height: auto;
            display: block
        }
        
        .ft-brand-copy {
            max-width: 280px;
            font-size: 13px;
            line-height: 1.8;
            color: rgba(240, 234, 224, .44)
        }
        
        .ft-nav-col {
            display: flex;
            flex-direction: column;
            gap: 14px
        }
        
        .ft-links {
            display: grid;
            gap: 12px
        }
        
        .ft-links a {
            color: rgba(240, 234, 224, .56);
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-size: 12px;
            line-height: 1.5;
            transition: color .3s ease
        }
        
        .ft-links a:hover {
            color: var(--gold)
        }
        
        .ft-badge-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 6px
        }
        
        .ft-map-badge {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 10px 14px;
            border: 1px solid var(--border);
            background: rgba(255, 255, 255, .02);
            color: var(--gold);
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .22em;
            text-transform: uppercase;
            transition: border-color .3s ease, color .3s ease, background .3s ease
        }
        
        .ft-map-badge:hover {
            border-color: rgba(201, 169, 110, .48);
            color: var(--cream);
            background: rgba(201, 169, 110, .08)
        }
        
        .ft-map-badge img {
            width: 22px;
            height: 22px;
            display: block
        }
        
        .ft-contact-link {
            color: rgba(240, 234, 224, .72);
            text-decoration: none;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 28px;
            line-height: 1.1;
            transition: color .3s ease
        }
        
        .ft-contact-link:hover {
            color: var(--gold)
        }
        
        .ft-label {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 9px;
            letter-spacing: .38em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .65;
            margin-bottom: 14px
        }
        
        .ft-info {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 14px;
            line-height: 1.9;
            color: rgba(240, 234, 224, .38)
        }
        
        .ft-schedule {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-top: 4px
        }
        
        .ft-sched-row {
            display: flex;
            justify-content: space-between;
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 13px;
            line-height: 1.6;
            color: rgba(240, 234, 224, .5)
        }
        
        .ft-sched-row span:last-child {
            color: rgba(240, 234, 224, .7)
        }
        
        .ft-mid {
            text-align: center
        }
        
        .ft-mid-sub {
            font-family: 'Fahkwang', sans-serif;
            font-weight: 500;
            font-size: 9px;
            letter-spacing: .26em;
            text-transform: uppercase;
            color: var(--muted);
            opacity: .5;
            margin-top: 6px
        }
        
        .ft-bottom {
            border-top: 1px solid var(--border);
            padding-top: 28px;
            display: flex;
            justify-content: space-between;
            align-items: center
        }
        
        .ft-copy {
            font-family: 'Jost', sans-serif;
            font-weight: 200;
            font-size: 9px;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: var(--muted);
            opacity: .5
        }
        
        .ft-hours {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 14px;
            color: var(--gold);
            opacity: .65
        }
        
        .floating-cta {
            position: fixed;
            right: 24px;
            bottom: 24px;
            z-index: 140;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 12px;
            opacity: 0;
            transform: translateY(18px);
            pointer-events: none;
            transition: opacity .4s ease, transform .4s ease
        }
        
        .floating-cta.is-visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto
        }
        
        .floating-cta-panel {
            width: min(280px, calc(100vw - 32px));
            padding: 18px;
            border: 1px solid rgba(201, 169, 110, .18);
            background: rgba(8, 8, 8, .94);
            backdrop-filter: blur(20px);
            box-shadow: 0 24px 44px rgba(0, 0, 0, .28);
            opacity: 0;
            visibility: hidden;
            transform: translateY(12px) scale(.98);
            transform-origin: bottom right;
            transition: opacity .28s ease, transform .28s ease, visibility .28s ease
        }
        
        .floating-cta.is-open .floating-cta-panel {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1)
        }
        
        .floating-cta-label {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 9px;
            letter-spacing: .32em;
            text-transform: uppercase;
            color: rgba(201, 169, 110, .72);
            margin-bottom: 10px
        }
        
        .floating-cta-number {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 30px;
            line-height: 1;
            color: var(--cream);
            margin-bottom: 14px
        }
        
        .floating-cta-call {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 46px;
            border: 1px solid rgba(201, 169, 110, .28);
            background: rgba(201, 169, 110, .08);
            color: var(--gold);
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .24em;
            text-transform: uppercase;
            transition: border-color .3s ease, color .3s ease, background .3s ease
        }
        
        .floating-cta-call:hover {
            border-color: rgba(201, 169, 110, .48);
            color: var(--cream);
            background: rgba(201, 169, 110, .14)
        }
        
        .floating-cta-actions {
            display: flex;
            align-items: center;
            gap: 10px
        }
        
        .floating-route,
        .floating-phone-btn {
            border: 1px solid rgba(201, 169, 110, .2);
            background: rgba(8, 8, 8, .92);
            backdrop-filter: blur(16px);
            color: var(--gold);
            box-shadow: 0 16px 36px rgba(0, 0, 0, .24)
        }
        
        .floating-route {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 54px;
            padding: 0 24px;
            border-radius: 999px;
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .24em;
            text-transform: uppercase;
            transition: border-color .35s ease, color .35s ease, background .35s ease, transform .35s ease
        }
        
        .floating-route:hover {
            border-color: rgba(201, 169, 110, .5);
            color: var(--cream);
            background: rgba(201, 169, 110, .1);
            transform: translateY(-1px)
        }
        
        .floating-phone-btn {
            width: 54px;
            height: 54px;
            border-radius: 50%;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: none;
            transition: border-color .35s ease, color .35s ease, background .35s ease, transform .35s ease
        }
        
        .floating-phone-btn:hover,
        .floating-cta.is-open .floating-phone-btn {
            border-color: rgba(201, 169, 110, .5);
            color: var(--cream);
            background: rgba(201, 169, 110, .1);
            transform: translateY(-1px)
        }
        
        .floating-phone-btn svg {
            width: 18px;
            height: 18px;
            fill: currentColor
        }
        
        .floating-cta a,
        .floating-cta button {
            cursor: none
        }
        
        .page-main {
            padding-top: 110px
        }
        
        .page-hero {
            position: relative;
            min-height: clamp(500px, calc(100svh - 110px), 680px);
            padding: 142px 60px 72px;
            display: flex;
            align-items: flex-end;
            overflow: hidden;
            background-color: var(--black);
            background-position: center;
            isolation: isolate;
            box-shadow: inset 0 -140px 140px rgba(8, 8, 8, .86)
        }
        
        .page-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(8, 8, 8, .2) 0%, rgba(8, 8, 8, .42) 28%, rgba(8, 8, 8, .68) 62%, rgba(8, 8, 8, .96) 100%);
            z-index: 0
        }
        
        .page-hero::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at center, rgba(201, 169, 110, .08) 0%, transparent 54%), linear-gradient(180deg, rgba(8, 8, 8, .04) 0%, rgba(8, 8, 8, 0) 42%, rgba(8, 8, 8, .76) 74%, rgba(8, 8, 8, .97) 90%, #080808 100%);
            z-index: 0
        }
        
        .page-hero+.page-section {
            position: relative;
            z-index: 2;
            margin-top: -46px;
            padding-top: 126px
        }
        
        .page-hero+.page-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 92px;
            background: linear-gradient(180deg, rgba(8, 8, 8, 0) 0%, rgba(8, 8, 8, .9) 56%, #080808 100%);
            pointer-events: none
        }
        
        .page-hero--restaurant {
            background: linear-gradient(180deg, rgba(8, 8, 8, .12) 0%, rgba(8, 8, 8, .48) 48%, rgba(8, 8, 8, .86) 100%), url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .page-hero--lounge {
            background: linear-gradient(180deg, rgba(8, 8, 8, .12) 0%, rgba(8, 8, 8, .5) 48%, rgba(8, 8, 8, .88) 100%), url("../img/floor2-photo.jpg") center/cover no-repeat
        }
        
        .page-hero--events {
            background: linear-gradient(180deg, rgba(8, 8, 8, .14) 0%, rgba(8, 8, 8, .54) 48%, rgba(8, 8, 8, .88) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .page-hero--delivery {
            background: linear-gradient(180deg, rgba(8, 8, 8, .14) 0%, rgba(8, 8, 8, .52) 48%, rgba(8, 8, 8, .88) 100%), url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .page-hero-inner {
            position: relative;
            z-index: 1;
            max-width: 700px
        }
        
        .page-hero-layout {
            position: relative;
            z-index: 1;
            width: 100%;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 280px;
            gap: 24px;
            align-items: end
        }
        
        .page-hero-copy {
            max-width: 680px;
            padding: 18px 20px 0 0
        }
        
        .page-hero-panel {
            display: grid;
            gap: 14px;
            align-self: end
        }
        
        .page-hero-card {
            padding: 18px;
            border: 1px solid rgba(201, 169, 110, .14);
            background: rgba(8, 8, 8, .76);
            backdrop-filter: blur(16px);
            box-shadow: 0 24px 44px rgba(0, 0, 0, .18)
        }
        
        .page-hero-card .info-meta {
            margin-bottom: 10px
        }
        
        .page-hero-card p {
            font-size: 14px;
            line-height: 1.75;
            color: rgba(240, 234, 224, .66)
        }
        
        .hero-chip-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 24px
        }
        
        .hero-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 36px;
            padding: 0 14px;
            border: 1px solid rgba(201, 169, 110, .18);
            background: rgba(255, 255, 255, .02);
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: rgba(240, 234, 224, .66)
        }
        
        .page-hero--restaurant {
            background: linear-gradient(96deg, rgba(8, 8, 8, .62) 0%, rgba(8, 8, 8, .24) 44%, rgba(8, 8, 8, .74) 100%), url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .page-hero--lounge {
            background: linear-gradient(96deg, rgba(8, 8, 8, .7) 0%, rgba(8, 8, 8, .22) 50%, rgba(8, 8, 8, .78) 100%), url("../img/floor2-photo.jpg") center/cover no-repeat
        }
        
        .page-kicker {
            font-family: 'Jost', sans-serif;
            font-weight: 300;
            font-size: 10px;
            letter-spacing: .36em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 16px
        }
        
        .page-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(38px, 4.9vw, 72px);
            line-height: 1.02;
            margin-bottom: 16px
        }
        
        .page-subtitle {
            max-width: 640px;
            font-size: 15px;
            line-height: 1.78;
            color: rgba(240, 234, 224, .74)
        }
        
        .page-cta-row {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-top: 34px
        }
        
        .page-section {
            padding: 96px 60px;
            border-bottom: 1px solid var(--border);
            position: relative;
            z-index: 1
        }
        
        .page-grid {
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            gap: 40px;
            align-items: start
        }
        
        .page-grid--equal {
            grid-template-columns: 1fr 1fr
        }
        
        .page-copy h2,
        .section-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(34px, 4vw, 56px);
            line-height: 1.06;
            margin-bottom: 14px
        }
        
        .page-copy p,
        .section-text,
        .faq-answer {
            font-size: 15px;
            line-height: 1.85;
            color: rgba(240, 234, 224, .68)
        }
        
        .page-copy p+p,
        .section-text+.section-text,
        .faq-item+.faq-item {
            margin-top: 16px
        }
        
        .page-panel,
        .info-card,
        .event-card-detailed,
        .faq-item {
            background: rgba(14, 14, 14, .92);
            border: 1px solid var(--border);
            padding: 28px
        }
        
        .page-media,
        .event-media {
            min-height: 380px;
            border: 1px solid var(--border);
            background-color: var(--black)
        }
        
        .page-media--restaurant {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .52) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .page-media--restaurant-secondary {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .52) 100%), url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .page-media--lounge {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .54) 100%), url("../img/floor2-table.jpg") center/cover no-repeat
        }
        
        .page-media--lounge-secondary {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .52) 100%), url("../img/floor2-vip-2.jpg") center/cover no-repeat
        }
        
        .page-media--events {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .page-media--delivery {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .detail-list,
        .feature-list,
        .seo-list,
        .steps-list {
            display: grid;
            gap: 14px;
            margin: 24px 0 0;
            padding: 0;
            list-style: none
        }
        
        .detail-list li,
        .feature-list li,
        .seo-list li,
        .steps-list li {
            list-style: none;
            display: flex;
            align-items: flex-start;
            gap: 14px;
            font-size: 14px;
            line-height: 1.8;
            color: rgba(240, 234, 224, .74);
            padding-left: 0;
            position: relative
        }
        
        .detail-list li::before,
        .feature-list li::before,
        .seo-list li::before,
        .steps-list li::before {
            content: '◆';
            flex: 0 0 10px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 8px;
            color: var(--gold);
            line-height: 1;
            margin-top: 9px
        }
        
        .gallery-strip {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px
        }
        
        .gallery-card-mini {
            min-height: 300px;
            border: 1px solid var(--border);
            position: relative;
            overflow: hidden;
            background-color: var(--black)
        }
        
        .gallery-card-mini::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .62) 100%)
        }
        
        .gallery-card-mini::after {
            content: attr(data-title);
            position: absolute;
            left: 20px;
            right: 20px;
            bottom: 18px;
            z-index: 1;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 24px;
            line-height: 1.1;
            color: var(--cream)
        }
        
        .gallery-card-mini--rest-1 {
            background: url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .gallery-card-mini--rest-2 {
            background: url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .gallery-card-mini--rest-3 {
            background: url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .gallery-card-mini--lounge-1 {
            background: url("../img/floor2-window-tables.jpg") center/cover no-repeat
        }
        
        .gallery-card-mini--lounge-2 {
            background: url("../img/floor2-vip-2.jpg") center/cover no-repeat
        }
        
        .gallery-card-mini--lounge-3 {
            background: url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .event-gallery {
            display: grid;
            grid-template-columns: 1.15fr .85fr .85fr;
            grid-auto-rows: 220px;
            gap: 18px
        }
        
        .event-gallery-card {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--border);
            background-color: var(--black)
        }
        
        .event-gallery-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .66) 100%)
        }
        
        .event-gallery-card::after {
            content: attr(data-title);
            position: absolute;
            left: 20px;
            right: 20px;
            bottom: 18px;
            z-index: 1;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 26px;
            line-height: 1.08;
            color: var(--cream)
        }
        
        .event-gallery-card--wide {
            grid-row: span 2
        }
        
        .event-gallery-card--wedding-1 {
            background: url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--wedding-2 {
            background: url("../img/floor2-window-tables.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--wedding-3 {
            background: url("../img/floor2-photo.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--anniversary-1 {
            background: url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--anniversary-2 {
            background: url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--anniversary-3 {
            background: url("../img/floor2-table.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--corporate-1 {
            background: url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--corporate-2 {
            background: url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--corporate-3 {
            background: url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--kids-1 {
            background: url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--kids-2 {
            background: url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--kids-3 {
            background: url("../img/floor2-window-tables.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--newyear-1 {
            background: url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--newyear-2 {
            background: url("../img/floor2-main.jpg") center/cover no-repeat
        }
        
        .event-gallery-card--newyear-3 {
            background: url("../img/floor1-bar-counter.jpg") center/cover no-repeat
        }
        
        .contact-band {
            display: grid;
            grid-template-columns: minmax(0, 1.1fr) .9fr;
            gap: 24px;
            align-items: stretch;
            padding: 32px;
            border: 1px solid var(--border);
            background: linear-gradient(135deg, rgba(255, 255, 255, .03) 0%, rgba(201, 169, 110, .08) 100%)
        }
        
        .contact-band-copy p {
            max-width: 520px
        }
        
        .contact-band-side {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 16px;
            padding: 24px;
            border: 1px solid rgba(201, 169, 110, .12);
            background: rgba(8, 8, 8, .42)
        }
        
        .contact-band-number {
            color: var(--cream);
            text-decoration: none;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: clamp(28px, 3.2vw, 42px);
            line-height: 1
        }
        
        .contact-band-number:hover {
            color: var(--gold)
        }
        
        .map-placeholder {
            min-height: 320px;
            border: 1px dashed rgba(201, 169, 110, .22);
            background: linear-gradient(135deg, rgba(255, 255, 255, .02) 0%, rgba(201, 169, 110, .06) 100%);
            display: grid;
            place-items: center;
            text-align: center;
            padding: 32px
        }
        
        .map-placeholder-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 34px;
            margin-bottom: 10px
        }
        
        .map-placeholder-text {
            max-width: 520px;
            font-size: 14px;
            line-height: 1.8;
            color: rgba(240, 234, 224, .58)
        }
        
        .map-embed {
            min-height: 420px;
            border: 1px solid var(--border);
            overflow: hidden;
            background: rgba(8, 8, 8, .9);
            border-radius: 28px;
            box-shadow: 0 28px 70px rgba(0, 0, 0, .34)
        }
        
        .map-embed--widget {
            padding: 0;
            background: linear-gradient(180deg, rgba(16, 16, 16, .96) 0%, rgba(7, 7, 7, .98) 100%)
        }
        
        .map-widget-shell {
            position: relative;
            overflow: hidden;
            min-height: 420px;
            background: #0b0b0b
        }
        
        .map-widget-link {
            position: absolute;
            left: 18px;
            z-index: 2;
            max-width: calc(100% - 36px);
            color: rgba(238, 238, 238, .78);
            font-size: 12px;
            line-height: 1.15;
            text-decoration: none;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            transition: color .25s ease, opacity .25s ease
        }
        
        .map-widget-link:hover {
            color: rgba(238, 238, 238, .96)
        }
        
        .map-widget-link--first {
            top: 10px
        }
        
        .map-widget-link--second {
            top: 26px
        }
        
        .map-widget-link--third {
            top: 42px
        }
        
        .map-embed iframe {
            width: 100%;
            min-height: 420px;
            height: 100%;
            border: 0;
            display: block
        }
        
        .map-widget-shell iframe {
            min-height: 420px;
            padding-top: 0
        }
        
        .vip-room-grid {
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 24px;
            align-items: stretch
        }
        
        .vip-room-media {
            min-height: 380px;
            border: 1px solid var(--border);
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-vip-1.jpg") center/cover no-repeat
        }
        
        .vip-room-copy {
            padding: 32px;
            border: 1px solid var(--border);
            background: rgba(14, 14, 14, .92)
        }
        
        .event-grid-links {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px
        }
        
        .faq-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px
        }
        
        .faq-grid .faq-item+.faq-item {
            margin-top: 0
        }
        
        .seo-event-link {
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 24px;
            border: 1px solid var(--border);
            background: rgba(14, 14, 14, .92);
            text-decoration: none;
            transition: border-color .3s ease, transform .3s ease, background .3s ease
        }
        
        .seo-event-link:hover {
            border-color: rgba(201, 169, 110, .35);
            background: rgba(201, 169, 110, .04);
            transform: translateY(-2px)
        }
        
        .seo-event-link .info-meta {
            margin-bottom: 0
        }
        
        .seo-event-link-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 28px;
            line-height: 1.05;
            color: var(--cream)
        }
        
        .seo-event-link-text {
            font-size: 14px;
            line-height: 1.75;
            color: rgba(240, 234, 224, .62)
        }
        
        .news-feed {
            display: grid;
            gap: 24px
        }
        
        .news-card {
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) .95fr;
            gap: 28px;
            align-items: stretch;
            border: 1px solid var(--border);
            background: rgba(14, 14, 14, .92);
            overflow: hidden
        }
        
        .news-card-cover {
            min-height: 360px;
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .54) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .news-card-body {
            padding: 32px;
            display: flex;
            flex-direction: column;
            justify-content: center
        }
        
        .news-date {
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .28em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .72;
            margin-bottom: 16px
        }
        
        .news-title {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 600;
            font-size: clamp(34px, 4vw, 54px);
            line-height: 1.02;
            margin-bottom: 14px
        }
        
        .news-subtitle {
            font-size: 15px;
            line-height: 1.85;
            color: rgba(240, 234, 224, .66);
            max-width: 520px;
            margin-bottom: 28px
        }
        
        .article-hero {
            position: relative;
            min-height: clamp(500px, calc(100svh - 110px), 700px);
            padding: 142px 60px 72px;
            display: flex;
            align-items: flex-end;
            overflow: hidden;
            border-bottom: 1px solid var(--border);
            background: linear-gradient(180deg, rgba(8, 8, 8, .12) 0%, rgba(8, 8, 8, .48) 48%, rgba(8, 8, 8, .86) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .article-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(8, 8, 8, .14) 0%, rgba(8, 8, 8, .24) 42%, rgba(8, 8, 8, .84) 100%)
        }
        
        .article-hero-inner {
            position: relative;
            z-index: 1;
            max-width: 760px
        }
        
        .article-shell {
            max-width: 920px;
            margin: 0 auto
        }
        
        .article-body {
            display: grid;
            gap: 22px
        }
        
        .article-body p {
            font-size: 16px;
            line-height: 1.95;
            color: rgba(240, 234, 224, .72)
        }
        
        .article-lead {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 34px;
            line-height: 1.3;
            color: var(--cream)
        }
        
        .article-divider {
            width: 100%;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(201, 169, 110, .26) 24%, rgba(201, 169, 110, .26) 76%, transparent 100%);
            margin: 8px 0
        }
        
        .anchor-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 26px
        }
        
        .anchor-nav a,
        .tag-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 13px 18px;
            border: 1px solid var(--border);
            color: var(--gold);
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .24em;
            text-transform: uppercase;
            transition: all .35s ease
        }
        
        .anchor-nav a:hover,
        .tag-link:hover {
            border-color: rgba(201, 169, 110, .5);
            color: var(--cream)
        }
        
        .event-detail {
            display: grid;
            grid-template-columns: .95fr 1.05fr;
            gap: 32px;
            align-items: stretch;
            padding: 32px 0;
            border-bottom: 1px solid rgba(201, 169, 110, .08)
        }
        
        .event-detail:first-of-type {
            border-top: 1px solid rgba(201, 169, 110, .08)
        }
        
        .event-media--weddings {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-window-tables.jpg") center/cover no-repeat
        }
        
        .event-media--anniversaries {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .event-media--corporate {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .event-media--kids {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .event-media--newyear {
            background: linear-gradient(180deg, rgba(8, 8, 8, .08) 0%, rgba(8, 8, 8, .56) 100%), url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .page-hero--weddings {
            background: linear-gradient(96deg, rgba(8, 8, 8, .66) 0%, rgba(8, 8, 8, .24) 52%, rgba(8, 8, 8, .78) 100%), url("../img/floor1-tables.jpg") center/cover no-repeat
        }
        
        .page-hero--anniversaries {
            background: linear-gradient(96deg, rgba(8, 8, 8, .66) 0%, rgba(8, 8, 8, .24) 52%, rgba(8, 8, 8, .78) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .page-hero--corporate {
            background: linear-gradient(96deg, rgba(8, 8, 8, .72) 0%, rgba(8, 8, 8, .24) 48%, rgba(8, 8, 8, .82) 100%), url("../img/floor2-projector.jpg") center/cover no-repeat
        }
        
        .page-hero--kids {
            background: linear-gradient(96deg, rgba(8, 8, 8, .66) 0%, rgba(8, 8, 8, .22) 50%, rgba(8, 8, 8, .8) 100%), url("../img/floor1-main.jpg") center/cover no-repeat
        }
        
        .page-hero--newyear {
            background: linear-gradient(96deg, rgba(8, 8, 8, .72) 0%, rgba(8, 8, 8, .24) 50%, rgba(8, 8, 8, .82) 100%), url("../img/floor2-photo-3.jpg") center/cover no-repeat
        }
        
        .event-title,
        .faq-question,
        .info-card h3 {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 30px;
            color: var(--cream);
            margin-bottom: 12px
        }
        
        .event-meta,
        .info-meta {
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .26em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: .75;
            margin-bottom: 16px
        }
        
        .stats-grid,
        .info-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
            margin-top: 28px
        }
        
        .stats-grid .info-card,
        .info-grid .info-card {
            height: 100%
        }
        
        .page-note {
            margin-top: 18px;
            font-size: 13px;
            color: rgba(240, 234, 224, .52)
        }
        
        .delivery-cta {
            margin-top: 28px
        }
        
        .back-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--muted);
            text-decoration: none;
            font-size: 10px;
            letter-spacing: .24em;
            text-transform: uppercase;
            margin-bottom: 20px
        }
        
        .back-link:hover {
            color: var(--gold)
        }
        
        .return-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 52px;
            width: 100%;
            padding: 0 20px;
            border: 1px solid rgba(201, 169, 110, .18);
            background: rgba(255, 255, 255, .03);
            color: var(--cream);
            text-decoration: none;
            font-family: 'Jost', sans-serif;
            font-size: 10px;
            letter-spacing: .22em;
            text-transform: uppercase;
            transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s ease
        }
        
        .return-link:hover {
            border-color: rgba(201, 169, 110, .4);
            color: var(--gold);
            background: rgba(201, 169, 110, .06);
            transform: translateY(-1px)
        }
        /* MOBILE */
        
        @media(max-width:900px) {
            nav {
                display: grid;
                grid-template-columns: 44px minmax(0, 1fr) 44px;
                align-items: center;
                padding: 14px 20px;
                min-height: 72px;
                column-gap: 12px
            }
            nav.sc {
                padding: 12px 20px;
                min-height: 68px
            }
            .nav-l {
                display: none
            }
            .nav-dropdown {
                display: none
            }
            .nav-r {
                grid-column: 3;
                grid-row: 1;
                justify-content: flex-end;
                gap: 0;
                min-height: 44px
            }
            .nav-r .nb,
            .nav-r a:not(.nav-map-link) {
                display: none
            }
            .nav-r .nav-map-link {
                display: inline-flex;
                width: 44px;
                height: 44px;
                align-items: center;
                justify-content: center;
                opacity: 1
            }
            .nav-r .nav-map-link img {
                width: 30px;
                height: 30px
            }
            .hamburger {
                display: flex;
                grid-column: 1;
                grid-row: 1;
                position: relative;
                left: auto;
                top: auto;
                margin-top: 0
            }
            .nav-center {
                grid-column: 2;
                grid-row: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                min-height: 44px;
                width: 100%;
                line-height: 0
            }
            .nav-logo {
                min-height: 44px
            }
            .nav-logo img {
                width: 138px;
                transform: translateY(4px)
            }
            .mobile-menu {
                display: flex
            }
            .mobile-menu a {
                text-align: center
            }
            .mm-sublinks a {
                display: flex;
                justify-content: center;
                font-size: 11px;
                line-height: 1.4;
                max-width: 290px
            }
            #hero {
                padding: 0 20px;
                min-height: 760px
            }
            .h-split {
                grid-template-columns: 1fr;
                grid-template-rows: 1fr 1fr
            }
            .h-divider {
                top: 50%;
                bottom: auto;
                left: 0;
                right: 0;
                width: auto;
                height: 1px;
                transform: translateY(-50%);
                background: linear-gradient(90deg, transparent 0%, rgba(201, 169, 110, .28) 16%, rgba(201, 169, 110, .28) 84%, transparent 100%)
            }
            .h-content {
                height: 100%;
                padding: 108px 0 20px
            }
            .h-copy {
                max-width: 320px;
                margin: 0 auto;
                justify-content: flex-start
            }
            .h-loc {
                margin-bottom: 14px;
                font-size: 9px;
                letter-spacing: .3em
            }
            .h-orn {
                margin-bottom: 16px
            }
            .h-title {
                font-size: clamp(56px, 16vw, 110px)
            }
            .h-tsub {
                font-size: 14px;
                letter-spacing: .16em;
                margin-top: 8px
            }
            .h-orn2 {
                margin: 18px auto
            }
            .h-tag {
                font-size: 11px;
                letter-spacing: .18em;
                max-width: 320px;
                margin-bottom: 0
            }
            .h-actions {
                position: absolute;
                inset: 0;
                width: auto;
                margin: 0;
                pointer-events: none
            }
            .h-btns {
                display: block;
                width: auto;
                opacity: 1;
                animation: none
            }
            .h-route-wrap {
                width: auto;
                display: block;
                opacity: 1;
                animation: none
            }
            .h-menu-wrap {
                width: auto;
                display: block;
                opacity: 1;
                animation: none
            }
            #hero .btn-go,
            #hero .btn-bur,
            #hero .btn-route,
            #hero .btn-menu-sm {
                position: absolute;
                left: 20px;
                width: calc(100% - 40px);
                min-height: 50px;
                text-align: center;
                pointer-events: auto;
                max-width: none
            }
            #hero .btn-go--restaurant {
                bottom: calc(50% + 24px)
            }
            #hero .btn-bur--lounge {
                top: calc(50% + 24px)
            }
            #hero .btn-menu-sm {
                bottom: calc(24px + 50px + 10px)
            }
            #hero .btn-route {
                bottom: 24px
            }
            .h-scr {
                display: none
            }
            .page-main {
                padding-top: 84px
            }
            .floating-cta {
                right: 16px;
                bottom: 16px;
                gap: 10px
            }
            .floating-cta-panel {
                width: min(260px, calc(100vw - 32px));
                padding: 16px
            }
            .floating-cta-number {
                font-size: 26px
            }
            .floating-route {
                min-height: 50px;
                padding: 0 18px;
                max-width: calc(100vw - 94px)
            }
            .floating-phone-btn {
                width: 50px;
                height: 50px
            }
            .page-hero {
                min-height: clamp(360px, calc(100svh - 84px), 520px);
                padding: 110px 20px 48px;
                align-items: flex-end
            }
            .page-hero+.page-section {
                margin-top: 0;
                padding-top: 96px
            }
            .page-hero+.page-section::before {
                display: none
            }
            .page-hero-layout,
            .contact-band,
            .vip-room-grid,
            .gallery-strip,
            .event-grid-links,
            .news-card,
            .faq-grid,
            .event-gallery {
                grid-template-columns: 1fr
            }
            .page-hero-layout {
                gap: 18px
            }
            .page-hero-copy {
                padding: 0
            }
            .page-hero-panel {
                display: none
            }
            .page-kicker {
                font-size: 9px;
                letter-spacing: .28em;
                margin-bottom: 12px
            }
            .page-title {
                font-size: clamp(32px, 9.4vw, 46px);
                line-height: 1.02;
                margin-bottom: 14px
            }
            .page-subtitle {
                font-size: 14px;
                line-height: 1.7
            }
            .page-cta-row {
                flex-direction: column;
                align-items: stretch;
                gap: 12px;
                margin-top: 24px
            }
            .page-cta-row .btn-go,
            .page-cta-row .btn-route,
            .page-cta-row .btn-bur,
            .page-cta-row .btn-c {
                width: 100%;
                min-height: 50px;
                max-width: none;
                justify-content: center
            }
            .page-note {
                margin-top: 14px;
                max-width: none
            }
            .page-section {
                padding: 64px 20px
            }
            .page-grid,
            .page-grid--equal,
            .event-detail,
            .stats-grid,
            .info-grid {
                grid-template-columns: 1fr
            }
            .event-detail {
                gap: 18px;
                padding: 24px 0
            }
            .page-media,
            .event-media {
                min-height: 280px
            }
            .map-embed,
            .map-embed iframe {
                min-height: 320px
            }
            .map-widget-shell {
                min-height: 320px
            }
            .map-widget-link {
                left: 14px;
                max-width: calc(100% - 28px);
                font-size: 11px
            }
            .map-widget-link--first {
                top: 9px
            }
            .map-widget-link--second {
                top: 23px
            }
            .map-widget-link--third {
                top: 37px
            }
            .event-gallery {
                grid-auto-rows: 220px
            }
            .event-gallery-card--wide {
                grid-row: span 1
            }
            .gallery-card-mini,
            .vip-room-media,
            .map-placeholder,
            .news-card-cover {
                min-height: 240px
            }
            .article-hero {
                min-height: clamp(360px, calc(100svh - 84px), 540px);
                padding: 110px 20px 48px;
                background-position: center
            }
            .article-body p {
                font-size: 15px;
                line-height: 1.85
            }
            .article-lead {
                font-size: 24px
            }
            .event-title,
            .faq-question,
            .info-card h3 {
                font-size: 26px
            }
            .back-link {
                margin-bottom: 16px;
                font-size: 9px;
                letter-spacing: .18em
            }
            .anchor-nav {
                flex-direction: column;
                align-items: stretch
            }
            .anchor-nav a,
            .tag-link,
            .page-cta-row .btn-c,
            .page-cta-row .btn-go,
            .page-cta-row .btn-route,
            .page-cta-row .nb {
                width: 100%;
                justify-content: center
            }
            #concept {
                padding: 60px 24px
            }
            .con-stats {
                gap: 30px
            }
            #gallery .gal-head,
            .gal-dots {
                padding: 0 24px
            }
            .gal-track-wrap {
                padding: 0 24px
            }
            .gal-card {
                min-width: calc(85vw - 28px)
            }
            .floor-sec {
                grid-template-columns: 1fr;
                min-height: auto
            }
            .floor-sec.rev .fv {
                order: 1
            }
            .floor-sec.rev .fc {
                order: 2
            }
            .fv {
                height: 260px
            }
            .fv-frame {
                inset: 14px
            }
            .fc {
                padding: 44px 24px
            }
            #kids-room {
                padding: 64px 24px
            }
            .kr-inner {
                grid-template-columns: 1fr;
                gap: 32px
            }
            .kr-img {
                height: 280px
            }
            #events {
                padding: 60px 24px
            }
            .ev-grid {
                grid-template-columns: 1fr;
                gap: 1px
            }
            #reviews {
                padding: 60px 24px
            }
            .rv-slide-grid {
                grid-template-columns: 1fr;
                gap: 16px
            }
            .rv-card {
                padding: 28px 24px
            }
            .rv-controls {
                gap: 16px
            }
            .rv-nav {
                width: 46px;
                height: 46px
            }
            .booking-modal {
                padding: 16px
            }
            .booking-modal-card {
                padding: 28px 18px 20px
            }
            .booking-modal-actions {
                flex-direction: column
            }
            .booking-modal-call,
            .booking-modal-close {
                width: 100%
            }
            #seo {
                padding: 60px 24px
            }
            .seo-inner {
                grid-template-columns: 1fr;
                gap: 30px
            }
            #booking {
                padding: 80px 24px
            }
            .bk-frame {
                inset: 16px
            }
            footer {
                padding: 44px 24px 32px
            }
            .ft-top {
                grid-template-columns: 1fr;
                gap: 28px
            }
            .ft-brand {
                text-align: center;
                align-items: center
            }
            .ft-logo {
                justify-content: center
            }
            .ft-brand-copy {
                margin: 0 auto
            }
            .ft-badge-row {
                justify-content: center
            }
            .ft-bottom {
                flex-direction: column;
                gap: 8px;
                align-items: flex-start
            }
        }