:root {
  --black: #090909;
  --charcoal: #11110f;
  --charcoal-2: #191918;
  --charcoal-3: #242421;
  --grey-025: #f8f8f6;
  --grey-075: #f1f1ee;
  --grey-150: #e6e6e1;
  --grey-300: #c9c9c2;
  --grey-650: #666661;
  --white: #ffffff;
  --gold: #d6ab3e;
  --gold-2: #f0ca67;
  --gold-deep: #8e6a16;
  --ink: #171715;
  --radius-xl: 30px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --shadow-soft: 0 18px 55px rgba(15,15,14,.08);
  --shadow-card: 0 14px 36px rgba(15,15,14,.07);
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--grey-075);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
body.night-mode { --grey-075: #eeeeeb; --grey-150: #e2e2dd; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }

.skip-link { position: fixed; left: 12px; top: -60px; z-index: 999; padding: 10px 14px; background: #fff; color: #111; border-radius: 10px; }
.skip-link:focus { top: 12px; }
.container { width: var(--container); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 74px;
  padding: 8px max(20px, calc((100vw - 1180px)/2));
  display: grid;
  grid-template-columns: 160px 1fr auto;
  align-items: center;
  gap: 24px;
  color: var(--white);
  background: rgba(9,9,9,.93);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(214,171,62,.16);
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.brand img { width: 132px; height: 56px; object-fit: contain; object-position: left center; }
.site-nav { display: flex; justify-content: center; gap: clamp(16px, 2.2vw, 34px); }
.site-nav a { position: relative; text-decoration: none; font-size: .91rem; color: #d9d9d5; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -9px; height: 1px; background: var(--gold-2); transition: right .22s ease; }
.site-nav a:hover, .site-nav a:focus-visible { color: #fff; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right: 0; }
.nav-toggle { display: none; }

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 760;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .site-nav a:focus-visible, .quick-actions a:focus-visible, .inline-link:focus-visible, .text-link:focus-visible, .reveal-button:focus-visible { outline: 3px solid rgba(240,202,103,.55); outline-offset: 4px; }
.button-gold { background: linear-gradient(135deg, var(--gold-2), var(--gold)); color: #17130a; border: 1px solid rgba(255,255,255,.28); box-shadow: 0 9px 24px rgba(214,171,62,.16); }
.button-ghost { color: #fff; border: 1px solid rgba(255,255,255,.42); background: rgba(0,0,0,.24); }
.button-dark { background: var(--charcoal-2); color: var(--white); }
.button-small { min-height: 42px; padding-inline: 18px; font-size: .88rem; }

.eyebrow { margin: 0 0 12px; text-transform: uppercase; letter-spacing: .16em; font-size: .74rem; font-weight: 850; color: var(--gold-deep); }
.section-dark .eyebrow, .hero .eyebrow { color: var(--gold-2); }
h1, h2, h3 { margin-top: 0; letter-spacing: -.025em; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
h1 { max-width: 690px; font-size: clamp(3.65rem, 6.8vw, 6.6rem); line-height: .92; margin-bottom: 26px; text-wrap: balance; }
h2 { font-size: clamp(2.55rem, 4.7vw, 4.35rem); line-height: .99; margin-bottom: 18px; text-wrap: balance; }
h3 { font-size: 1.45rem; }

.hero {
  position: relative;
  min-height: min(760px, 88vh);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--white);
  background: radial-gradient(circle at 18% 32%, rgba(214,171,62,.08), transparent 28%), #0a0a0a;
}
.hero-media { position: absolute; inset: 0 0 0 auto; width: 56%; background: url('/assets/vault-interior-hero.jpg') center 47% / cover no-repeat; filter: saturate(.94) contrast(1.03); }
.hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0a0a0a 0%, rgba(10,10,10,.6) 14%, rgba(10,10,10,.08) 54%, rgba(10,10,10,.18) 100%); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.99) 0%, rgba(8,8,8,.96) 35%, rgba(8,8,8,.52) 51%, transparent 72%), linear-gradient(0deg, rgba(0,0,0,.55), transparent 35%); }
body.night-mode .hero-shade { background: linear-gradient(90deg, rgba(5,5,5,.99) 0%, rgba(5,5,5,.96) 35%, rgba(5,5,5,.55) 52%, transparent 74%), linear-gradient(0deg, rgba(0,0,0,.68), transparent 38%); }
.hero-content { position: relative; z-index: 1; padding-block: 104px 74px; }
.hero-content > * { max-width: 610px; }
.hero-copy { max-width: 560px; font-size: clamp(1rem, 1.5vw, 1.18rem); color: #d7d7d3; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-status { width: fit-content; margin-top: 32px; padding: 10px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #ddd; font-size: .93rem; background: rgba(18,18,18,.68); backdrop-filter: blur(10px); }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: #8a8a8a; box-shadow: 0 0 0 5px rgba(255,255,255,.08); }
.status-dot.open { background: #7ee183; }
.status-dot.closed { background: #ffb15d; }

.section-dark { background: var(--charcoal); color: var(--white); }
.section-light { background: var(--grey-025); }
.section-grey { background: var(--grey-150); }
section:not(.hero) { padding-block: clamp(68px, 8vw, 108px); }
.section-heading { display: grid; grid-template-columns: 1.45fr .8fr; align-items: end; gap: 48px; margin-bottom: 34px; }
.section-heading h2 { margin-bottom: 0; max-width: 820px; }
.section-intro { margin: 0 0 7px; color: #5d5d58; max-width: 510px; line-height: 1.65; }
.section-heading-dark .section-intro { color: #bdbdb8; }
.white-card { background: var(--white); border: 1px solid rgba(0,0,0,.055); box-shadow: var(--shadow-card); border-radius: var(--radius-lg); }
.mini-label { text-transform: uppercase; letter-spacing: .12em; color: var(--gold-deep); font-size: .7rem; font-weight: 850; }
.text-link, .inline-link { color: #785b17; font-weight: 760; text-underline-offset: 4px; }

.tonight { position: relative; overflow: hidden; background: #11110f; }
.tonight::before { content: ''; position: absolute; width: 520px; height: 520px; right: -240px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(214,171,62,.11), transparent 68%); pointer-events: none; }
.tonight-shell { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(255px,.68fr); border: 1px solid rgba(214,171,62,.18); border-radius: var(--radius-xl); overflow: hidden; background: #0c0c0b; box-shadow: 0 26px 70px rgba(0,0,0,.2); }
.tonight-feature { min-width: 0; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(280px,.98fr); min-height: 470px; border-right: 1px solid rgba(214,171,62,.15); }
.tonight-copy { padding: clamp(34px,4vw,58px); display: flex; flex-direction: column; justify-content: center; }
.event-kicker { color: var(--gold-2); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 850; }
.tonight-feature h3 { font-family: Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.15rem); line-height: 1; margin-bottom: 18px; }
.tonight-feature #event-copy { max-width: 460px; color: #bdbdb7; }
.event-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.event-meta span { padding: 8px 12px; border: 1px solid #353532; border-radius: 999px; color: #ddd; font-size: .85rem; }
.tonight-image-wrap { position: relative; min-height: 470px; background: #111; }
.tonight-image-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,12,11,.54), transparent 28%); pointer-events: none; }
.tonight-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.quick-actions { display: grid; grid-template-rows: repeat(4,1fr); background: #151513; }
.quick-actions a { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 11px; align-content: center; padding: 20px 24px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.08); transition: background .2s ease, padding-left .2s ease; }
.quick-actions a:last-child { border-bottom: 0; }
.quick-actions a:hover, .quick-actions a:focus-visible { background: rgba(214,171,62,.08); padding-left: 28px; }
.quick-actions span { grid-row: 1 / 3; align-self: center; color: var(--gold-2); font-size: 1.35rem; }
.quick-actions strong { font-size: .96rem; }
.quick-actions small { color: #91918b; }

.combination { background: var(--grey-025); }
.combination-strip { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 16px; align-items: center; }
.combo-card { overflow: hidden; min-width: 0; }
.combo-media { aspect-ratio: 16/10; background: #d9d9d4; overflow: hidden; }
.combo-media img { width: 100%; height: 100%; object-fit: cover; }
.combo-event .combo-media img { object-position: center 18%; }
.combo-copy { padding: 19px 20px 21px; display: grid; gap: 4px; }
.combo-copy strong { font: 500 clamp(1.35rem,2.1vw,1.85rem) Georgia, serif; }
.combo-plus { color: var(--gold-deep); font: 500 2rem Georgia, serif; }

.experience { background: var(--grey-150); }
.experience-mosaic { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); grid-template-rows: 1fr 1fr; gap: 20px; }
.experience-card { overflow: hidden; min-height: 0; }
.experience-drink { grid-row: 1 / 3; display: grid; grid-template-rows: minmax(420px,1fr) auto; }
.experience-food { display: grid; grid-template-columns: 42% 1fr; align-items: stretch; }
.experience-play { display: grid; grid-template-columns: 132px 1fr; align-items: center; background: radial-gradient(circle at 18% 20%, rgba(214,171,62,.13), transparent 26%), #fff; }
.experience-media { min-height: 0; background: #ddd; overflow: hidden; }
.experience-media img { width: 100%; height: 100%; object-fit: cover; }
.experience-drink .experience-media img { object-position: 50% 52%; }
.experience-food .experience-media img { object-position: center center; }
.card-copy { padding: 25px 26px 27px; }
.card-copy h3 { margin-bottom: 9px; font-size: 1.48rem; }
.card-copy p { color: #5d5d58; margin-bottom: 14px; }
.card-copy a { color: #765814; font-weight: 760; text-underline-offset: 4px; }
.play-mark { margin-left: 26px; width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; color: white; font: 700 3rem Georgia, serif; background: radial-gradient(circle at 35% 30%, #f3d678, #b88514 55%, #453107); box-shadow: inset 0 0 0 8px rgba(0,0,0,.13), 0 10px 28px rgba(146,104,18,.16); }

.from-vault { background: #0e0e0d; }
.drinks-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 34px; align-items: start; }
.reveal-shell { border: 1px solid rgba(214,171,62,.22); border-radius: var(--radius-xl); overflow: hidden; background: #101010; }
.reveal-button { width: 100%; min-height: 158px; padding: 24px 30px; border: 0; background: transparent; color: white; display: flex; align-items: center; gap: 22px; text-align: left; cursor: pointer; }
.reveal-button small { display: block; text-transform: uppercase; letter-spacing: .13em; color: var(--gold-2); margin-bottom: 4px; }
.reveal-button strong { font: 500 clamp(1.7rem,3vw,2.6rem) Georgia, serif; }
.dial { width: 86px; aspect-ratio: 1; flex: 0 0 auto; border-radius: 50%; border: 2px solid var(--gold); position: relative; transition: transform .6s cubic-bezier(.2,.9,.2,1); }
.dial::before { content: ''; position: absolute; inset: 15px; border-radius: 50%; border: 1px solid #56471d; }
.dial i { position: absolute; left: 50%; top: 50%; width: 2px; height: 36%; background: var(--gold); transform-origin: center bottom; }
.dial i:nth-child(1){transform:translate(-50%,-100%) rotate(0deg)}
.dial i:nth-child(2){transform:translate(-50%,-100%) rotate(90deg)}
.dial i:nth-child(3){transform:translate(-50%,-100%) rotate(180deg)}
.dial i:nth-child(4){transform:translate(-50%,-100%) rotate(270deg)}
.reveal-shell.is-open .dial { transform: rotate(225deg); }
.reveal-panel { border-top: 1px solid #282828; padding: 24px; }
.reveal-panel img { width: min(100%,680px); margin: 0 auto; border-radius: 14px; }
.reveal-panel p { color: #bcbcb7; max-width: 680px; margin: 18px auto 0; font-size: .9rem; }
blockquote { margin: 0; min-height: 260px; display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; border-radius: var(--radius-xl); background: radial-gradient(circle at 80% 20%, rgba(214,171,62,.12), transparent 38%), linear-gradient(145deg,#22221f,#11110f); border: 1px solid rgba(214,171,62,.16); }
blockquote p { font: 500 clamp(2rem,4vw,3.4rem) Georgia, serif; line-height: 1; margin: 0 0 18px; }
blockquote footer { color: #a5a59f; }

.bambis { background: var(--grey-075); }
.bambis-layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(36px,7vw,100px); align-items: center; }
.food-collage { min-height: 560px; display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.food-collage img { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; box-shadow: var(--shadow-soft); }
.food-collage img:first-child { grid-row: 1 / 3; }
.bambis-copy { max-width: 520px; }
.bambis-copy p:not(.eyebrow) { color: #555550; font-size: 1.08rem; }

.inside { background: var(--grey-150); }
.inside-grid { display: grid; grid-template-columns: 1.4fr .9fr .72fr; gap: 14px; align-items: stretch; }
.inside-grid figure { margin: 0; min-height: 440px; border-radius: 22px; overflow: hidden; background: #ddd; box-shadow: 0 16px 46px rgba(15,15,14,.10); }
.inside-grid img { width: 100%; height: 100%; object-fit: cover; }
.inside-grid figure:nth-child(2) { transform: translateY(22px); }
.inside-grid figure:nth-child(3) { transform: translateY(-14px); }
.inline-link { white-space: nowrap; }

.visit { background: #11110f; }
.visit-grid { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(40px,8vw,110px); align-items: center; }
.visit-grid > div:first-child p:not(.eyebrow) { color: #c4c4bf; font-size: 1.08rem; max-width: 570px; }
.hours { padding: 30px; border-radius: 24px; box-shadow: 0 22px 58px rgba(0,0,0,.18); color: var(--ink); }
.hours h3 { font-family: Georgia, serif; font-size: 1.8rem; }
.hours dl { margin: 0; }
.hours dl div { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; border-bottom: 1px solid #ecece7; }
.hours dl div:last-child { border-bottom: 0; }
.hours dt, .hours dd { margin: 0; }
.hours dd { font-weight: 720; }
.hours-note { color: #6b6b66; font-size: .84rem; margin: 18px 0 0; }

.join { background: var(--grey-075); }
.join-card { padding: clamp(28px,5vw,54px); display: flex; justify-content: space-between; align-items: center; gap: 32px; border-radius: 26px; box-shadow: 0 18px 50px rgba(15,15,14,.07); }
.join-card h2 { font-size: clamp(2.3rem,4vw,3.8rem); margin-bottom: 10px; }
.join-card p:not(.eyebrow) { margin: 0; color: #61615d; max-width: 690px; }

.site-footer { padding: 66px 0 22px; color: #ccc; background: radial-gradient(circle at 12% 0%, rgba(214,171,62,.08), transparent 28%), #080808; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 44px; }
.footer-brand img { width: 150px; margin-bottom: 18px; }
.footer-brand p, .footer-grid p { color: #a9a9a4; }
.site-footer strong { color: white; }
.site-footer a { color: inherit; }
.footer-bottom { margin-top: 40px; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.08); color: #787873; font-size: .76rem; }

@media (prefers-reduced-motion: no-preference) {
  .hero-content { animation: vault-rise .7s ease both; }
  @keyframes vault-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  .combo-card, .experience-card { transition: transform .22s ease, box-shadow .22s ease; }
  .combo-card:hover, .experience-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(15,15,14,.10); }
}

@media (max-width: 960px) {
  .site-header { grid-template-columns: 132px 1fr auto; }
  .nav-toggle { display: inline-flex; justify-self: end; border: 1px solid #3b3b38; border-radius: 999px; background: #171716; color: #fff; padding: 9px 13px; }
  .site-nav { position: absolute; left: 18px; right: 18px; top: 72px; padding: 18px; display: none; flex-direction: column; background: #111; border: 1px solid #333; border-radius: 16px; }
  .site-nav.is-open { display: flex; }
  .site-nav a::after { display: none; }
  .header-cta { justify-self: end; }
  .hero { min-height: 720px; align-items: end; }
  .hero-media { width: 68%; opacity: .88; }
  .hero-shade { background: linear-gradient(90deg,rgba(6,6,6,.97) 0%,rgba(6,6,6,.88) 45%,rgba(6,6,6,.34) 78%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 54%); }
  .section-heading { grid-template-columns: 1fr; gap: 12px; }
  .tonight-shell { grid-template-columns: 1fr; }
  .tonight-feature { border-right: 0; }
  .quick-actions { grid-template-columns: repeat(2,1fr); grid-template-rows: auto; border-top: 1px solid rgba(214,171,62,.15); }
  .quick-actions a:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08); }
  .combination-strip { grid-template-columns: 1fr; }
  .combo-plus { display: none; }
  .combo-card { display: grid; grid-template-columns: 180px 1fr; }
  .combo-media { aspect-ratio: auto; min-height: 150px; }
  .experience-mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
  .experience-drink { grid-row: auto; grid-template-columns: 42% 1fr; grid-template-rows: auto; }
  .drinks-layout, .bambis-layout, .visit-grid { grid-template-columns: 1fr; }
  .inside-grid { grid-template-columns: 1.3fr .7fr; }
  .inside-grid .poster-frame { display: none; }
  .inside-grid figure:nth-child(2), .inside-grid figure:nth-child(3) { transform: none; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 680px) {
  :root { --container: min(100% - 28px,1180px); --radius-xl: 22px; }
  .site-header { min-height: 68px; grid-template-columns: 100px 1fr auto; padding-inline: 14px; gap: 10px; }
  .brand img { width: 96px; height: 50px; }
  .header-cta { display: none; }
  .hero { min-height: 690px; }
  .hero-media { width: 100%; opacity: .58; background-position: 57% center; }
  .hero-shade { background: linear-gradient(0deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.80) 54%,rgba(5,5,5,.34) 100%); }
  .hero-content { padding-block: 104px 42px; }
  h1 { font-size: clamp(3rem,15vw,4.55rem); }
  h2 { font-size: clamp(2.35rem,11vw,3.4rem); }
  .button { width: 100%; }
  .hero-actions { display: grid; }
  .hero-status { width: 100%; border-radius: 18px; }
  .tonight-feature { grid-template-columns: 1fr; min-height: auto; }
  .tonight-image-wrap { min-height: 360px; order: -1; }
  .tonight-copy { padding: 26px 22px 30px; }
  .quick-actions { grid-template-columns: 1fr; }
  .quick-actions a { min-height: 88px; }
  .quick-actions a:nth-child(odd) { border-right: 0; }
  .combo-card { grid-template-columns: 128px 1fr; }
  .combo-media { min-height: 125px; }
  .experience-drink, .experience-food, .experience-play { grid-template-columns: 1fr; }
  .experience-drink { grid-template-rows: 300px auto; }
  .experience-food .experience-media { min-height: 260px; }
  .experience-play { padding-top: 24px; }
  .play-mark { margin: 0 0 0 24px; }
  .food-collage { min-height: 430px; }
  .inside-grid { grid-template-columns: 1fr; }
  .inside-grid figure { min-height: 360px; }
  .inside-grid figure:not(.inside-feature) { display: none; }
  .join-card { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; }
}


/* v0.2.0 — Multi-page experience system */
.site-nav { gap: clamp(10px,1.35vw,22px); }
.site-nav a { font-size: .86rem; }
body[data-page="home"] .site-nav a[data-nav="home"],
body[data-page="food"] .site-nav a[data-nav="food"],
body[data-page="drinks"] .site-nav a[data-nav="drinks"],
body[data-page="whats-on"] .site-nav a[data-nav="whats-on"],
body[data-page="gallery"] .site-nav a[data-nav="gallery"],
body[data-page="about"] .site-nav a[data-nav="about"],
body[data-page="careers"] .site-nav a[data-nav="careers"],
body[data-page="contact"] .site-nav a[data-nav="contact"] { color:#fff; }
body[data-page="home"] .site-nav a[data-nav="home"]::after,
body[data-page="food"] .site-nav a[data-nav="food"]::after,
body[data-page="drinks"] .site-nav a[data-nav="drinks"]::after,
body[data-page="whats-on"] .site-nav a[data-nav="whats-on"]::after,
body[data-page="gallery"] .site-nav a[data-nav="gallery"]::after,
body[data-page="about"] .site-nav a[data-nav="about"]::after,
body[data-page="careers"] .site-nav a[data-nav="careers"]::after,
body[data-page="contact"] .site-nav a[data-nav="contact"]::after { right:0; }
.page-hero { --page-hero:none; position:relative; min-height:610px; display:grid; align-items:end; overflow:hidden; color:#fff; background:#0b0b0b; }
.page-hero::before { content:""; position:absolute; inset:0; background-image:var(--page-hero); background-size:cover; background-position:center; filter:saturate(.92) contrast(1.03); transform:scale(1.01); }
.page-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,6,6,.96),rgba(6,6,6,.72) 45%,rgba(6,6,6,.26) 75%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 58%); }
.page-hero-content { position:relative; z-index:1; padding-block:130px 70px; }
.page-hero-content h1 { max-width:820px; }
.page-hero-content > p:not(.eyebrow) { max-width:650px; color:#d8d8d4; font-size:1.12rem; }
.split-story { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,7vw,96px); align-items:center; }
.split-story-dark { color:#fff; }
.split-story-dark .story-copy p:not(.eyebrow){color:#c3c3be;}
.story-copy p:not(.eyebrow){color:#565650; font-size:1.05rem;}
.story-image { min-height:520px; border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-soft); background:#ddd; }
.story-image img { width:100%; height:100%; object-fit:cover; }
.menu-grid { display:grid; grid-template-columns:1fr 1.3fr .8fr; gap:18px; align-items:start; }
.menu-panel { padding:28px; }
.menu-panel h3 { font-family:Georgia,serif; font-size:1.9rem; }
.menu-list { list-style:none; padding:0; margin:0; }
.menu-list li { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid #ecece7; }
.menu-list li:last-child{border-bottom:0;}
.menu-list span { display:grid; }
.menu-list small { color:#73736d; margin-top:3px; }
.menu-list b { color:#765814; white-space:nowrap; }
.chip-list { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.chip-list span { padding:8px 11px; border-radius:999px; background:var(--grey-075); color:#4f4f4a; font-size:.88rem; }
.photo-triptych { display:grid; grid-template-columns:1.25fr .85fr .85fr; gap:14px; }
.photo-triptych img { width:100%; height:440px; object-fit:cover; border-radius:22px; box-shadow:var(--shadow-card); }
.photo-triptych img:first-child{height:500px; transform:translateY(-20px);}
.signature-grid { display:grid; grid-template-columns:1.35fr .8fr .8fr; gap:18px; align-items:stretch; }
.signature-lead { overflow:hidden; display:grid; grid-template-columns:1fr .72fr; }
.signature-lead img { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center top; }
.signature-lead > div { padding:30px; align-self:end; }
.signature-lead h3 { font:500 2.2rem Georgia,serif; }
.signature-photo { overflow:hidden; display:flex; flex-direction:column; }
.signature-photo img { width:100%; height:420px; object-fit:cover; flex:1; }
.signature-photo > div { display:grid; padding:18px 20px 22px; }
.signature-photo small { color:#777771; }
.wide-media { display:grid; grid-template-columns:1.25fr .75fr; overflow:hidden; }
.wide-media img { width:100%; height:390px; object-fit:cover; }
.wide-media > div { padding:34px; align-self:center; }
.wide-media h3 { font:500 2.2rem Georgia,serif; }
.standalone-tonight { border:1px solid rgba(214,171,62,.18); border-radius:var(--radius-xl); overflow:hidden; background:#0c0c0b; min-height:520px; }
.schedule-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.schedule-card { padding:24px; position:relative; overflow:hidden; }
.schedule-card h3 { margin-bottom:7px; }
.schedule-card p:not(.mini-label){color:#555550;}
.schedule-card small{color:#777771;}
.schedule-card.is-today { border-color:rgba(214,171,62,.65); box-shadow:0 18px 44px rgba(142,106,22,.12); }
.schedule-card.is-today::after { content:"Today"; position:absolute; right:14px; top:14px; padding:5px 9px; border-radius:999px; background:#181815; color:var(--gold-2); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.wide-cta { padding:34px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.wide-cta h2 { font-size:clamp(2.1rem,4vw,3.5rem); margin:0; }
.cta-links { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.dark-cta { background:transparent; color:#fff; border:1px solid rgba(214,171,62,.18); border-radius:var(--radius-xl); }
.gallery-masonry { columns:3 300px; column-gap:14px; }
.gallery-masonry figure { break-inside:avoid; margin:0 0 14px; position:relative; overflow:hidden; border-radius:20px; background:#ddd; box-shadow:var(--shadow-card); }
.gallery-masonry img { width:100%; height:auto; }
.gallery-masonry figcaption { position:absolute; left:12px; bottom:12px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(0,0,0,.68); backdrop-filter:blur(8px); font-size:.76rem; }
.social-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.social-callout p:not(.eyebrow){color:#bdbdb8;}
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.principle-grid article { padding:30px; }
.principle-grid article > span { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#171715; color:var(--gold-2); margin-bottom:24px; font-size:.78rem; font-weight:800; }
.principle-grid p { color:#5d5d58; }
.application-shell { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(32px,7vw,90px); align-items:start; }
.application-shell > div > p:not(.eyebrow){color:#5b5b56;}
.application-form { padding:30px; display:grid; gap:18px; }
.application-form label { display:grid; gap:7px; font-weight:720; }
.application-form input,.application-form textarea { width:100%; border:1px solid #d8d8d1; border-radius:14px; padding:13px 14px; background:#fafaf8; color:#191917; outline:none; }
.application-form input:focus,.application-form textarea:focus { border-color:#a98221; box-shadow:0 0 0 4px rgba(214,171,62,.13); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-card { padding:32px; display:grid; align-content:start; gap:8px; }
.contact-card h3 { font:500 2rem Georgia,serif; margin-bottom:5px; }
.contact-card p { color:#5d5d58; }
.contact-card a { color:#765814; font-weight:760; text-underline-offset:4px; }
@media(max-width:1100px){.site-header{grid-template-columns:135px 1fr auto;gap:14px}.site-nav{gap:12px}.site-nav a{font-size:.8rem}.menu-grid{grid-template-columns:1fr 1fr}.menu-panel:last-child{grid-column:1/-1}.schedule-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.split-story,.menu-grid,.signature-grid,.application-shell{grid-template-columns:1fr}.story-image{min-height:440px;order:-1}.signature-lead{grid-template-columns:1fr 1fr}.photo-triptych{grid-template-columns:1fr 1fr}.photo-triptych img:first-child{grid-column:1/-1;transform:none;height:430px}.wide-media{grid-template-columns:1fr}.principle-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.social-callout,.wide-cta{align-items:flex-start;flex-direction:column}.cta-links{justify-content:flex-start}}
@media(max-width:680px){.page-hero{min-height:590px}.page-hero-content{padding-block:110px 46px}.page-hero-shade{background:linear-gradient(0deg,rgba(5,5,5,.96),rgba(5,5,5,.72) 62%,rgba(5,5,5,.35))}.photo-triptych{grid-template-columns:1fr}.photo-triptych img,.photo-triptych img:first-child{height:340px}.signature-lead{grid-template-columns:1fr}.signature-lead img{min-height:380px}.signature-photo img{height:360px}.schedule-grid{grid-template-columns:1fr}.wide-cta{padding:26px}.cta-links{width:100%}.cta-links .button{width:100%}.gallery-masonry{columns:1}.social-callout{align-items:stretch}}

/* v0.2.1 — Homepage composition reset
   Mockup-guided structure using only genuine Vault/Bambi's media. */
body[data-page="home"] { background: var(--grey-075); }


/* v0.2.2 — Cinemagraph hero integration: clean visual plate + live DOM/UI. */
body[data-page="home"] .site-header {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  background: linear-gradient(180deg, rgba(6,6,6,.72), rgba(6,6,6,.22) 74%, transparent);
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
}
body[data-page="home"] .site-header .site-nav a { text-shadow: 0 1px 10px rgba(0,0,0,.72); }
body[data-page="home"] .site-header .brand img { filter: drop-shadow(0 2px 10px rgba(0,0,0,.45)); }

.cinema-hero {
  position: relative;
  min-height: min(880px, 100svh);
  overflow: hidden;
  display: grid;
  align-items: stretch;
  color: #fff;
  background: #090909;
  isolation: isolate;
}
.cinema-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #0a0a0a url('/assets/vault-hero-clean-poster.png') center center / cover no-repeat;
}
.cinema-hero-media video { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.cinema-hero-shade {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.80) 0%, rgba(5,5,5,.55) 27%, rgba(5,5,5,.13) 55%, rgba(5,5,5,.22) 100%),
    linear-gradient(0deg, rgba(4,4,4,.76) 0%, rgba(4,4,4,.06) 47%, rgba(4,4,4,.18) 100%);
}
.cinema-hero-inner {
  position:relative;
  z-index:2;
  width:min(1480px,calc(100% - 72px));
  min-height:min(880px,100svh);
  margin-inline:auto;
  padding:clamp(150px,18vh,205px) 0 clamp(54px,7vh,78px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,405px);
  gap:clamp(38px,6vw,96px);
  align-items:end;
}
.cinema-hero-copy { max-width:660px; text-shadow:0 2px 22px rgba(0,0,0,.62); }
.cinema-hero .eyebrow { color:var(--gold-2); }
.cinema-hero h1 {
  max-width:640px;
  margin:0 0 20px;
  font-size:clamp(4rem,7vw,7.25rem);
  line-height:.9;
  letter-spacing:-.045em;
}
.cinema-hero h1 span { display:block; color:var(--gold-2); }
.cinema-hero .hero-copy { max-width:590px; margin:0; color:#f0efeb; text-shadow:0 2px 18px rgba(0,0,0,.78); }
.cinema-hero .hero-actions { margin-top:26px; }
.cinema-hero .button-ghost { background:rgba(8,8,8,.28); backdrop-filter:blur(8px); }

.hero-tonight-card {
  align-self:end;
  padding:24px;
  border-radius:22px;
  border:1px solid rgba(240,202,103,.34);
  background:linear-gradient(145deg,rgba(8,8,8,.90),rgba(12,12,12,.80));
  box-shadow:0 22px 70px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
}
.hero-tonight-kicker { margin:0 0 14px; color:var(--gold-2); text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; font-weight:850; }
.hero-tonight-event { display:grid; grid-template-columns:54px 1fr; gap:15px; align-items:center; padding-bottom:19px; border-bottom:1px solid rgba(255,255,255,.14); }
.hero-event-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(240,202,103,.42); border-radius:14px; color:var(--gold-2); }
.hero-event-icon svg { width:26px; height:26px; fill:currentColor; }
.hero-tonight-link { width:100%; margin-top:18px; }
.hero-tonight-link::after { content:' →'; }
.hero-tonight-event div { display:grid; gap:2px; }
.hero-tonight-event strong { font:500 1.48rem/1.05 Georgia,serif; }
.hero-tonight-event span:not(.hero-live-mark) { color:#d7d7d2; font-size:.9rem; }

.hero-open-row { margin-top:16px; padding-top:15px; display:grid; grid-template-columns:auto auto 1fr; gap:9px; align-items:center; border-top:1px solid rgba(255,255,255,.10); font-size:.82rem; }
.hero-open-row strong { color:#fff; }
.hero-open-row #today-hours { justify-self:end; color:#d0d0cb; text-align:right; }

@media (prefers-reduced-motion: reduce) {
  .cinema-hero-media video { display:none; }
}

@media (max-width:960px) {
  body[data-page="home"] .site-header { position:relative; background:rgba(9,9,9,.96); }
  .cinema-hero { min-height:auto; }
  .cinema-hero-inner { width:min(100% - 40px,760px); min-height:760px; padding:84px 0 42px; grid-template-columns:1fr; gap:32px; align-content:end; }
  .cinema-hero-media video { object-position:56% center; }
  .cinema-hero-shade { background:linear-gradient(0deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.55) 45%,rgba(5,5,5,.12) 78%,rgba(5,5,5,.18) 100%); }
  .cinema-hero-copy { max-width:620px; }
  .cinema-hero h1 { font-size:clamp(3.6rem,11vw,5.9rem); }
  .hero-tonight-card { max-width:520px; }
}

@media (max-width:680px) {
  .cinema-hero-inner { width:calc(100% - 28px); min-height:760px; padding:64px 0 24px; }
  .cinema-hero-media video { object-position:56.5% center; }
  .cinema-hero h1 { font-size:clamp(3.35rem,15vw,4.7rem); }
  .cinema-hero .hero-copy { font-size:.98rem; }
  .cinema-hero .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .cinema-hero .hero-actions .button:first-child { grid-column:1/-1; }
  .hero-tonight-card { padding:19px; border-radius:18px; }
  .hero-tonight-event strong { font-size:1.3rem; }
  .hero-open-row { grid-template-columns:auto 1fr; }
  .hero-open-row #today-hours { grid-column:1/-1; justify-self:start; margin-left:19px; }
}

.home-hero {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(430px, .9fr) minmax(520px, 1.35fr) minmax(235px, .52fr);
  color: #fff;
  background: #090909;
  border-bottom: 1px solid rgba(214,171,62,.18);
  overflow: hidden;
}
.home-hero-copy {
  position: relative;
  z-index: 2;
  padding: clamp(72px,7vw,112px) clamp(34px,4.8vw,82px) 64px max(34px,calc((100vw - 1500px)/2));
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 18% 18%,rgba(214,171,62,.09),transparent 31%),
    linear-gradient(115deg,#090909 0%,#0d0d0c 76%,#14130f 100%);
}
.home-hero-copy::after {
  content: '';
  position: absolute;
  right: -70px;
  inset-block: 0;
  width: 140px;
  z-index: -1;
  background: linear-gradient(90deg,#0d0d0c 0%,rgba(13,13,12,.83) 43%,transparent 100%);
  pointer-events: none;
}
.home-hero .eyebrow { color: var(--gold-2); }
.home-hero h1 {
  max-width: 640px;
  margin-bottom: 10px;
  font-size: clamp(4.2rem,6.2vw,6.9rem);
  line-height: .88;
}
.home-hero h1 span { color: #f7f7f3; }
.home-hero-signoff {
  margin: 0 0 24px;
  color: var(--gold-2);
  font: italic 500 clamp(2rem,3vw,3.15rem) Georgia,"Times New Roman",serif;
  line-height: 1;
}
.home-hero .hero-copy { max-width: 540px; color: #c8c8c3; }
.home-hero .hero-actions { margin-top: 26px; }
.home-hero .hero-status { margin-top: 24px; }

.home-hero-scene { position: relative; min-width: 0; background: #171713; overflow: hidden; }
.home-hero-scene::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(9,9,9,.34),transparent 25%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 45%); pointer-events: none; }
.home-hero-scene img { width: 100%; height: 100%; min-height: 690px; object-fit: cover; object-position: 49% 48%; filter: saturate(.92) contrast(1.04) brightness(.82); }
.home-hero-caption { position: absolute; z-index: 2; left: 28px; bottom: 26px; padding: 12px 16px; display: grid; gap: 1px; color:#fff; background: rgba(8,8,8,.72); border:1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); border-radius: 14px; }
.home-hero-caption span { color: var(--gold-2); text-transform: uppercase; letter-spacing:.13em; font-size:.62rem; font-weight:850; }
.home-hero-caption strong { font-family: Georgia,serif; font-weight:500; font-size:1.06rem; }

.home-hours-rail {
  padding: 52px 28px 34px;
  color: #deded9;
  background: radial-gradient(circle at 50% 0%,rgba(214,171,62,.09),transparent 32%),#11110f;
  border-left: 1px solid rgba(214,171,62,.18);
}
.rail-kicker { margin:0 0 22px; color:var(--gold-2); text-transform:uppercase; letter-spacing:.15em; font-size:.68rem; font-weight:850; }
.home-hours-rail dl { margin:0; }
.home-hours-rail dl div { display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.075); font-size:.79rem; }
.home-hours-rail dt,.home-hours-rail dd { margin:0; }
.home-hours-rail dd { color:#fff; font-weight:730; text-align:right; }
.rail-mantra { margin-top:34px; padding-top:26px; color:#fff; border-top:1px solid rgba(214,171,62,.35); font: italic 500 clamp(1.45rem,2vw,2.05rem)/1.06 Georgia,serif; letter-spacing:.02em; }

.home-week { padding: 0; background: var(--grey-075); }
.home-week-shell {
  width: min(1520px,calc(100% - 34px));
  margin: -1px auto 0;
  padding: 26px;
  display: grid;
  grid-template-columns: minmax(210px,.7fr) repeat(3,minmax(230px,1fr));
  gap: 14px;
  background: #f7f7f4;
  border:1px solid rgba(0,0,0,.07);
  border-radius: 0 0 26px 26px;
  box-shadow: 0 24px 70px rgba(15,15,14,.08);
}
.week-intro { padding: 10px 18px 8px 4px; align-self:center; }
.week-intro h2 { margin-bottom:16px; font-size:clamp(2.4rem,3.6vw,4rem); }
.week-now { display:grid; gap:2px; margin:0 0 18px; color:#4f4f4a; font-size:.84rem; }
.week-now strong { color:#1d1d1a; }
.week-now span { color:#6b6b65; }
.week-card {
  position:relative;
  min-height:245px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:20px;
  color:#fff;
  text-decoration:none;
  border-radius:16px;
  background:#121211;
  box-shadow:0 12px 30px rgba(20,20,18,.08);
  isolation:isolate;
}
.week-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:saturate(.88) contrast(1.04) brightness(.75); transition:transform .35s ease,filter .35s ease; }
.week-karaoke img { object-position:center 24%; }
.week-dj img { object-position:center 48%; }
.week-tequila img { object-position:center 38%; }
.week-card-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(6,6,6,.9) 0%,rgba(6,6,6,.34) 58%,rgba(6,6,6,.08) 100%); }
.week-day { color:var(--gold-2); text-transform:uppercase; letter-spacing:.13em; font-size:.64rem; font-weight:850; }
.week-card strong { margin-top:5px; font:500 clamp(1.55rem,2vw,2.1rem)/1 Georgia,serif; }
.week-card small { margin-top:5px; color:#ddd; }
.week-card.is-today { outline:2px solid var(--gold); outline-offset:-2px; box-shadow:0 0 0 5px rgba(214,171,62,.13),0 16px 38px rgba(20,20,18,.12); }
.week-card.is-today::after { content:'TONIGHT'; position:absolute; top:13px; right:13px; padding:6px 8px; border-radius:999px; color:#181207; background:var(--gold-2); font-size:.58rem; font-weight:900; letter-spacing:.11em; }
.week-card:hover img { transform:scale(1.035); filter:saturate(.98) contrast(1.06) brightness(.82); }

.home-essentials { padding-block: clamp(74px,8vw,118px); background: var(--grey-150); }
.home-essentials-heading { margin-bottom:34px; display:grid; grid-template-columns:1.25fr .75fr; gap:46px; align-items:end; }
.home-essentials-heading h2 { margin-bottom:0; max-width:760px; }
.home-essentials-heading > p { margin:0 0 8px; max-width:450px; color:#62625d; }
.home-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.home-feature {
  min-height:330px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  text-decoration:none;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow-card);
  transition:transform .22s ease,box-shadow .22s ease;
}
.home-feature:hover { transform:translateY(-3px); box-shadow:0 22px 50px rgba(15,15,14,.11); }
.home-feature-dark { color:#fff; background:#10100f; border-color:rgba(214,171,62,.15); }
.home-feature-light { color:var(--ink); background:#fff; }
.home-feature .feature-copy { padding:30px; display:flex; flex-direction:column; justify-content:center; }
.home-feature .feature-copy h3 { margin:8px 0 10px; max-width:360px; font:500 clamp(1.8rem,2.8vw,2.8rem)/.98 Georgia,serif; }
.home-feature .feature-copy p { margin:0 0 18px; max-width:390px; color:#61615d; }
.home-feature-dark .feature-copy p { color:#b9b9b4; }
.home-feature .feature-link { margin-top:auto; font-weight:780; color:#7b5c13; }
.home-feature-dark .feature-link { color:var(--gold-2); }
.home-feature .feature-image { min-width:0; min-height:330px; overflow:hidden; background:#ddd; }
.home-feature .feature-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.home-feature:hover .feature-image img { transform:scale(1.03); }
.feature-drinks .feature-image img { object-position:center 54%; }
.feature-food .feature-image img { object-position:center 55%; }
.feature-about .feature-image img { object-position:center 54%; }
.feature-careers .feature-image img { object-position:center 47%; }
.feature-about,.feature-careers { grid-template-columns:.9fr 1.1fr; }

.home-visit-strip { padding:34px 0; color:#fff; background:radial-gradient(circle at 12% 20%,rgba(214,171,62,.08),transparent 30%),#0d0d0c; border-top:1px solid rgba(214,171,62,.16); }
.home-visit-grid { display:grid; grid-template-columns:1.2fr .95fr .8fr auto; gap:24px; align-items:center; }
.home-visit-grid > div { display:grid; gap:3px; }
.home-visit-grid .mini-label { color:var(--gold-2); }
.home-visit-grid strong { font-family:Georgia,serif; font-size:1.1rem; font-weight:500; }
.home-visit-grid a:not(.button) { text-decoration:none; }

@media (prefers-reduced-motion:no-preference) {
  .home-hero-copy > * { animation:home-enter .65s ease both; }
  .home-hero-copy > *:nth-child(2) { animation-delay:.05s; }
  .home-hero-copy > *:nth-child(3) { animation-delay:.1s; }
  .home-hero-copy > *:nth-child(4) { animation-delay:.14s; }
  .home-hero-copy > *:nth-child(5) { animation-delay:.18s; }
  .home-hero-copy > *:nth-child(6) { animation-delay:.22s; }
  @keyframes home-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}

@media (max-width:1180px) {
  .home-hero { grid-template-columns:minmax(380px,.88fr) minmax(460px,1.25fr); }
  .home-hours-rail { grid-column:1 / 3; padding:22px max(28px,calc((100vw - 1000px)/2)); display:grid; grid-template-columns:170px 1fr auto; gap:26px; align-items:center; }
  .home-hours-rail dl { display:grid; grid-template-columns:repeat(7,1fr); gap:0; }
  .home-hours-rail dl div { padding:4px 9px; display:grid; justify-items:start; border-bottom:0; border-left:1px solid rgba(255,255,255,.08); }
  .home-hours-rail dd { text-align:left; font-size:.68rem; }
  .rail-kicker,.rail-mantra { margin:0; padding:0; border:0; }
  .rail-mantra { font-size:1.2rem; }
  .home-week-shell { grid-template-columns:minmax(190px,.65fr) repeat(3,1fr); width:min(1120px,calc(100% - 28px)); }
}

@media (max-width:960px) {
  .home-hero { grid-template-columns:1fr; }
  .home-hero-copy { padding:84px max(24px,calc((100vw - 760px)/2)) 44px; }
  .home-hero-copy::after { display:none; }
  .home-hero h1 { max-width:720px; font-size:clamp(4rem,11vw,6.4rem); }
  .home-hero-scene { min-height:520px; }
  .home-hero-scene img { min-height:520px; object-position:center 49%; }
  .home-hours-rail { grid-column:auto; grid-template-columns:140px 1fr; }
  .home-hours-rail dl { grid-column:1 / 3; order:3; }
  .rail-mantra { text-align:right; }
  .home-week-shell { grid-template-columns:repeat(3,1fr); }
  .week-intro { grid-column:1 / 4; display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; align-items:end; }
  .week-intro h2 { margin:0; }
  .week-now,.week-intro .text-link { justify-self:end; }
  .home-essentials-heading { grid-template-columns:1fr; gap:12px; }
  .home-feature { min-height:300px; }
  .home-visit-grid { grid-template-columns:1fr 1fr; }
  .home-visit-grid .button { width:100%; }
}

@media (max-width:680px) {
  .home-hero-copy { padding:66px 20px 34px; }
  .home-hero h1 { font-size:clamp(3.5rem,16vw,5.2rem); }
  .home-hero-signoff { font-size:2.25rem; }
  .home-hero-scene { min-height:430px; }
  .home-hero-scene img { min-height:430px; object-position:51% 48%; }
  .home-hero-caption { left:16px; right:16px; bottom:16px; }
  .home-hours-rail { grid-template-columns:1fr auto; padding:24px 18px; }
  .home-hours-rail dl { grid-column:1 / 3; grid-template-columns:repeat(2,1fr); gap:0 12px; }
  .home-hours-rail dl div { border-left:0; border-bottom:1px solid rgba(255,255,255,.07); padding:7px 0; }
  .home-week { padding:16px 0 0; }
  .home-week-shell { width:100%; padding:18px 14px 22px; grid-template-columns:1fr; border-radius:0; }
  .week-intro { grid-column:auto; display:block; padding:0 4px 8px; }
  .week-intro h2 { margin-bottom:12px; }
  .week-now,.week-intro .text-link { justify-self:auto; }
  .week-card { min-height:210px; }
  .week-karaoke img { object-position:center 22%; }
  .home-feature-grid { grid-template-columns:1fr; }
  .home-feature,.feature-about,.feature-careers { grid-template-columns:1fr; }
  .home-feature .feature-image { min-height:260px; order:-1; }
  .feature-drinks .feature-image,.feature-food .feature-image { order:-1; }
  .home-visit-grid { grid-template-columns:1fr; }
}


/* v0.2.3 — What’s On calendar treatment */
.whats-on-calendar .calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.calendar-day { min-height:220px; padding:22px 18px 20px; display:flex; flex-direction:column; border:1px solid rgba(18,18,18,.08); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.calendar-day-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:auto; }
.calendar-day-name { font-weight:900; text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; color:var(--ink-2); }
.calendar-today-chip { opacity:0; pointer-events:none; padding:5px 8px; border-radius:999px; background:var(--gold); color:#111; font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.calendar-day h3 { margin:28px 0 8px; font-size:1.15rem; line-height:1.1; }
.calendar-day p { margin:0 0 12px; color:var(--ink-2); font-size:.9rem; }
.calendar-day small { margin-top:auto; color:var(--muted); }
.calendar-day.is-today { border-color:rgba(191,148,54,.75); box-shadow:0 18px 44px rgba(35,27,10,.10); transform:translateY(-4px); }
.calendar-day.is-today .calendar-today-chip { opacity:1; }
@media (max-width:1180px){ .whats-on-calendar .calendar-week{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:760px){ .whats-on-calendar .calendar-week{ grid-template-columns:repeat(2,minmax(0,1fr)); } .calendar-day{min-height:190px;} }
@media (max-width:460px){ .whats-on-calendar .calendar-week{ grid-template-columns:1fr; } .calendar-day{min-height:auto;} }

/* v0.2.4 — Premium floating header, adapted from ZH Digital's refined floating-nav language. */
.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  right: auto;
  width: min(1420px, calc(100% - 36px));
  min-height: 88px;
  transform: translateX(-50%);
  padding: 10px 14px 10px 18px;
  grid-template-columns: 190px minmax(0,1fr) auto;
  gap: clamp(18px,2vw,34px);
  background: linear-gradient(180deg, rgba(20,20,18,.88), rgba(10,10,10,.78));
  border: 1px solid rgba(240,202,103,.20);
  border-radius: 28px;
  box-shadow:
    0 18px 55px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  transition: top .24s ease, width .24s ease, min-height .24s ease, background .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.site-header.is-scrolled {
  top: 10px;
  width: min(1360px, calc(100% - 28px));
  min-height: 78px;
  background: linear-gradient(180deg, rgba(15,15,14,.96), rgba(8,8,8,.93));
  border-color: rgba(240,202,103,.28);
  box-shadow: 0 16px 46px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.055);
}
.brand {
  display:flex;
  align-items:center;
  min-width:0;
  padding:2px 0 2px 6px;
}
.brand img {
  width: 168px;
  height: 66px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.38));
  transition: width .24s ease, height .24s ease, transform .24s ease;
}
.site-header.is-scrolled .brand img { width: 154px; height: 58px; }
.site-nav {
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(4px,.55vw,10px);
  padding:6px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:999px;
  background:rgba(255,255,255,.028);
}
.site-nav a {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:999px;
  color:#deded9;
  font-size:.86rem;
  font-weight:620;
  letter-spacing:-.01em;
  transition:color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-nav a::after { display:none; }
.site-nav a:hover,
.site-nav a:focus-visible {
  color:#fff;
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
body[data-page="home"] .site-nav a[data-nav="home"],
body[data-page="food"] .site-nav a[data-nav="food"],
body[data-page="drinks"] .site-nav a[data-nav="drinks"],
body[data-page="whats-on"] .site-nav a[data-nav="whats-on"],
body[data-page="gallery"] .site-nav a[data-nav="gallery"],
body[data-page="about"] .site-nav a[data-nav="about"],
body[data-page="careers"] .site-nav a[data-nav="careers"],
body[data-page="contact"] .site-nav a[data-nav="contact"] {
  color:#16130a;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  box-shadow:0 8px 22px rgba(214,171,62,.16), inset 0 1px 0 rgba(255,255,255,.28);
}
.header-cta {
  min-height:52px;
  padding-inline:24px;
  font-size:.9rem;
  white-space:nowrap;
  box-shadow:0 10px 26px rgba(214,171,62,.18), inset 0 1px 0 rgba(255,255,255,.25);
}
.header-cta:hover { box-shadow:0 14px 32px rgba(214,171,62,.24), inset 0 1px 0 rgba(255,255,255,.28); }
body[data-page="home"] .site-header {
  position: fixed;
  inset: auto auto auto 50%;
  top:18px;
  width:min(1420px,calc(100% - 36px));
  background:linear-gradient(180deg,rgba(18,18,16,.82),rgba(8,8,8,.70));
  border:1px solid rgba(240,202,103,.20);
  border-radius:28px;
  box-shadow:0 18px 55px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
}
body[data-page="home"] .site-header.is-scrolled {
  top:10px;
  width:min(1360px,calc(100% - 28px));
  background:linear-gradient(180deg,rgba(15,15,14,.96),rgba(8,8,8,.93));
}
body[data-page="home"] .site-header .site-nav a { text-shadow:none; }
body[data-page="home"] .site-header .brand img { filter:drop-shadow(0 4px 16px rgba(0,0,0,.38)); }

@media (max-width:1180px) {
  .site-header,
  body[data-page="home"] .site-header {
    width:min(1120px,calc(100% - 28px));
    grid-template-columns:160px minmax(0,1fr) auto;
    gap:12px;
    padding-inline:14px;
  }
  .brand img { width:148px; height:60px; }
  .site-nav { gap:2px; padding:5px; }
  .site-nav a { padding-inline:9px; font-size:.78rem; }
  .header-cta { padding-inline:18px; font-size:.82rem; }
}

@media (max-width:960px) {
  .site-header,
  body[data-page="home"] .site-header,
  .site-header.is-scrolled,
  body[data-page="home"] .site-header.is-scrolled {
    top:10px;
    width:calc(100% - 20px);
    min-height:76px;
    grid-template-columns:150px 1fr auto;
    padding:8px 10px 8px 14px;
    border-radius:22px;
    background:rgba(10,10,10,.95);
  }
  .brand img,
  .site-header.is-scrolled .brand img { width:142px; height:58px; }
  .nav-toggle {
    display:inline-flex;
    justify-self:end;
    align-items:center;
    justify-content:center;
    min-width:48px;
    min-height:48px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid rgba(240,202,103,.25);
    background:rgba(255,255,255,.04);
    color:#fff;
    font-weight:760;
  }
  .site-nav {
    position:absolute;
    top:84px;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:10px;
    gap:4px;
    border:1px solid rgba(240,202,103,.18);
    border-radius:20px;
    background:rgba(10,10,10,.98);
    box-shadow:0 20px 50px rgba(0,0,0,.36);
    backdrop-filter:blur(20px);
  }
  .site-nav.is-open { display:flex; }
  .site-nav a { justify-content:flex-start; min-height:46px; padding-inline:16px; font-size:.9rem; }
  .header-cta { display:none; }
}

@media (max-width:560px) {
  .site-header,
  body[data-page="home"] .site-header,
  .site-header.is-scrolled,
  body[data-page="home"] .site-header.is-scrolled {
    width:calc(100% - 14px);
    min-height:70px;
    grid-template-columns:132px 1fr auto;
    border-radius:20px;
    padding:7px 8px 7px 12px;
  }
  .brand img,
  .site-header.is-scrolled .brand img { width:126px; height:52px; }
  .nav-toggle { min-width:44px; min-height:44px; padding-inline:12px; font-size:.84rem; }
  .site-nav { top:78px; }
}


/* v0.2.5 — Mobile hero art-direction pass.
   Mobile becomes media-first so the singer and animated gold dress are actually visible. */
@media (max-width:760px) {
  .cinema-hero {
    min-height:0;
    display:block;
    overflow:hidden;
    background:#090909;
  }

  .cinema-hero-media {
    position:relative;
    inset:auto;
    width:100%;
    height:clamp(500px,68svh,650px);
    background-position:56% 50%;
    overflow:hidden;
  }

  .cinema-hero-media video {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:56% 50%;
  }

  .cinema-hero-shade {
    background:
      linear-gradient(180deg,rgba(5,5,5,.16) 0%,rgba(5,5,5,.03) 35%,rgba(5,5,5,.04) 62%,rgba(5,5,5,.70) 100%),
      linear-gradient(90deg,rgba(5,5,5,.18) 0%,transparent 28%,transparent 76%,rgba(5,5,5,.08) 100%);
  }

  .cinema-hero-inner {
    width:100%;
    min-height:0;
    margin:0;
    padding:28px 20px 38px;
    display:grid;
    grid-template-columns:1fr;
    gap:26px;
    align-items:start;
    background:
      linear-gradient(180deg,#090909 0%,#0c0c0b 60%,#0e0e0c 100%);
  }

  .cinema-hero-copy {
    max-width:620px;
    margin:0 auto;
    width:100%;
    text-shadow:none;
  }

  .cinema-hero .eyebrow {
    margin-bottom:12px;
    font-size:.68rem;
    letter-spacing:.15em;
  }

  .cinema-hero h1 {
    max-width:560px;
    margin-bottom:16px;
    font-size:clamp(3.45rem,14vw,4.85rem);
    line-height:.89;
  }

  .cinema-hero .hero-copy {
    max-width:560px;
    color:#e7e5df;
    font-size:1rem;
    line-height:1.65;
    text-shadow:none;
  }

  .cinema-hero .hero-actions {
    margin-top:22px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .cinema-hero .hero-actions .button {
    min-height:52px;
    padding-inline:14px;
  }

  .cinema-hero .hero-actions .button:first-child {
    grid-column:1/-1;
  }

  .hero-tonight-card {
    width:100%;
    max-width:620px;
    margin:0 auto;
    padding:20px;
    border-radius:20px;
    background:linear-gradient(145deg,rgba(8,8,8,.98),rgba(15,14,12,.96));
    backdrop-filter:none;
  }

  .hero-tonight-event {
    grid-template-columns:50px 1fr;
    gap:14px;
    padding-bottom:17px;
  }

  .hero-event-icon {
    width:50px;
    height:50px;
  }

  .hero-tonight-event strong {
    font-size:1.35rem;
  }

  .hero-tonight-link {
    min-height:54px;
    margin-top:16px;
  }
}

/* Small phones: preserve more of the dress rather than zooming into the face. */
@media (max-width:430px) {
  .cinema-hero-media {
    height:clamp(510px,70svh,620px);
    background-position:57.5% 50%;
  }

  .cinema-hero-media video {
    object-position:57.5% 50%;
  }

  .cinema-hero-inner {
    padding-inline:16px;
  }

  .cinema-hero h1 {
    font-size:clamp(3.25rem,15vw,4.25rem);
  }
}



/* ==========================================================
   v0.3.0 — Sitewide Experience Cohesion Pass
   Make the full site feel designed beside the cinemagraph hero:
   cinematic dark anchors, warm-grey editorial breathing room,
   stronger asymmetry, restrained gold, fewer generic white cards.
   ========================================================== */

:root {
  --vault-surface-dark:#0b0b0a;
  --vault-surface-deep:#11110f;
  --vault-surface-mid:#1a1916;
  --vault-paper:#f3f2ed;
  --vault-paper-2:#e8e7e1;
  --vault-line:rgba(214,171,62,.20);
  --vault-glow:rgba(240,202,103,.12);
  --vault-shadow:0 24px 70px rgba(8,8,7,.12);
}

/* Secondary heroes now share the same cinematic confidence as home. */
body:not([data-page="home"]) .page-hero {
  min-height:clamp(660px,80svh,840px);
  align-items:end;
  background:#090909;
  isolation:isolate;
}
body:not([data-page="home"]) .page-hero::before {
  filter:saturate(1.02) contrast(1.06) brightness(.88);
  transform:scale(1.025);
}
body:not([data-page="home"]) .page-hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:32%;
  z-index:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.36));
  pointer-events:none;
}
body:not([data-page="home"]) .page-hero-shade {
  z-index:0;
  background:
    radial-gradient(circle at 73% 42%,rgba(214,171,62,.08),transparent 30%),
    linear-gradient(90deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.72) 34%,rgba(5,5,5,.24) 66%,rgba(5,5,5,.18) 100%),
    linear-gradient(0deg,rgba(0,0,0,.72) 0%,transparent 58%);
}
body:not([data-page="home"]) .page-hero-content {
  width:min(1280px,calc(100% - 64px));
  padding:190px 0 82px;
}
body:not([data-page="home"]) .page-hero-content::before {
  content:"";
  display:block;
  width:68px;
  height:2px;
  margin-bottom:24px;
  background:linear-gradient(90deg,var(--gold-2),rgba(240,202,103,.08));
  box-shadow:0 0 24px rgba(240,202,103,.18);
}
body:not([data-page="home"]) .page-hero-content h1 {
  max-width:820px;
  margin-bottom:22px;
  font-size:clamp(4.5rem,7vw,7.5rem);
  line-height:.9;
  letter-spacing:-.05em;
  text-shadow:0 3px 30px rgba(0,0,0,.52);
}
body:not([data-page="home"]) .page-hero-content > p:not(.eyebrow) {
  max-width:610px;
  color:#eeeae1;
  font-size:clamp(1.02rem,1.3vw,1.18rem);
  line-height:1.65;
  text-shadow:0 2px 20px rgba(0,0,0,.62);
}
body:not([data-page="home"]) .page-hero .eyebrow { color:var(--gold-2); }

/* Art-direct the existing real imagery rather than treating every page identically. */
body[data-page="food"] .page-hero::before { background-position:center 56%; }
body[data-page="drinks"] .page-hero::before { background-position:center 52%; }
body[data-page="whats-on"] .page-hero::before { background-position:center 26%; }
body[data-page="gallery"] .page-hero::before { background-position:center 44%; }
body[data-page="about"] .page-hero::before { background-position:center 48%; }
body[data-page="careers"] .page-hero::before { background-position:center 46%; }
body[data-page="contact"] .page-hero::before { background-position:center 52%; }

/* Page rhythm: dark anchors against flexible greys instead of long slabs of cards. */
.section-light {
  background:
    radial-gradient(circle at 88% 8%,rgba(214,171,62,.055),transparent 27%),
    var(--vault-paper);
}
.section-grey {
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 24%),
    var(--vault-paper-2);
}
.section-dark {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(214,171,62,.08),transparent 30%),
    radial-gradient(circle at 5% 90%,rgba(255,255,255,.025),transparent 28%),
    var(--vault-surface-deep);
}
.section-dark::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-top:1px solid rgba(240,202,103,.10);
  border-bottom:1px solid rgba(240,202,103,.08);
}
.section-dark > .container { position:relative; z-index:1; }
.section-heading { margin-bottom:clamp(36px,5vw,62px); }
.section-heading h2 { letter-spacing:-.04em; }
.section-intro { font-size:1rem; }

/* Cards: less template-y, more editorial and material. */
.white-card {
  border:1px solid rgba(15,15,13,.07);
  border-radius:22px;
  box-shadow:0 18px 48px rgba(15,15,13,.075);
}
.white-card:hover { border-color:rgba(142,106,22,.18); }

/* HOME — let the cinematic hero flow into a darker weekly programme, then breathe. */
.home-week {
  padding:0 0 clamp(58px,7vw,92px);
  background:
    radial-gradient(circle at 72% 0%,rgba(214,171,62,.11),transparent 30%),
    linear-gradient(180deg,#090909 0%,#11110f 100%);
  color:#fff;
}
.home-week-shell {
  width:min(1320px,calc(100% - 48px));
  transform:translateY(-1px);
  padding:30px;
  gap:18px;
  border:1px solid rgba(240,202,103,.15);
  border-radius:0 0 30px 30px;
  background:rgba(18,18,16,.80);
  box-shadow:0 30px 90px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
}
.week-intro { padding-inline:8px 20px; }
.week-intro .eyebrow,.week-day { color:var(--gold-2); }
.week-intro h2,.week-now strong { color:#fff; }
.week-now span { color:#aaa9a3; }
.week-intro .text-link { color:var(--gold-2); }
.week-card {
  min-height:285px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:19px;
  box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.week-card-shade { background:linear-gradient(0deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.28) 64%,rgba(4,4,4,.08)); }

.home-essentials {
  padding-block:clamp(88px,9vw,136px);
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.48),transparent 26%),
    var(--vault-paper-2);
}
.home-essentials-heading { margin-bottom:48px; }
.home-essentials-heading > p { font-size:1.03rem; line-height:1.7; }
.home-feature-grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.home-feature { min-height:410px; border-radius:26px; }
.feature-drinks { grid-column:span 7; }
.feature-food { grid-column:span 5; grid-template-columns:1fr; }
.feature-about { grid-column:span 5; grid-template-columns:1fr; }
.feature-careers { grid-column:span 7; }
.feature-food .feature-image,.feature-about .feature-image { min-height:220px; }
.feature-food .feature-copy,.feature-about .feature-copy { padding-top:25px; }
.home-feature .feature-copy { padding:34px; }
.home-feature .feature-copy h3 { font-size:clamp(2rem,3vw,3.2rem); }
.home-feature-dark { background:linear-gradient(145deg,#0c0c0b,#171611); border-color:rgba(240,202,103,.16); }
.home-feature-dark .feature-image { position:relative; }
.home-feature-dark .feature-image::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 60px rgba(0,0,0,.18); pointer-events:none; }
.home-visit-strip { padding:42px 0; background:linear-gradient(100deg,#0b0b0a,#14130f 65%,#0c0c0b); }

/* FOOD — warmer hospitality, one dark menu anchor and less card-wall effect. */
body[data-page="food"] .split-story { grid-template-columns:.9fr 1.1fr; }
body[data-page="food"] .story-image { min-height:600px; transform:rotate(.6deg); }
body[data-page="food"] .menu-grid { grid-template-columns:.86fr 1.28fr .86fr; align-items:stretch; }
body[data-page="food"] .menu-panel { padding:32px; }
body[data-page="food"] .menu-panel:nth-child(2) {
  color:#fff;
  background:linear-gradient(145deg,#10100e,#1b1914);
  border-color:rgba(240,202,103,.18);
  box-shadow:0 26px 65px rgba(18,16,10,.16);
  transform:translateY(-14px);
}
body[data-page="food"] .menu-panel:nth-child(2) .menu-list li { border-color:rgba(255,255,255,.09); }
body[data-page="food"] .menu-panel:nth-child(2) .menu-list small { color:#aaa9a3; }
body[data-page="food"] .menu-panel:nth-child(2) .menu-list b { color:var(--gold-2); }
body[data-page="food"] .photo-triptych { gap:18px; }
body[data-page="food"] .photo-triptych img { border-radius:24px; box-shadow:0 24px 60px rgba(15,15,13,.11); }

/* DRINKS — darker, closer to the hero's nightlife language. */
body[data-page="drinks"] #signature {
  color:#fff;
  background:
    radial-gradient(circle at 84% 12%,rgba(214,171,62,.10),transparent 28%),
    #11110f;
}
body[data-page="drinks"] #signature .section-intro { color:#b9b8b2; }
body[data-page="drinks"] #signature .eyebrow { color:var(--gold-2); }
body[data-page="drinks"] .signature-grid { grid-template-columns:1.45fr .72fr .72fr; gap:16px; }
body[data-page="drinks"] .signature-grid .white-card {
  color:#fff;
  background:#181713;
  border-color:rgba(240,202,103,.12);
  box-shadow:0 22px 56px rgba(0,0,0,.24);
}
body[data-page="drinks"] .signature-lead > div { padding:34px; }
body[data-page="drinks"] .signature-lead p { color:#b8b7b1; }
body[data-page="drinks"] .signature-photo small { color:#9d9c96; }
body[data-page="drinks"] .wide-media { border-radius:26px; overflow:hidden; box-shadow:var(--vault-shadow); }

/* WHAT'S ON — make the schedule feel like a nightlife calendar, not admin cards. */
.whats-on-calendar {
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.45),transparent 24%),
    var(--vault-paper-2);
}
.whats-on-calendar .calendar-week { gap:10px; }
.calendar-day {
  min-height:245px;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 34px rgba(15,15,13,.055);
}
.calendar-day h3 { font:500 1.45rem/1.05 Georgia,serif; }
.calendar-day.is-today {
  color:#fff;
  background:linear-gradient(145deg,#0e0e0d,#1a1813);
  border-color:rgba(240,202,103,.52);
  box-shadow:0 24px 60px rgba(24,19,8,.18);
}
.calendar-day.is-today .calendar-day-name,.calendar-day.is-today p,.calendar-day.is-today small { color:#d5d3ca; }
.calendar-day.is-today .calendar-day-name { color:var(--gold-2); }
.calendar-day.is-today .calendar-today-chip { background:var(--gold-2); }
.whats-on-tonight .standalone-tonight { box-shadow:0 28px 80px rgba(0,0,0,.28); }

/* GALLERY — immersive wall of real Vault life. */
body[data-page="gallery"] .section-grey {
  color:#fff;
  background:#11110f;
}
body[data-page="gallery"] .section-grey .eyebrow { color:var(--gold-2); }
body[data-page="gallery"] .section-grey .section-intro { color:#b9b8b2; }
body[data-page="gallery"] .gallery-masonry { column-gap:18px; }
body[data-page="gallery"] .gallery-masonry figure {
  margin-bottom:18px;
  border:1px solid rgba(240,202,103,.10);
  box-shadow:0 22px 55px rgba(0,0,0,.22);
}
body[data-page="gallery"] .gallery-masonry figcaption { background:rgba(8,8,8,.76); border:1px solid rgba(240,202,103,.18); }

/* ABOUT — make the principles feel editorial rather than generic equal cards. */
body[data-page="about"] .principle-grid { grid-template-columns:1.15fr .85fr .85fr; align-items:stretch; }
body[data-page="about"] .principle-grid article:first-child {
  color:#fff;
  background:linear-gradient(145deg,#0d0d0c,#1a1814);
  border-color:rgba(240,202,103,.16);
}
body[data-page="about"] .principle-grid article:first-child p { color:#b9b8b2; }
body[data-page="about"] .principle-grid article:first-child > span { background:var(--gold-2); color:#16130a; }
body[data-page="about"] .split-story-dark .story-image { min-height:560px; }

/* CAREERS — application is the focal object, not another generic pale section. */
body[data-page="careers"] #apply {
  color:#fff;
  background:radial-gradient(circle at 15% 10%,rgba(214,171,62,.08),transparent 28%),#11110f;
}
body[data-page="careers"] #apply .eyebrow { color:var(--gold-2); }
body[data-page="careers"] #apply > .container > div > p { color:#b9b8b2; }
body[data-page="careers"] .application-form {
  color:var(--ink);
  border-color:rgba(240,202,103,.14);
  box-shadow:0 28px 70px rgba(0,0,0,.25);
}

/* CONTACT — stronger dark/light contrast and clearer decision points. */
body[data-page="contact"] .contact-grid { grid-template-columns:1.15fr .85fr; }
body[data-page="contact"] .contact-card:first-child {
  color:#fff;
  background:linear-gradient(145deg,#0e0e0d,#191813);
  border-color:rgba(240,202,103,.16);
  box-shadow:0 24px 60px rgba(20,17,10,.16);
}
body[data-page="contact"] .contact-card:first-child p { color:#c0bfb8; }
body[data-page="contact"] .contact-card:first-child a { color:var(--gold-2); }
body[data-page="contact"] .contact-card { min-height:300px; padding:38px; }
body[data-page="contact"] .visit-grid { gap:clamp(46px,8vw,120px); }
body[data-page="contact"] .hours { border:1px solid rgba(142,106,22,.14); }

/* Footer now carries the same weight as the premium header. */
.site-footer {
  padding-top:78px;
  background:
    radial-gradient(circle at 14% 0%,rgba(214,171,62,.10),transparent 30%),
    linear-gradient(180deg,#0a0a09,#060606);
  border-top:1px solid rgba(240,202,103,.10);
}
.footer-brand img { width:176px; }
.footer-grid { gap:54px; }

/* Micro-motion: calm, purposeful, never competing with the hero. */
@media (prefers-reduced-motion:no-preference) {
  body:not([data-page="home"]) .page-hero::before { transition:transform 7s ease; }
  body:not([data-page="home"]) .page-hero:hover::before { transform:scale(1.045); }
  .white-card,.calendar-day,.gallery-masonry figure { transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
  .white-card:hover,.gallery-masonry figure:hover { transform:translateY(-3px); box-shadow:0 26px 62px rgba(12,12,10,.12); }
}

@media (max-width:1100px) {
  .feature-drinks,.feature-food,.feature-about,.feature-careers { grid-column:span 6; }
  body[data-page="food"] .menu-grid { grid-template-columns:1fr 1fr; }
  body[data-page="food"] .menu-panel:nth-child(2) { transform:none; }
  body[data-page="about"] .principle-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  body:not([data-page="home"]) .page-hero { min-height:700px; }
  body:not([data-page="home"]) .page-hero-content { width:calc(100% - 32px); padding:150px 0 48px; }
  body:not([data-page="home"]) .page-hero-content h1 { font-size:clamp(3.5rem,15vw,5.1rem); }
  body:not([data-page="home"]) .page-hero-shade {
    background:linear-gradient(0deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.62) 53%,rgba(5,5,5,.20) 100%);
  }
  .home-week-shell { width:100%; padding:24px 16px 28px; border-radius:0; }
  .week-card { min-height:240px; }
  .home-feature-grid { grid-template-columns:1fr; }
  .feature-drinks,.feature-food,.feature-about,.feature-careers { grid-column:auto; }
  .home-feature { min-height:0; }
  body[data-page="food"] .story-image { transform:none; min-height:430px; }
  body[data-page="food"] .menu-grid { grid-template-columns:1fr; }
  body[data-page="drinks"] .signature-grid { grid-template-columns:1fr; }
  body[data-page="contact"] .contact-grid { grid-template-columns:1fr; }
  .footer-brand img { width:158px; }
}


/* =========================================================
   v0.4.0 — Experience architecture + admin-managed media
   ========================================================= */
.site-nav a.is-active{color:#fff}.site-nav a.is-active::after{right:0}.social-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.social-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 11px;border:1px solid rgba(240,202,103,.24);border-radius:999px;color:var(--gold-2);text-decoration:none;background:rgba(240,202,103,.04);font-size:.82rem;font-weight:750}.social-badge svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-badge-compact{margin-top:12px}.contact-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.home-feature-text{grid-template-columns:1fr!important;min-height:300px}.home-feature-text .feature-copy{display:flex;flex-direction:column;justify-content:flex-end}.home-feature-text .feature-copy h3{max-width:11ch}.food-hero-layout{position:relative;z-index:2;width:var(--container);margin:auto;min-height:760px;padding:155px 0 90px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;color:#fff}.food-brand-lockup{align-self:center;width:min(360px,100%);padding:30px;border:1px solid rgba(240,202,103,.28);border-radius:26px;background:rgba(9,9,9,.75);backdrop-filter:blur(14px);text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.34)}.bambis-logo{max-height:190px;margin:0 auto;object-fit:contain}.bambis-logo-fallback span{display:block;font:500 clamp(3rem,6vw,5rem)/.9 Georgia,serif;color:var(--gold-2)}.bambis-logo-fallback small{display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.22em;color:#fff;font-weight:800}.food-brand-lockup p{margin:20px 0 0;color:#bdbab1}.food-hero-copy h1{font-size:clamp(5rem,9vw,8rem);max-width:8ch}.food-feature{padding:110px 0;background:radial-gradient(circle at 80% 30%,rgba(214,171,62,.1),transparent 30%),#0b0b09}.food-feature-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.food-feature-copy p{color:#c4c1b8;max-width:58ch}.food-quick-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px}.food-quick-actions a{color:var(--gold-2);font-weight:800}.food-feature-plate{min-height:520px;display:grid;place-items:center;border:1px solid rgba(240,202,103,.15);border-radius:32px;background:radial-gradient(circle,#2a2517 0%,#12110e 58%,#090909 100%);overflow:hidden}.food-feature-plate img{width:100%;height:100%;max-height:560px;object-fit:contain}.food-menu{padding:110px 0;background:#0e0e0d;color:#fff}.food-menu .section-intro{color:#aaa79f}.menu-filter,.caught-filters{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.menu-filter button,.caught-filters button,.pour-buttons button{border:1px solid rgba(240,202,103,.22);border-radius:999px;padding:10px 15px;background:#181713;color:#d8d5cc;font-weight:760;cursor:pointer}.menu-filter button.is-active,.caught-filters button.is-active,.pour-buttons button.is-active{background:var(--gold-2);color:#17130a;border-color:var(--gold-2)}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dish-card{min-height:460px;border:1px solid rgba(240,202,103,.13);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#12110e,#1b1812);box-shadow:0 24px 60px rgba(0,0,0,.18)}.dish-card[hidden]{display:none}.dish-card-media{height:265px;padding:12px;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(214,171,62,.14),transparent 48%),#0b0b0a}.dish-card-media img{width:100%;height:100%;object-fit:contain}.dish-card-copy{padding:24px}.dish-card-copy h3{font:500 1.8rem/1 Georgia,serif;margin:8px 0 10px}.dish-card-copy p{color:#aaa79f;min-height:48px}.dish-card-copy strong{color:var(--gold-2);font-size:1.1rem}.dish-category{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--gold-2);font-weight:850}.dish-card-sides{grid-column:span 2;min-height:0}.dish-card-sides .chip-list span{background:#242119;border-color:rgba(240,202,103,.14);color:#dedbd2}.vault-pours{padding:110px 0;background:radial-gradient(circle at 10% 10%,rgba(214,171,62,.1),transparent 30%),#0c0c0b;color:#fff}.vault-pours .section-intro{color:#aaa79f}.pour-board{display:grid;grid-template-columns:1.15fr .85fr;min-height:610px;border:1px solid rgba(240,202,103,.18);border-radius:30px;overflow:hidden;background:#15130f;box-shadow:0 30px 90px rgba(0,0,0,.28)}.pour-board-image img{width:100%;height:100%;object-fit:cover}.pour-board-control{padding:36px;display:flex;flex-direction:column;justify-content:space-between}.pour-buttons{display:flex;flex-wrap:wrap;gap:8px}.pour-detail{padding-top:60px}.pour-detail h3{font:500 clamp(3rem,5vw,5.5rem)/.9 Georgia,serif;margin:10px 0 20px;color:#fff}.pour-detail p{font-size:1.06rem;color:#bbb8ae}.drinks-editorial{display:grid;grid-template-columns:1.45fr .75fr .75fr;gap:16px}.drinks-editorial article{border:1px solid rgba(240,202,103,.13);border-radius:24px;overflow:hidden;background:#151410}.drinks-editorial img{width:100%;height:280px;object-fit:cover}.drink-editorial-main{display:grid!important;grid-template-columns:1.1fr .9fr}.drink-editorial-main img{height:100%}.drink-editorial-main>div,.drinks-editorial article:not(.drink-editorial-main) h3{padding:28px}.drink-editorial-main p{color:#bbb8ae}.drink-night-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.drink-night-card{position:relative;min-height:520px;border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;padding:34px;display:flex;flex-direction:column;justify-content:flex-end}.drink-night-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.drink-night-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.08) 70%)}.drink-night-card>*:not(img){position:relative;z-index:2}.drink-night-card span{color:var(--gold-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.drink-night-card h3{font:500 clamp(2.5rem,4vw,4.6rem)/.9 Georgia,serif;margin:10px 0}.inside-tonight{padding:110px 0}.inside-tonight-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.inside-event-meta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.inside-event-meta span{padding:8px 11px;border:1px solid rgba(240,202,103,.2);border-radius:999px;color:var(--gold-2)}.inside-tonight-copy p{color:#aaa79f}.inside-tonight-image{height:580px;border-radius:30px;overflow:hidden;border:1px solid rgba(240,202,103,.16)}.inside-tonight-image img{width:100%;height:100%;object-fit:cover}.inside-panels{padding:20px 0 110px;background:#0b0b0a}.inside-panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.inside-panel{position:relative;min-height:580px;padding:38px;display:flex;align-items:flex-end;border-radius:30px;overflow:hidden;color:#fff;text-decoration:none}.inside-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.inside-panel-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.08) 72%)}.inside-panel>div{position:relative;z-index:2}.inside-panel h2{max-width:9ch}.inside-panel p{max-width:48ch;color:#d1cec5}.caught-teaser{padding:110px 0}.caught-teaser-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}.caught-teaser-grid>div>p{max-width:52ch}.caught-teaser-image{position:relative;height:580px;border-radius:30px;overflow:hidden;color:#fff;text-decoration:none}.caught-teaser-image img{width:100%;height:100%;object-fit:cover}.caught-teaser-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.72),transparent 50%)}.caught-teaser-image span{position:absolute;left:28px;bottom:24px;z-index:2;font-weight:800}.inside-utility{display:flex;align-items:end;justify-content:space-between;gap:30px}.caught-wall{padding:110px 0;background:#0d0d0c;color:#fff}.caught-wall .section-intro{color:#aaa79f}.caught-grid{columns:3 280px;column-gap:16px}.caught-grid figure{break-inside:avoid;margin:0 0 16px}.caught-grid figure[hidden]{display:none}.caught-photo{position:relative;width:100%;padding:0;border:1px solid rgba(240,202,103,.12);border-radius:20px;overflow:hidden;background:#171612;cursor:zoom-in;color:#fff;text-align:left}.caught-photo img{width:100%;max-height:620px;object-fit:cover}.caught-photo span{position:absolute;left:12px;bottom:12px;padding:7px 9px;border-radius:10px;background:rgba(8,8,8,.76);backdrop-filter:blur(8px);font-size:.8rem}.lightbox{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:40px;background:rgba(0,0,0,.93)}.lightbox[hidden]{display:none}.lightbox img{max-width:min(1100px,92vw);max-height:80vh;object-fit:contain}.lightbox p{color:#fff;margin:12px}.lightbox-close{position:absolute;right:24px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#151515;color:#fff;font-size:2rem;cursor:pointer}body.lightbox-open{overflow:hidden}
@media(max-width:1100px){.dish-grid{grid-template-columns:1fr 1fr}.pour-board,.food-feature-layout,.inside-tonight-grid,.caught-teaser-grid{grid-template-columns:1fr}.drinks-editorial{grid-template-columns:1fr 1fr}.drink-editorial-main{grid-column:1/-1}.inside-panel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.food-hero-layout{min-height:760px;padding:160px 16px 50px;grid-template-columns:1fr;gap:24px;align-items:end}.food-brand-lockup{width:250px;padding:20px;text-align:left}.bambis-logo-fallback span{font-size:3rem}.food-hero-copy h1{font-size:4.6rem}.food-feature,.food-menu,.vault-pours,.caught-wall,.caught-teaser,.inside-tonight{padding:78px 0}.food-feature-plate{min-height:390px}.dish-grid{grid-template-columns:1fr}.dish-card-sides{grid-column:auto}.dish-card{min-height:0}.pour-board{min-height:0}.pour-board-image{height:420px}.pour-board-control{padding:24px}.pour-detail{padding-top:36px}.drinks-editorial{grid-template-columns:1fr}.drink-editorial-main{display:block!important}.drink-editorial-main img{height:300px}.drink-night-grid,.inside-panel-grid{grid-template-columns:1fr}.drink-night-card,.inside-panel{min-height:460px}.inside-tonight-image,.caught-teaser-image{height:440px}.inside-utility{align-items:start;flex-direction:column}.home-feature-text{min-height:240px}.social-badges{align-items:flex-start;flex-direction:column}.caught-grid{columns:2 150px}.lightbox{padding:20px}.header-cta{font-size:.76rem;padding-inline:14px}}

/* v0.4.1 — Bambi's Food hero: expressive split composition with partial video. */
.food-hero-split{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:760px;
  background:
    radial-gradient(circle at 14% 20%,rgba(226,184,76,.14),transparent 28%),
    radial-gradient(circle at 78% 76%,rgba(197,137,24,.11),transparent 30%),
    linear-gradient(145deg,#080806 0%,#11100c 50%,#080807 100%);
  color:#fff;
  border-bottom:1px solid rgba(228,188,85,.14);
}
.food-hero-ambient{position:absolute;inset:0;pointer-events:none;opacity:.72;background:
  linear-gradient(90deg,transparent 0 8%,rgba(225,183,74,.12) 8% 8.08%,transparent 8.08% 91.92%,rgba(225,183,74,.12) 91.92% 92%,transparent 92%),
  radial-gradient(circle at 8% 9%,transparent 0 34px,rgba(224,179,65,.22) 35px 36px,transparent 37px),
  radial-gradient(circle at 92% 91%,transparent 0 46px,rgba(224,179,65,.15) 47px 48px,transparent 49px)}
.food-hero-split::before,.food-hero-split::after{content:"";position:absolute;width:180px;height:180px;z-index:0;opacity:.75;pointer-events:none}
.food-hero-split::before{left:34px;top:132px;border-left:1px solid rgba(239,199,91,.45);border-top:1px solid rgba(239,199,91,.45);border-radius:28px 0 0 0}
.food-hero-split::after{right:34px;bottom:38px;border-right:1px solid rgba(239,199,91,.34);border-bottom:1px solid rgba(239,199,91,.34);border-radius:0 0 28px 0}
.food-hero-split .food-hero-layout{position:relative;z-index:2;width:var(--container);margin:auto;min-height:760px;padding:155px 0 76px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);gap:clamp(42px,6vw,96px);align-items:center}
.food-hero-split .food-hero-copy{max-width:650px}
.food-hero-split .food-brand-lockup{width:min(420px,100%);margin:0 0 28px;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;text-align:left}
.food-hero-split .bambis-logo{display:block;width:min(390px,88%);max-height:none;margin:0;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.32))}
.food-hero-split .food-brand-lockup p{display:inline-flex;align-items:center;gap:10px;margin:12px 0 0;color:#d2c9af;text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:850}
.food-hero-split .food-brand-lockup p::before,.food-hero-split .food-brand-lockup p::after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2))}
.food-hero-split .food-brand-lockup p::after{background:linear-gradient(90deg,var(--gold-2),transparent)}
.food-hero-split .food-hero-copy>.eyebrow{margin-top:34px}
.food-hero-split .food-hero-copy h1{font-size:clamp(5.4rem,8vw,8.6rem);line-height:.83;max-width:7ch;margin:.08em 0 .18em;color:#fff}
.food-hero-split .food-hero-copy>p:not(.eyebrow){max-width:54ch;color:#c8c4b9;font-size:1.05rem;line-height:1.72}
.food-hero-split .hero-actions{margin-top:28px}
.food-hero-media{position:relative;justify-self:end;width:min(470px,100%);padding:17px 17px 18px;border:1px solid rgba(238,197,84,.34);border-radius:34px;background:linear-gradient(145deg,rgba(42,34,17,.88),rgba(10,10,9,.95));box-shadow:0 44px 110px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,232,163,.07)}
.food-hero-media::before,.food-hero-media::after{content:"✦";position:absolute;z-index:4;color:var(--gold-2);font-size:1rem;text-shadow:0 0 16px rgba(238,190,65,.5)}
.food-hero-media::before{left:-7px;top:58px}.food-hero-media::after{right:-7px;bottom:72px}
.food-hero-frame{position:relative;overflow:hidden;aspect-ratio:720/1290;border-radius:24px;background:#0a0907}
.food-hero-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#0a0907}
.food-video-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.03),transparent 62%,rgba(7,5,2,.28));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.food-hero-caption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 7px 0;color:#d9d4c7}
.food-hero-caption span{font-family:Georgia,serif;font-size:1.05rem;color:#f2d27a}.food-hero-caption small{color:#8f8b80;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem}

@media(max-width:980px){
  .food-hero-split .food-hero-layout{grid-template-columns:1fr .72fr;gap:36px}
  .food-hero-split .food-hero-copy h1{font-size:clamp(4.8rem,9vw,7rem)}
}
@media(max-width:760px){
  .food-hero-split{min-height:0}
  .food-hero-split::before{left:16px;top:128px}.food-hero-split::after{right:16px;bottom:28px}
  .food-hero-split .food-hero-layout{min-height:0;padding:142px 16px 58px;grid-template-columns:1fr;gap:38px;align-items:start}
  .food-hero-split .food-hero-copy{max-width:none}
  .food-hero-split .food-brand-lockup{width:100%;margin-bottom:18px}
  .food-hero-split .bambis-logo{width:min(330px,82vw)}
  .food-hero-split .food-hero-copy>.eyebrow{margin-top:26px}
  .food-hero-split .food-hero-copy h1{font-size:clamp(4.3rem,17vw,6.2rem)}
  .food-hero-split .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .food-hero-split .hero-actions .button{min-height:52px;padding-inline:12px}
  .food-hero-media{justify-self:center;width:min(430px,100%);padding:12px;border-radius:26px}
  .food-hero-frame{border-radius:18px;max-height:68svh}
  .food-hero-caption{padding:13px 4px 2px;align-items:flex-start;flex-direction:column;gap:3px}
}
@media(prefers-reduced-motion:reduce){.food-hero-frame video{animation:none}}
/* v0.4.2 — Food menu readability + smoother hero playback. */
.food-hero-frame video{transform:translateZ(0);will-change:transform;backface-visibility:hidden}
.dish-card-copy{display:flex;flex-direction:column;min-height:195px}
.dish-card-copy strong{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:auto;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#f5d374,#d9a934);color:#17130a!important;font-size:1.08rem;line-height:1;font-weight:900;box-shadow:0 8px 24px rgba(214,171,62,.16)}
.dish-card-copy p{margin-bottom:18px}
@media(max-width:760px){.dish-card-copy{min-height:0}.dish-card-copy strong{margin-top:8px}}

/* v0.4.2 — image-first expandable Food menu cards */
.food-menu .dish-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.food-menu .dish-card{min-height:0;border:1px solid rgba(240,202,103,.16);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#11100d,#18150f);box-shadow:0 18px 46px rgba(0,0,0,.2);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.food-menu .dish-card:hover{transform:translateY(-3px);border-color:rgba(240,202,103,.34);box-shadow:0 24px 54px rgba(0,0,0,.28)}
.food-menu .dish-card-toggle{position:relative;display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.food-menu .dish-card-media{position:relative;display:block;width:100%;height:auto;aspect-ratio:1/1;overflow:hidden;padding:0;background:radial-gradient(circle at 50% 42%,rgba(214,171,62,.14),transparent 50%),#0b0b0a}
.food-menu .dish-card-media::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(180deg,transparent,rgba(7,7,6,.2) 26%,rgba(7,7,6,.94) 100%);pointer-events:none}
.food-menu .dish-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease}
.food-menu .dish-card:hover .dish-card-media img,.food-menu .dish-card.is-expanded .dish-card-media img{transform:scale(1.035)}
.food-menu .dish-card-glance{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:18px}
.food-menu .dish-card-title{font:500 clamp(1.35rem,2vw,1.75rem)/1 Georgia,serif;color:#fff;text-wrap:balance}
.food-menu .dish-card-cue{display:flex;align-items:center;gap:7px;margin-top:2px;color:#e6c45f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.food-menu .dish-card-cue span{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid rgba(240,202,103,.45);border-radius:50%;font-size:.95rem;line-height:1;transition:transform .2s ease}
.food-menu .dish-card.is-expanded .dish-card-cue span{transform:rotate(45deg)}
.food-menu .dish-card-detail{padding:18px;border-top:1px solid rgba(240,202,103,.12);background:linear-gradient(180deg,#17140f,#100f0c)}
.food-menu .dish-card-detail[hidden]{display:none}
.food-menu .dish-card-detail p{margin:0;color:#c9c5ba;line-height:1.58;font-size:.92rem}
.food-menu .dish-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.food-menu .dish-detail-meta span{color:#8f8b81;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:750}
.food-menu .dish-detail-meta strong{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:9px 13px;border-radius:999px;background:linear-gradient(135deg,#f5d374,#d9a934);color:#17130a!important;font-size:1.12rem;line-height:1;font-weight:950;box-shadow:0 9px 24px rgba(214,171,62,.2)}
.food-menu .dish-card-sides{grid-column:auto}
.food-menu .dish-card-sides .dish-card-toggle{min-height:260px;display:flex;align-items:flex-end;background:radial-gradient(circle at 74% 20%,rgba(231,190,76,.13),transparent 31%),linear-gradient(145deg,#17130c,#0b0b09)}
.food-menu .dish-card-sides .dish-card-glance{position:relative;width:100%}
.food-menu .dish-card-side-art{position:absolute;right:20px;top:16px;color:rgba(240,202,103,.7);font-size:4.7rem;line-height:1;text-shadow:0 0 35px rgba(230,184,54,.22)}
.food-menu .dish-card-sides .chip-list{margin-top:16px}
.food-menu .dish-card-sides .chip-list span{background:#242119;border-color:rgba(240,202,103,.16);color:#dedbd2}
@media(max-width:1180px){.food-menu .dish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.food-menu .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-menu .dish-card-title{font-size:1.35rem}}
@media(max-width:520px){.food-menu .dish-grid{grid-template-columns:1fr 1fr;gap:10px}.food-menu .dish-card-glance{padding:13px}.food-menu .dish-card-title{font-size:1.16rem}.food-menu .dish-category{font-size:.58rem}.food-menu .dish-card-cue{font-size:.58rem}.food-menu .dish-card-detail{padding:14px}.food-menu .dish-detail-meta{align-items:flex-start;flex-direction:column}.food-menu .dish-card-sides .dish-card-toggle{min-height:210px}}
@media(max-width:380px){.food-menu .dish-grid{grid-template-columns:1fr}}


/* v0.4.3 — Food menu source-completeness + category separation */
.food-menu-group{
  margin-top:54px;
  padding-top:38px;
  border-top:1px solid rgba(240,202,103,.18);
}
.food-menu-group[hidden]{display:none}
.food-menu-group:first-of-type{margin-top:36px}
.food-menu-group-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:22px;
}
.food-menu-group-heading>div>span{
  display:block;
  margin-bottom:8px;
  color:var(--gold-2);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.food-menu-group-heading h3{
  margin:0;
  font:500 clamp(2.55rem,4.8vw,4.8rem)/.9 Georgia,serif;
  color:#fff;
}
.food-menu-group-heading p{
  max-width:42ch;
  margin:0;
  color:#9f9b92;
  line-height:1.55;
}
.food-menu-group::before{
  content:"";
  display:block;
  width:84px;
  height:1px;
  margin-top:-39px;
  margin-bottom:38px;
  background:linear-gradient(90deg,var(--gold-2),transparent);
}
.food-menu .dish-grid-sides{
  grid-template-columns:minmax(280px,520px);
}
@media(max-width:760px){
  .food-menu-group{margin-top:42px;padding-top:30px}
  .food-menu-group::before{margin-top:-31px;margin-bottom:30px}
  .food-menu-group-heading{align-items:start;flex-direction:column;gap:10px}
  .food-menu-group-heading h3{font-size:2.55rem}
}\n/* v0.4.4 — Bambi's decorative menu + unique image system */
.food-menu{background:radial-gradient(circle at 14% 8%,rgba(213,170,72,.10),transparent 24%),radial-gradient(circle at 86% 32%,rgba(213,170,72,.07),transparent 22%),#090909;padding-block:76px 92px}
.food-menu>.container{position:relative;padding:clamp(34px,4vw,58px);border:1px solid rgba(224,181,78,.48);border-radius:28px;background:linear-gradient(180deg,rgba(20,18,13,.96),rgba(8,8,8,.98)),repeating-linear-gradient(90deg,transparent 0 42px,rgba(216,174,75,.018) 43px 44px);box-shadow:inset 0 0 0 7px rgba(224,181,78,.035),0 28px 80px rgba(0,0,0,.28)}
.food-menu>.container::before{content:"";position:absolute;inset:12px;border:1px solid rgba(224,181,78,.18);border-radius:20px;pointer-events:none}
.food-menu>.container::after{content:"❦";position:absolute;right:26px;top:20px;color:rgba(240,202,103,.68);font-size:1.35rem;line-height:1;transform:rotate(14deg);pointer-events:none}
.bambis-menu-crown{display:grid;grid-template-columns:minmax(34px,1fr) auto minmax(34px,1fr);align-items:center;gap:14px;max-width:520px;margin:0 auto 34px;color:var(--gold-2)}
.bambis-menu-crown span{height:1px;background:linear-gradient(90deg,transparent,rgba(240,202,103,.72))}.bambis-menu-crown span:last-child{background:linear-gradient(90deg,rgba(240,202,103,.72),transparent)}.bambis-menu-crown b{font-size:1rem;text-shadow:0 0 18px rgba(240,202,103,.28)}
.food-menu .section-heading{padding-bottom:30px;border-bottom:1px solid rgba(240,202,103,.17)}
.food-menu-group{position:relative;padding:42px 0 4px;border-top:0}.food-menu-group::before{content:"✦";display:flex;align-items:center;justify-content:center;width:52px;height:24px;margin:-54px auto 28px;color:var(--gold-2);background:#0d0c0a;border-left:1px solid rgba(240,202,103,.30);border-right:1px solid rgba(240,202,103,.30)}.food-menu-group::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(240,202,103,.38) 22%,rgba(240,202,103,.38) 78%,transparent)}
.food-menu-group-heading>div>span{color:#d6a83d}.food-menu .dish-card{border-color:rgba(225,183,80,.24);background:linear-gradient(180deg,rgba(19,18,15,.98),rgba(9,9,9,.99));box-shadow:0 16px 40px rgba(0,0,0,.26)}.food-menu .dish-card:hover{border-color:rgba(240,202,103,.58);transform:translateY(-3px);box-shadow:0 22px 48px rgba(0,0,0,.34),0 0 0 1px rgba(240,202,103,.08)}
.food-menu .dish-card-media{background:radial-gradient(circle at 50% 44%,rgba(230,187,82,.08),transparent 58%),#0b0b0a}.food-menu .dish-card-media img{object-fit:cover}
.food-menu .dish-card-media img[src*="food-small-calamari"],.food-menu .dish-card-media img[src*="food-small-crispy-shrimp"],.food-menu .dish-card-media img[src*="food-small-fish-bites"],.food-menu .dish-card-media img[src*="food-small-wing-dings"],.food-menu .dish-card-media img[src*="food-small-salmon-bites"],.food-menu .dish-card-media img[src*="food-main-marlin"],.food-menu .dish-card-media img[src*="food-main-sweet-chilli-chicken"],.food-menu .dish-card-media img[src*="food-main-classic-fried-chicken"],.food-menu .dish-card-media img[src*="food-main-crispy-bbq-chicken"],.food-menu .dish-card-media img[src*="food-main-loaded-fries"]{object-fit:contain;padding:8px}
.food-menu .dish-card-glance{border-top:1px solid rgba(240,202,103,.12)}.food-menu .dish-card-detail{border-top:1px solid rgba(240,202,103,.15);background:linear-gradient(180deg,rgba(28,24,15,.78),rgba(9,9,9,.94))}.food-menu .dish-detail-meta strong{box-shadow:0 6px 20px rgba(227,183,76,.18)}.food-menu .menu-filter{margin-top:26px}.food-menu .menu-filter button{border-color:rgba(240,202,103,.20)}.food-menu .menu-filter button.is-active{box-shadow:0 8px 20px rgba(218,174,71,.16)}
@media(max-width:760px){.food-menu{padding-block:54px 68px}.food-menu>.container{padding:30px 18px;border-radius:22px}.food-menu>.container::before{inset:8px;border-radius:16px}.food-menu>.container::after{right:16px;top:15px}.bambis-menu-crown{margin-bottom:24px}.food-menu-group{padding-top:36px}.food-menu-group::before{margin-top:-48px}}


/* v0.5.0 — Drinks page showpiece pass */
.drinks-v2-hero{position:relative;overflow:hidden;padding:160px 0 92px;color:#fff;background:radial-gradient(circle at 76% 24%,rgba(221,177,67,.16),transparent 22%),radial-gradient(circle at 12% 72%,rgba(109,54,98,.11),transparent 28%),#0a0a09}
.drinks-v2-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(240,202,103,.36),transparent)}
.drinks-v2-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.drinks-v2-hero-copy{position:relative;z-index:2}
.drinks-v2-hero-copy h1{max-width:7.5ch;margin:12px 0 22px;font:500 clamp(4.9rem,8vw,8.1rem)/.84 Georgia,serif}
.drinks-v2-lead{max-width:54ch;margin:0 0 28px;color:#c7c4bb;font-size:1.06rem;line-height:1.7}
.drinks-v2-responsible{display:block;margin-top:22px;color:#8f8b83;font-size:.78rem;letter-spacing:.05em}
.drinks-v2-hero-media{position:relative;min-height:650px}
.drinks-v2-hero-main{position:absolute;inset:0 0 55px 70px;margin:0;overflow:hidden;border:1px solid rgba(240,202,103,.24);border-radius:36px;background:#171612;box-shadow:0 36px 100px rgba(0,0,0,.4)}
.drinks-v2-hero-main img{width:100%;height:100%;object-fit:cover}
.drinks-v2-hero-main::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,7,7,.22),transparent 58%)}
.drinks-v2-hero-detail{position:absolute;left:0;bottom:0;width:min(360px,48%);margin:0;padding:10px;border:1px solid rgba(240,202,103,.34);border-radius:24px;background:#0e0e0d;box-shadow:0 24px 70px rgba(0,0,0,.48)}
.drinks-v2-hero-detail img{display:block;width:100%;height:230px;object-fit:cover;border-radius:16px}
.drinks-v2-hero-detail figcaption{padding:11px 7px 5px;color:var(--gold-2);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:850}
.drinks-v2-hero-stamp{position:absolute;right:-22px;top:34px;width:118px;height:118px;display:grid;place-content:center;border:1px solid rgba(240,202,103,.38);border-radius:50%;background:rgba(10,10,9,.86);backdrop-filter:blur(10px);text-align:center;transform:rotate(8deg)}
.drinks-v2-hero-stamp span,.drinks-v2-hero-stamp small{font-size:.55rem;letter-spacing:.18em;color:#a9a59b}
.drinks-v2-hero-stamp strong{margin:2px 0;color:var(--gold-2);font:700 1.3rem/1 Georgia,serif}

.drinks-v2-signatures{padding:110px 0;color:#fff;background:radial-gradient(circle at 15% 14%,rgba(212,167,63,.08),transparent 28%),#0d0d0c}
.drinks-v2-heading{padding-bottom:28px;border-bottom:1px solid rgba(240,202,103,.14)}
.drinks-v2-shot-stage{display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;margin-top:34px}
.drinks-v2-shot-poster{position:relative;min-height:720px;margin:0;overflow:hidden;border:1px solid rgba(240,202,103,.24);border-radius:30px;background:#111}
.drinks-v2-shot-poster img{width:100%;height:100%;object-fit:cover}
.drinks-v2-shot-poster::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 8px rgba(240,202,103,.035);pointer-events:none}
.drinks-v2-shot-poster figcaption{position:absolute;left:18px;bottom:18px;padding:8px 11px;border:1px solid rgba(240,202,103,.22);border-radius:999px;background:rgba(7,7,7,.78);backdrop-filter:blur(8px);color:var(--gold-2);font-size:.72rem;font-weight:800}
.drinks-v2-shot-selector{min-height:720px;display:grid;grid-template-rows:auto 1fr;gap:18px}
.drinks-v2-shot-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drinks-v2-shot-list button{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 16px;border:1px solid rgba(240,202,103,.16);border-radius:18px;background:#151410;color:#dad7cf;cursor:pointer;text-align:left;font-weight:780;transition:.2s ease}
.drinks-v2-shot-list button span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(240,202,103,.22);border-radius:50%;color:#9d998f;font-size:.68rem}
.drinks-v2-shot-list button:hover,.drinks-v2-shot-list button.is-active{border-color:rgba(240,202,103,.55);color:#fff;transform:translateY(-2px);background:#1b1811}
.drinks-v2-shot-list button.is-active span{background:var(--gold-2);color:#17130a;border-color:var(--gold-2)}
.drinks-v2-selected{--shot-accent:#b7d93d;position:relative;overflow:hidden;min-height:390px;padding:46px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(240,202,103,.24);border-radius:30px;background:radial-gradient(circle at 86% 18%,rgba(240,202,103,.08),transparent 30%),linear-gradient(145deg,#191713,#0d0d0c)}
.drinks-v2-selected::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--shot-accent)}
.drinks-v2-selected-number{position:absolute;right:28px;top:18px;color:rgba(240,202,103,.16);font:500 7rem/1 Georgia,serif}
.drinks-v2-selected h3{position:relative;max-width:8ch;margin:8px 0 18px;font:500 clamp(3.6rem,6vw,6.2rem)/.86 Georgia,serif;color:#fff}
.drinks-v2-selected p{position:relative;max-width:48ch;margin:0;color:#d1cec6;font-size:1.05rem;line-height:1.65}
.drinks-v2-selected small{position:relative;margin-top:18px;color:#8f8b83}

.drinks-v2-bar{padding:110px 0;background:#f2f0ea;color:#171612}
.drinks-v2-bar-intro{display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:end;margin-bottom:34px}
.drinks-v2-bar-intro h2{max-width:8ch;margin:6px 0 0;font:500 clamp(4rem,7vw,7rem)/.86 Georgia,serif}
.drinks-v2-bar-intro>p:last-child{max-width:48ch;color:#6e6a63;line-height:1.65}
.drinks-v2-bar-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}
.drinks-v2-bar-card{position:relative;min-height:520px;overflow:hidden;border-radius:28px;background:#151410;color:#fff}
.drinks-v2-bar-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.drinks-v2-bar-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,6,.92),rgba(6,6,6,.06) 70%)}
.drinks-v2-bar-card>div{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.drinks-v2-bar-card span{color:var(--gold-2);font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.drinks-v2-bar-card h3{margin:8px 0 10px;font:500 2.3rem/1 Georgia,serif}
.drinks-v2-bar-card p{margin:0;color:#d2cfc6;line-height:1.5}

.drinks-v2-nights{padding:110px 0;color:#fff;background:#0b0b0a}
.drinks-v2-night-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.drinks-v2-night-card{position:relative;min-height:600px;overflow:hidden;border:1px solid rgba(240,202,103,.18);border-radius:30px;color:#fff;text-decoration:none;background:#111}
.drinks-v2-night-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.drinks-v2-night-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,6,.96),rgba(6,6,6,.12) 68%)}
.drinks-v2-night-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px}
.drinks-v2-night-copy span{color:var(--gold-2);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850}
.drinks-v2-night-copy h3{max-width:10ch;margin:10px 0 14px;font:500 clamp(3rem,5vw,5rem)/.88 Georgia,serif}
.drinks-v2-night-copy p{max-width:46ch;margin:0 0 18px;color:#d1cec6}
.drinks-v2-night-copy b{color:var(--gold-2);font-size:.82rem}
.drinks-v2-night-card:hover{border-color:rgba(240,202,103,.52)}
.drinks-v2-night-card:hover img{transform:scale(1.025)}

.drinks-v2-exit{padding:80px 0;background:#11100d}
.drinks-v2-exit-card{padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(240,202,103,.20);border-radius:26px;background:linear-gradient(135deg,#16140f,#0b0b0a);color:#fff}
.drinks-v2-exit-card h2{max-width:13ch;margin:5px 0 0;font:500 clamp(2.4rem,4vw,4.2rem)/.93 Georgia,serif}

@media(max-width:1050px){
  .drinks-v2-hero-grid,.drinks-v2-shot-stage{grid-template-columns:1fr}
  .drinks-v2-hero-media{min-height:590px}
  .drinks-v2-hero-main{inset:0 0 55px 45px}
  .drinks-v2-shot-poster{min-height:620px}
  .drinks-v2-shot-selector{min-height:0}
  .drinks-v2-bar-grid{grid-template-columns:1fr 1fr}
  .drinks-v2-bar-card-wide{grid-column:1/-1}
}
@media(max-width:760px){
  .drinks-v2-hero{padding:145px 0 64px}
  .drinks-v2-hero-grid{gap:34px}
  .drinks-v2-hero-copy h1{font-size:4.6rem}
  .drinks-v2-hero-media{min-height:500px}
  .drinks-v2-hero-main{inset:0 0 48px 18px;border-radius:26px}
  .drinks-v2-hero-detail{width:58%;border-radius:20px}
  .drinks-v2-hero-detail img{height:170px}
  .drinks-v2-hero-stamp{right:0;top:20px;width:92px;height:92px}
  .drinks-v2-signatures,.drinks-v2-bar,.drinks-v2-nights{padding:78px 0}
  .drinks-v2-shot-poster{min-height:520px;border-radius:24px}
  .drinks-v2-shot-list{grid-template-columns:1fr}
  .drinks-v2-selected{min-height:350px;padding:30px 24px}
  .drinks-v2-selected-number{font-size:5rem}
  .drinks-v2-selected h3{font-size:3.7rem}
  .drinks-v2-bar-intro{grid-template-columns:1fr;gap:14px}
  .drinks-v2-bar-intro h2{font-size:4.4rem}
  .drinks-v2-bar-grid,.drinks-v2-night-grid{grid-template-columns:1fr}
  .drinks-v2-bar-card,.drinks-v2-night-card{min-height:470px}
  .drinks-v2-exit-card{align-items:flex-start;flex-direction:column;padding:30px 24px}
}

/* v0.5.1 — Drinks detail + specials pass */
.drinks-v3-signatures{padding:110px 0;color:#fff;background:radial-gradient(circle at 78% 18%,rgba(230,183,75,.09),transparent 26%),#0c0c0b}
.drinks-v3-heading{padding-bottom:28px;border-bottom:1px solid rgba(240,202,103,.14)}.drinks-v3-heading strong{color:var(--gold-2)}
.drinks-v3-shot-stage{display:grid;grid-template-columns:.78fr 1.22fr;gap:24px;margin-top:32px}
.drinks-v3-shot-poster{position:relative;min-height:760px;margin:0;overflow:hidden;border:1px solid rgba(240,202,103,.3);border-radius:28px;background:#111;box-shadow:0 28px 70px rgba(0,0,0,.34)}
.drinks-v3-shot-poster img{width:100%;height:100%;object-fit:cover}
.drinks-v3-shot-ui{display:grid;grid-template-rows:auto 1fr;gap:16px}
.drinks-v3-shot-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drinks-v3-shot-list button{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:66px;padding:12px 14px;border:1px solid rgba(240,202,103,.16);border-radius:17px;background:#151410;color:#eee9de;cursor:pointer;transition:.2s ease}
.drinks-v3-shot-list button span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(240,202,103,.22);border-radius:50%;color:#979287;font-size:.68rem}
.drinks-v3-shot-list button b{text-align:left;font-size:.92rem}.drinks-v3-shot-list button em{padding:8px 11px;border-radius:999px;background:#d9ad4a;color:#18130a;font-style:normal;font-size:.7rem;font-weight:900;white-space:nowrap}
.drinks-v3-shot-list button:hover,.drinks-v3-shot-list button.is-active{border-color:rgba(240,202,103,.62);background:#1c1912;transform:translateY(-2px)}.drinks-v3-shot-list button.is-active span{background:var(--gold-2);border-color:var(--gold-2);color:#18130a}
.drinks-v3-selected{--shot-accent:#9fd72f;min-height:470px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid rgba(240,202,103,.28);border-radius:28px;background:#11100e;box-shadow:0 26px 70px rgba(0,0,0,.3)}
.drinks-v3-selected-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:42px 34px;background:radial-gradient(circle at 18% 12%,rgba(240,202,103,.08),transparent 30%),linear-gradient(90deg,#12110f 0%,#12110f 78%,rgba(18,17,15,.15) 100%)}
.drinks-v3-selected-copy::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--shot-accent)}
.drinks-v3-selected h3{max-width:8ch;margin:8px 0 18px;font:500 clamp(3.5rem,5vw,5.8rem)/.88 Georgia,serif}
.drinks-v3-price{align-self:flex-start;margin-bottom:20px;padding:10px 18px;border-radius:999px;background:var(--gold-2);color:#17130a;font-size:1.25rem;font-weight:900;text-transform:uppercase}
.drinks-v3-selected p{max-width:42ch;margin:0;color:#d4d0c8;line-height:1.65}.drinks-v3-selected small{margin-top:18px;color:#8e897f}
.drinks-v3-selected-image{position:relative;min-height:470px;background:#080808}.drinks-v3-selected-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,14,.92),transparent 38%)}.drinks-v3-selected-image img{width:100%;height:100%;object-fit:cover}
.drinks-v3-specials{padding:108px 0;color:#fff;background:radial-gradient(circle at 8% 18%,rgba(194,50,90,.08),transparent 22%),radial-gradient(circle at 88% 78%,rgba(232,183,70,.09),transparent 24%),#0b0b0a}
.drinks-v3-special-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:30px}
.drinks-v3-special-card{position:relative;min-height:260px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid rgba(240,202,103,.2);border-radius:24px;background:#151410;box-shadow:0 18px 46px rgba(0,0,0,.24)}
.drinks-v3-special-card:nth-child(1),.drinks-v3-special-card:nth-child(2),.drinks-v3-special-card:nth-child(3){grid-column:span 2}.drinks-v3-special-card:nth-child(4),.drinks-v3-special-card:nth-child(5){grid-column:span 3;min-height:340px}
.drinks-v3-special-card::before{content:"";position:absolute;inset:0;opacity:.9}.drinks-v3-special-card.is-pink::before{background:radial-gradient(circle at 78% 18%,rgba(245,81,146,.35),transparent 38%),linear-gradient(135deg,#241016,#10100e 68%)}.drinks-v3-special-card.is-red::before{background:radial-gradient(circle at 78% 18%,rgba(180,58,41,.35),transparent 38%),linear-gradient(135deg,#26130f,#10100e 68%)}.drinks-v3-special-card.is-silver::before{background:radial-gradient(circle at 78% 18%,rgba(202,202,202,.28),transparent 38%),linear-gradient(135deg,#202020,#10100e 68%)}
.drinks-v3-special-card>span,.drinks-v3-special-card>strong,.drinks-v3-special-card>small,.drinks-v3-special-card>div{position:relative;z-index:2}.drinks-v3-special-card>span,.drinks-v3-special-card>div span{color:var(--gold-2);font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.drinks-v3-special-card>strong,.drinks-v3-special-card>div strong{display:block;margin:6px 0 8px;color:#fff;font:500 2.5rem/1 Georgia,serif}.drinks-v3-special-card>small,.drinks-v3-special-card>div small{color:#bbb6ad;line-height:1.45}
.drinks-v3-special-card.has-image{justify-content:flex-end;padding:0}.drinks-v3-special-card.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.drinks-v3-special-card.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.12) 68%)}.drinks-v3-special-card.has-image>div{position:relative;z-index:2;padding:26px}
@media(max-width:1050px){.drinks-v3-shot-stage{grid-template-columns:1fr}.drinks-v3-shot-poster{min-height:620px}.drinks-v3-special-grid{grid-template-columns:repeat(2,1fr)}.drinks-v3-special-card:nth-child(n){grid-column:auto}}
@media(max-width:760px){.drinks-v3-signatures,.drinks-v3-specials{padding:76px 0}.drinks-v3-shot-poster{min-height:520px}.drinks-v3-shot-list{grid-template-columns:1fr}.drinks-v3-selected{grid-template-columns:1fr;min-height:0}.drinks-v3-selected-copy{padding:30px 24px}.drinks-v3-selected h3{font-size:3.6rem}.drinks-v3-selected-image{min-height:330px;order:-1}.drinks-v3-selected-image::after{background:linear-gradient(0deg,rgba(17,16,14,.9),transparent 45%)}.drinks-v3-special-grid{grid-template-columns:1fr}.drinks-v3-special-card:nth-child(n){min-height:240px}}



/* v0.5.2 — Inside the Bar architecture + premium shot correction */
.drinks-v3-shot-poster img{object-fit:contain;background:#080808;padding:8px}
.drinks-v3-selected-image{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(220,177,73,.08),transparent 50%),#080808}
.drinks-v3-selected-image img{width:100%;height:100%;object-fit:contain;padding:22px}
.drinks-v3-selected-image::after{background:linear-gradient(90deg,rgba(17,16,14,.72),transparent 28%)}

.drinks-v4-bar{padding:110px 0;background:#f1efe9;color:#181713}
.drinks-v4-bar-heading{align-items:end}
.drinks-v4-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.drinks-v4-category{position:relative;min-height:370px;overflow:hidden;padding:24px;border-radius:28px;background:#111;color:#fff;text-decoration:none;border:1px solid rgba(181,139,53,.24);box-shadow:0 18px 50px rgba(36,29,17,.12);display:flex;flex-direction:column;justify-content:flex-end}
.drinks-v4-category img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.drinks-v4-category::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.05) 68%)}
.drinks-v4-category span,.drinks-v4-category p,.drinks-v4-category b{position:relative;z-index:2}
.drinks-v4-category span{font:500 2.45rem/1 Georgia,serif}
.drinks-v4-category p{max-width:34ch;margin:10px 0 0;color:#d5d1c8;line-height:1.45}
.drinks-v4-category b{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(11,11,10,.74);border:1px solid rgba(240,202,103,.55);color:var(--gold-2);font-size:1.2rem}
.drinks-v4-category:hover{border-color:rgba(181,139,53,.62)}
.drinks-v4-category:hover img{transform:scale(1.035);filter:saturate(1.06)}

.bar-category-page{background:#0a0a09;color:#fff}
.bar-category-hero{padding:160px 0 88px;background:radial-gradient(circle at 82% 22%,rgba(220,176,71,.13),transparent 28%),#0a0a09}
.bar-category-hero-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:54px;align-items:center}
.bar-category-hero h1{margin:8px 0 22px;font:500 clamp(4.8rem,8vw,8rem)/.85 Georgia,serif}
.bar-category-lead{max-width:52ch;color:#c8c4bb;font-size:1.08rem;line-height:1.7}
.bar-category-hero figure{min-height:560px;margin:0;overflow:hidden;border:1px solid rgba(240,202,103,.3);border-radius:32px;background:#111;box-shadow:0 28px 80px rgba(0,0,0,.34)}
.bar-category-hero figure img{width:100%;height:100%;object-fit:cover}
.bar-category-selection{padding:100px 0;background:#f2f0ea;color:#171612}
.bar-item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.bar-item-card{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(20,18,13,.09)}
.bar-item-card>img,.bar-item-placeholder{width:100%;height:280px;object-fit:cover}
.bar-item-placeholder{display:grid;place-items:center;background:#12110f;color:#d9ad4a;font:700 1.4rem Georgia,serif}
.bar-item-card>div{padding:22px}
.bar-item-card span{color:#926b19;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.bar-item-card h3{margin:7px 0 10px;font:500 2rem/1 Georgia,serif}
.bar-item-card p{margin:0;color:#6d6962;line-height:1.55}
.bar-item-card strong{display:inline-block;margin-top:14px;padding:8px 12px;border-radius:999px;background:#171612;color:#f0c75d}
.bar-empty{margin-top:34px;padding:34px;border:1px dashed #c8c1b2;border-radius:22px;color:#6b665d;background:#faf8f3}

@media(max-width:980px){
  .drinks-v4-category-grid,.bar-item-grid{grid-template-columns:repeat(2,1fr)}
  .bar-category-hero-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .drinks-v4-bar{padding:76px 0}
  .drinks-v4-category-grid,.bar-item-grid{grid-template-columns:1fr}
  .drinks-v4-category{min-height:320px}
  .bar-category-hero{padding:145px 0 64px}
  .bar-category-hero h1{font-size:4.4rem}
  .bar-category-hero figure{min-height:390px}
}


/* v0.5.3 — premium signature correction */
.drinks-v5-signatures{
  padding:108px 0;
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(228,177,64,.10),transparent 28%),
    linear-gradient(180deg,#0c0c0b,#090909);
}
.drinks-v5-signature-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(240,202,103,.14);
}
.drinks-v5-signature-head h2{
  margin:8px 0 8px;
  max-width:13ch;
  font:500 clamp(3.7rem,6vw,6.2rem)/.9 Georgia,serif;
}
.drinks-v5-signature-sub{
  max-width:50ch;
  margin:0;
  color:#aaa59c;
}
.drinks-v5-offer{
  flex:0 0 auto;
  padding:14px 20px;
  border-radius:999px;
  background:var(--gold-2);
  color:#17130a;
  font-weight:950;
  font-size:1.2rem;
  text-transform:uppercase;
  box-shadow:0 12px 30px rgba(223,177,69,.18);
}
.drinks-v5-signature-layout{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:22px;
  margin-top:30px;
}
.drinks-v5-shot-rail{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  align-content:start;
}
.drinks-v5-shot-rail button{
  position:relative;
  overflow:hidden;
  padding:0;
  min-height:210px;
  border:1px solid rgba(240,202,103,.18);
  border-radius:20px;
  background:#11100e;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.drinks-v5-shot-rail button img{
  width:100%;
  height:165px;
  object-fit:contain;
  background:#080808;
  display:block;
}
.drinks-v5-shot-rail button span{
  display:block;
  padding:12px 13px 14px;
  font-size:.84rem;
  font-weight:800;
  color:#ded9d0;
}
.drinks-v5-shot-rail button:hover,
.drinks-v5-shot-rail button.is-active{
  transform:translateY(-3px);
  border-color:rgba(240,202,103,.68);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.drinks-v5-shot-rail button.is-active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:var(--gold-2);
}
.drinks-v5-selected{
  --shot-accent:#91d52e;
  display:grid;
  grid-template-columns:1.14fr .86fr;
  min-height:500px;
  overflow:hidden;
  border:1px solid rgba(240,202,103,.30);
  border-radius:28px;
  background:#0e0e0d;
  box-shadow:0 28px 70px rgba(0,0,0,.34);
}
.drinks-v5-selected-media{
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 48%,rgba(240,202,103,.08),transparent 54%),
    #080808;
}
.drinks-v5-selected-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:24px;
  image-rendering:auto;
}
.drinks-v5-selected-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:44px 36px;
  background:
    radial-gradient(circle at 20% 14%,rgba(240,202,103,.08),transparent 34%),
    #12110f;
}
.drinks-v5-selected-copy::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:var(--shot-accent);
}
.drinks-v5-selected h3{
  margin:8px 0 18px;
  font:500 clamp(3.4rem,5vw,5.6rem)/.88 Georgia,serif;
}
.drinks-v5-selected-price{
  align-self:flex-start;
  margin-bottom:18px;
  padding:10px 17px;
  border-radius:999px;
  background:var(--gold-2);
  color:#18130a;
  font-size:1.05rem;
  font-weight:950;
  text-transform:uppercase;
}
.drinks-v5-selected p{
  max-width:34ch;
  margin:0;
  color:#d0ccc3;
  line-height:1.6;
}
.drinks-v5-selected small{
  margin-top:18px;
  color:#8c877f;
}

/* specials should never look unfinished */
.drinks-v3-special-card.has-image img{
  filter:saturate(1.04) contrast(1.02);
}
.drinks-v3-special-card.has-image>div{
  background:linear-gradient(180deg,transparent,rgba(4,4,4,.14));
}

/* keep Inside the Bar placeholders crisp and product-led */
.drinks-v4-category img{
  object-position:center;
  filter:saturate(1.03) contrast(1.02);
}

@media(max-width:980px){
  .drinks-v5-signature-layout{grid-template-columns:1fr}
  .drinks-v5-selected{min-height:440px}
}
@media(max-width:680px){
  .drinks-v5-signatures{padding:76px 0}
  .drinks-v5-signature-head{align-items:flex-start;flex-direction:column}
  .drinks-v5-signature-head h2{font-size:3.5rem}
  .drinks-v5-shot-rail{grid-template-columns:repeat(2,1fr)}
  .drinks-v5-selected{grid-template-columns:1fr}
  .drinks-v5-selected-media{min-height:320px}
  .drinks-v5-selected-copy{padding:30px 24px}
  .drinks-v5-selected h3{font-size:3.6rem}
}
