:root {
  --bg: #150607;
  --bg-2: #230809;
  --surface: rgba(70, 8, 10, 0.58);
  --surface-2: rgba(107, 14, 18, 0.56);
  --line: rgba(233, 187, 88, 0.35);
  --gold: #d7a642;
  --gold-2: #f0d59a;
  --gold-deep: #a46f18;
  --red: #8d1018;
  --red-2: #b01821;
  --red-soft: #5b0b10;
  --text: #fff7ea;
  --muted: #ead8b1;
  --shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, system-ui, sans-serif;
  color: var(--text);
  line-height: 1.65;
  background:
    radial-gradient(circle at 20% 0%, rgba(230, 174, 66, 0.08), transparent 20%),
    radial-gradient(circle at 80% 10%, rgba(255, 255, 255, 0.03), transparent 15%),
    linear-gradient(180deg, #2a080a 0%, #140506 40%, #0d0303 100%);
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.03), transparent 22%),
    radial-gradient(circle at 70% 65%, rgba(215,166,66,.04), transparent 18%),
    repeating-radial-gradient(circle at 0 0, transparent 0 24px, rgba(255,255,255,.012) 24px 25px);
  pointer-events: none;
  opacity: .45;
}

a { color: inherit; text-decoration: none; }
img { width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; position: relative; z-index: 1; }
.section { padding: 88px 0; position: relative; }
.section-warm {
  background: linear-gradient(180deg, rgba(176,24,33,.10), rgba(176,24,33,0));
}
.section-accent {
  background:
    radial-gradient(circle at top right, rgba(240,213,154,.06), transparent 18%),
    linear-gradient(180deg, rgba(150,19,25,.28), rgba(49,10,11,.20));
}
.eyebrow, .section-kicker {
  margin: 0 0 12px;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--gold-2);
}

h1, h2, h3, .brand strong { font-family: Georgia, 'Times New Roman', serif; line-height: 1.02; margin: 0 0 16px; }
h1 { font-size: clamp(3.2rem, 7vw, 5.8rem); }
h2 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h3 { font-size: 1.9rem; }
p { margin: 0 0 16px; color: var(--muted); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(20, 5, 6, 0.82);
  border-bottom: 1px solid rgba(215,166,66,.18);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transition: background .38s ease, border-color .38s ease, box-shadow .38s ease, backdrop-filter .38s ease;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  transition: padding .38s ease;
}
.brand { display: inline-flex; gap: 14px; align-items: center; transition: gap .38s ease; }
.brand-badge {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(180deg, #b01821, #7b0f15);
  border: 1px solid rgba(240,213,154,.45);
  color: var(--gold-2);
  font-weight: 700;
  font-size: 1.4rem;
  box-shadow: var(--shadow);
  transition: width .38s ease, height .38s ease, border-radius .38s ease, font-size .38s ease, background .38s ease, box-shadow .38s ease;
}
.brand-text { display: flex; flex-direction: column; }
.brand strong { font-size: 2rem; color: white; transition: font-size .38s ease; }
.brand small {
  color: var(--gold-2);
  font-size: .85rem;
  max-height: 24px;
  opacity: 1;
  overflow: hidden;
  transition: max-height .28s ease, opacity .22s ease, font-size .38s ease;
}
.nav { display: flex; gap: 22px; align-items: center; transition: gap .38s ease; }
.nav a { color: var(--muted); font-weight: 500; transition: color .25s ease, font-size .38s ease; }
.nav a:hover { color: #fff; }
.mobile-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(240,213,154,.35);
  background: rgba(215,166,66,.08);
  padding: 10px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}
.mobile-nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: var(--gold-2);
  transition: transform .22s ease, opacity .22s ease;
}
.site-header.mobile-open .mobile-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header.mobile-open .mobile-nav-toggle span:nth-child(2) { opacity: 0; }
.site-header.mobile-open .mobile-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


.site-header.scrolled {
  background: rgba(20, 5, 6, 0.22);
  border-bottom-color: rgba(215,166,66,.08);
  box-shadow: 0 5px 18px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.site-header.scrolled .nav-wrap { padding: 5px 0; }
.site-header.scrolled .brand { gap: 9px; }
.site-header.scrolled .brand-badge {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  font-size: 1rem;
  background: rgba(125,15,21,.68);
  box-shadow: 0 5px 14px rgba(0,0,0,.14);
}
.site-header.scrolled .brand strong { font-size: 1.55rem; }
.site-header.scrolled .brand small { max-height: 0; opacity: 0; font-size: .72rem; }
.site-header.scrolled .nav { gap: 17px; }
.site-header.scrolled .nav a { font-size: .9rem; }

.hero {
  position: relative;
  min-height: 96vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 120px 0 80px;
  background:
    linear-gradient(90deg, rgba(19,3,3,.92) 0%, rgba(19,3,3,.62) 45%, rgba(19,3,3,.78) 100%),
    url('assets/interior.jpg') center/cover no-repeat;
}
.hero-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 20%, rgba(215,166,66,.18), transparent 20%),
    radial-gradient(circle at 82% 72%, rgba(176,24,33,.25), transparent 24%);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 36px;
  align-items: center;
}
.lead { font-size: 1.12rem; max-width: 650px; }
.hero-actions, .menu-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0 22px; }
.btn {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 700;
  transition: transform .25s ease, opacity .25s ease, background .25s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  color: #2c1905;
  background: linear-gradient(180deg, #f0d59a, #d7a642);
  box-shadow: 0 10px 30px rgba(215,166,66,.25);
}
.btn-secondary {
  color: var(--text);
  border: 1px solid rgba(240,213,154,.32);
  background: rgba(255,255,255,.03);
}
.hero-points, .check-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.hero-points li, .check-list li { color: var(--gold-2); }
.hero-points li::before, .check-list li::before {
  content: '✦';
  margin-right: 10px;
  color: var(--gold);
}

.frame-card {
  position: relative;
  padding: 11px;
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(145deg, #f2d38a 0%, #c9942f 30%, #f4dda2 52%, #9f6914 78%, #e0b454 100%);
  box-shadow: 0 18px 48px rgba(0,0,0,.38), 0 0 22px rgba(215,166,66,.16);
}
.frame-card::before {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: calc(var(--radius) + 1px);
  border: 2px solid rgba(255,238,190,.78);
  box-shadow: inset 0 0 0 1px rgba(124,78,8,.46);
  pointer-events: none;
}
.frame-inner {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(77, 7, 9, .78), rgba(26, 4, 5, .95));
  border: 2px solid rgba(117,72,10,.72);
}
.hero-logo-card .frame-inner { background: #38090c; }
.hero-logo-card img { aspect-ratio: 4/3; object-fit: cover; }
.card-caption { padding: 16px 16px 8px; text-align: center; }
.card-caption p { margin-bottom: 6px; color: var(--gold-2); }
.card-caption strong { display: block; font-size: 1.35rem; margin-bottom: 4px; }
.card-caption span { color: var(--muted); font-size: .95rem; }

.intro-grid, .menu-grid, .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}
.intro-photo img, .contact-photo img { min-height: 430px; object-fit: cover; }

.cards-grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.info-card .frame-inner img { aspect-ratio: 4/3; object-fit: cover; }
.info-card-body { padding: 20px 14px 10px; }

.gallery-grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gallery-grid .frame-card { padding: 8px; }
.gallery-grid img { aspect-ratio: 1/1; object-fit: cover; }
.qr-card { text-align: center; }
.qr-inner { background: rgba(20,5,6,.95); }
.qr-inner img { max-width: 100%; }
.qr-card small { display: block; padding: 16px 10px 4px; color: var(--gold-2); }

.contact-inner { padding: 26px; }
.contact-list { display: grid; gap: 18px; margin: 24px 0; }
.contact-list span {
  display: block;
  margin-bottom: 4px;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--gold-2);
}
.contact-list a, .contact-list p { margin: 0; color: white; font-size: 1.04rem; }

.site-footer {
  padding: 28px 0 40px;
  border-top: 1px solid rgba(240,213,154,.14);
  background: rgba(10,2,2,.55);
}
.footer-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
}
.footer-wrap p { margin: 4px 0; }

.lanterns {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.lantern {
  position: absolute;
  top: -10px;
  width: 76px;
  height: 96px;
  border-radius: 40px;
  background: radial-gradient(circle at 50% 28%, #f2d8a1 0 8%, #cb1d2a 9%, #981019 70%, #7b0d15 100%);
  border: 3px solid rgba(240,213,154,.9);
  box-shadow: 0 0 28px rgba(255, 188, 70, .2);
  animation: sway 4.5s ease-in-out infinite;
}
.lantern::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -64px;
  width: 2px;
  height: 64px;
  background: linear-gradient(180deg, transparent, rgba(240,213,154,.85));
  transform: translateX(-50%);
}
.lantern::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -28px;
  width: 22px;
  height: 28px;
  transform: translateX(-50%);
  background: repeating-linear-gradient(90deg, #e8cb8b 0 2px, #b97d23 2px 4px);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
}
.lantern span {
  position: absolute;
  inset: 13px 18px;
  border-left: 2px solid rgba(240,213,154,.6);
  border-right: 2px solid rgba(240,213,154,.6);
  border-radius: 28px;
}
.lantern-1 { left: 6%; animation-delay: .2s; }
.lantern-2 { left: 19%; top: 18px; width: 62px; height: 80px; animation-delay: .9s; }
.lantern-3 { right: 13%; width: 88px; height: 110px; animation-delay: 1.6s; }
.lantern-4 { right: 4%; top: 12px; width: 62px; height: 82px; animation-delay: .6s; }

.zodiac-splash {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 24px;
  background:
    radial-gradient(circle at center, rgba(215,166,66,.18), transparent 18%),
    linear-gradient(180deg, rgba(32, 5, 6, .96), rgba(13, 2, 2, .98));
  transition: opacity .35s ease, visibility .35s ease;
}
.zodiac-splash.hide {
  opacity: 0;
  visibility: hidden;
}
.zodiac-medallion {
  position: relative;
  width: 170px;
  height: 170px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.zodiac-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(240,213,154,.55);
  box-shadow: inset 0 0 0 10px rgba(176,24,33,.18);
  animation: spinSlow 10s linear infinite;
}
.zodiac-ring-2 { inset: 10px; border-color: rgba(240,213,154,.28); animation-direction: reverse; }
.zodiac-symbol {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(240,213,154,.18), rgba(176,24,33,.2));
  border: 1px solid rgba(240,213,154,.5);
  font-size: 3.3rem;
  color: var(--gold-2);
  box-shadow: 0 0 28px rgba(215,166,66,.16);
  animation: pulse 2.4s ease-in-out infinite;
}
.zodiac-overline {
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--gold-2);
  font-size: .8rem;
  margin-bottom: 8px;
}
.zodiac-splash h2 {
  margin: 0 0 8px;
  font-size: clamp(2.2rem, 6vw, 4rem);
}
.zodiac-sub { max-width: 560px; }

@keyframes sway {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50% { transform: rotate(2deg) translateY(8px); }
}
@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@media (max-width: 980px) {
  .nav {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 16px;
    right: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px;
    border-radius: 18px;
    background: rgba(36, 6, 8, .97);
    border: 1px solid rgba(240,213,154,.28);
    box-shadow: 0 18px 42px rgba(0,0,0,.42);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  .site-header.mobile-open .nav { display: flex; }
  .nav > a:not(.nav-social) {
    display: block;
    padding: 14px 14px;
    border-bottom: 1px solid rgba(240,213,154,.11);
    font-size: 1rem;
  }
  .nav > a:nth-last-of-type(3) { border-bottom: 0; }
  .hero, .section { padding-top: 74px; }
  .hero-grid, .intro-grid, .menu-grid, .contact-grid, .cards-grid, .gallery-grid { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .lantern-1, .lantern-2 { left: auto; }
  .lantern-1 { right: 30%; }
  .lantern-2 { right: 12%; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 22px, 1180px); }
  .section { padding: 70px 0; }
  .brand strong { font-size: 1.75rem; }
  h1 { font-size: 3rem; }
  h2 { font-size: 2.25rem; }
  .btn { width: 100%; }
  .hero-actions, .menu-actions { gap: 10px; }
  .intro-photo img, .contact-photo img { min-height: 300px; }
  .gallery-grid img { aspect-ratio: 4/3; }
  .lantern { transform: scale(.8); }
  .lantern-3 { right: 5%; }
  .lantern-4 { display: none; }
}

.hero-logo-card .card-caption,
.info-card .info-card-body,
.qr-card > small {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(74,8,11,.98), rgba(35,4,6,.98));
  border: 1px solid rgba(240,213,154,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-logo-card .card-caption {
  margin: 8px 2px 2px;
  border-radius: 0 0 18px 18px;
  padding: 16px 16px 14px;
}
.info-card .info-card-body {
  margin: 8px 2px 2px;
  border-radius: 0 0 18px 18px;
  padding: 20px 16px 16px;
}
.info-card .info-card-body h3,
.hero-logo-card .card-caption strong {
  color: #fff7ea;
}
.info-card .info-card-body p,
.hero-logo-card .card-caption span {
  color: #f2ddb2;
}
.hero-logo-card .card-caption p {
  color: #e2b957;
}
.qr-card > small {
  margin: 8px 2px 2px;
  padding: 13px 14px;
  border-radius: 0 0 18px 18px;
  color: #f2ddb2;
}



.hero-points .hours-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  color: var(--gold-2);
}
.hero-points .hours-hero::before {
  content: '◷';
  margin-right: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(240,213,154,.38);
  border-radius: 50%;
  color: var(--gold);
  background: rgba(255,255,255,.035);
}
.hours-title {
  font-weight: 700;
  color: #fff2d2;
}
.hours-slots {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}
.hours-slots span {
  padding: 6px 10px;
  border: 1px solid rgba(240,213,154,.26);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: #f2ddb2;
  font-size: .92rem;
}
.hours-slots strong { color: #e2b957; font-weight: 700; }

.hours-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 3px;
}
.hours-contact > strong {
  flex-basis: 100%;
  color: #fff2d2;
  font-size: 1.04rem;
}
.hours-contact > span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(240,213,154,.28);
  background: rgba(255,255,255,.035);
  color: #f2ddb2;
  font-size: .93rem;
}
.hours-contact b { color: #e2b957; }

@media (max-width: 560px) {
  .hero-points .hours-hero { align-items: flex-start; }
  .hours-title { padding-top: 4px; }
  .hours-slots { flex-basis: 100%; margin-left: 42px; }
}

.menu-page { background: linear-gradient(180deg, #260708 0%, #120303 55%, #090202 100%); }
.menu-topbar {
  position: sticky; top: 0; z-index: 40;
  background: rgba(25,4,5,.82); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(229,184,83,.22);
}
.menu-topbar-inner { min-height: 66px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.menu-mini-brand { display:flex; align-items:center; gap:10px; }
.menu-mini-brand span { color:#f0d59a; font-size:1.35rem; }
.menu-mini-brand strong { font-family:'Cormorant Garamond',serif; font-size:1.7rem; }
.menu-back { min-height:40px; padding:0 16px; }
.menu-hero {
  position:relative; overflow:hidden; text-align:center; padding:78px 0 58px;
  background: radial-gradient(circle at 50% 15%, rgba(226,185,87,.15), transparent 24%);
}
.menu-hero-inner { max-width:860px; }
.menu-logo-frame { width:min(460px,88vw); margin:0 auto 30px; }
.menu-logo-frame img { aspect-ratio:4/3; object-fit:cover; }
.menu-hero h1 { margin-bottom:10px; }
.menu-hero p { max-width:700px; margin:0 auto; }
.menu-content-section { padding-top:40px; }
.menu-tools {
  position:sticky; top:78px; z-index:20;
  display:flex; justify-content:space-between; align-items:end; gap:18px;
  padding:16px; margin-bottom:34px;
  background:rgba(39,5,7,.88); backdrop-filter:blur(12px);
  border:1px solid rgba(229,184,83,.28); border-radius:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.menu-filters { display:flex; flex-wrap:wrap; gap:9px; }
.menu-filter {
  border:1px solid rgba(229,184,83,.34); color:#f2ddb2; background:#4a080b;
  border-radius:999px; padding:9px 14px; font:600 .88rem 'Inter',sans-serif; cursor:pointer;
}
.menu-filter.active { background:linear-gradient(180deg,#f0d59a,#c9932c); color:#271603; border-color:#f0d59a; }
.menu-search-wrap { min-width:230px; display:grid; gap:6px; color:#f0d59a; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.menu-search-wrap input {
  width:100%; border:1px solid rgba(229,184,83,.35); border-radius:999px; padding:11px 15px;
  background:#1f0405; color:white; outline:none; font:500 .95rem 'Inter',sans-serif;
}
.menu-search-wrap input:focus { border-color:#e2b957; box-shadow:0 0 0 3px rgba(226,185,87,.12); }
.menu-status { margin:0 0 32px; color:#dfc78f; text-align:center; font-size:.92rem; }
.menu-status.error { color:#ffd6d6; }
.menu-category { margin-bottom:58px; }
.menu-category-heading { margin-bottom:20px; }
.menu-category-heading h2 { margin-bottom:0; }
.dish-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dish-card { padding:9px; overflow:hidden; }
.dish-photo-wrap { background:#2f0507; }
.dish-photo { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dish-body {
  margin:8px 2px 2px; padding:18px 16px 16px; border-radius:0 0 18px 18px;
  background:linear-gradient(180deg,#4a080b,#230406);
  border:1px solid rgba(240,213,154,.34);
}
.dish-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.dish-title-row h3 { margin:0; font-size:1.55rem; color:#fff7ea; }
.dish-price { flex:0 0 auto; color:#f0d59a; font-size:1.05rem; white-space:nowrap; }
.dish-body p { margin:10px 0 0; color:#ead8b1; font-size:.93rem; }
.menu-empty { padding:30px; text-align:center; color:#f2ddb2; border:1px dashed rgba(229,184,83,.35); border-radius:18px; }

@media (max-width: 960px) {
  .dish-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .menu-tools { top:72px; align-items:stretch; flex-direction:column; }
  .menu-search-wrap { min-width:0; width:100%; }
}
@media (max-width: 620px) {
  .menu-hero { padding-top:52px; }
  .dish-grid { grid-template-columns:1fr; }
  .menu-tools { position:relative; top:auto; padding:12px; }
  .menu-filter { padding:8px 12px; font-size:.82rem; }
  .dish-photo { aspect-ratio:16/11; }
  .dish-title-row h3 { font-size:1.45rem; }
  .menu-back { width:auto; }
}


.legal-footer{border-top:1px solid rgba(240,213,154,.28);background:linear-gradient(180deg,rgba(42,7,8,.9),rgba(12,2,2,.98));}
.footer-legal-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:28px;align-items:start;}
.footer-legal-grid strong{color:var(--gold-2);display:block;margin-bottom:8px;}
.footer-legal-grid a{text-decoration:underline;text-decoration-color:rgba(240,213,154,.35);text-underline-offset:3px;}
.footer-smallprint{padding-top:18px;margin-top:18px;border-top:1px solid rgba(240,213,154,.12);font-size:.82rem;}
.footer-smallprint p{margin:0;}
.developer-credit{padding-left:20px;border-left:1px solid rgba(240,213,154,.2);}
.allergen-notice{margin:20px 0 30px;padding:18px 20px;border:1px solid rgba(240,213,154,.32);border-radius:18px;background:rgba(103,12,16,.34);}
.allergen-notice h2{font-size:1.55rem;margin-bottom:8px;}
.allergen-notice p{margin-bottom:8px;}
.allergen-notice summary{cursor:pointer;color:var(--gold-2);font-weight:700;}
.dish-allergens{font-size:.9rem;color:var(--gold-2);padding-top:10px;border-top:1px solid rgba(240,213,154,.14);}
.legal-page{max-width:920px;margin:0 auto;}
.legal-page h1{margin-bottom:18px;}
.legal-page h2{font-size:1.8rem;margin-top:34px;}
.legal-page h3{font-size:1.3rem;margin-top:24px;}
.legal-card{background:rgba(74,9,11,.42);border:1px solid rgba(240,213,154,.25);border-radius:22px;padding:24px;margin:20px 0;}
.legal-page ul{color:var(--muted);}
.legal-page a{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:800px){.footer-legal-grid{grid-template-columns:1fr}.developer-credit{padding-left:0;border-left:0;border-top:1px solid rgba(240,213,154,.16);padding-top:20px}}

.zodiac-splash.skip-animation {
  display: none !important;
  transition: none !important;
}




.webapp-section { padding-top: 34px; }
.webapp-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 30px;
  border: 1px solid rgba(240,213,154,.48);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(141,16,24,.78), rgba(55,6,8,.88));
  box-shadow: 0 18px 50px rgba(0,0,0,.28), inset 0 0 0 1px rgba(215,166,66,.15);
}
.webapp-card h2 { margin-bottom: 12px; }
.webapp-icon-wrap {
  width: 150px;
  height: 150px;
  padding: 10px;
  border-radius: 32px;
  background: linear-gradient(145deg, #f0d59a, #a46f18);
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
}
.webapp-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
}
.install-app-btn { border: 0; cursor: pointer; font: inherit; }
.install-app-btn:disabled { opacity: .72; cursor: default; }
.ios-install-hint { margin-top: 14px; color: var(--gold-2); }
@media (max-width: 700px) {
  .webapp-card { grid-template-columns: 1fr; text-align: center; }
  .webapp-icon-wrap { margin: 0 auto; width: 120px; height: 120px; border-radius: 26px; }
}

.menu-topbar-actions { display:flex; gap:10px; align-items:center; }
@media (max-width:640px){ .menu-topbar-actions{ gap:7px; } .menu-topbar-actions .btn{ width:auto; min-height:42px; padding:0 13px; font-size:.86rem; } }

.menu-mode-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 0 22px}.menu-group,.take-group{border:1px solid rgba(240,213,154,.35);background:#350709;color:#f4dca7;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer}.menu-group.active,.take-group.active{background:linear-gradient(180deg,#f0d59a,#c9932c);color:#271603;border-color:#f0d59a}.simple-menu-category{margin-bottom:42px}.simple-dish-list,.takeaway-dish-list{border:1px solid rgba(215,166,66,.30);border-radius:22px;overflow:hidden;background:rgba(38,5,6,.58);box-shadow:0 18px 45px rgba(0,0,0,.18)}.simple-dish-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(215,166,66,.18)}.simple-dish-row:last-child{border-bottom:0}.dish-code{color:#dcae50;font-weight:900;letter-spacing:.04em}.dish-info h3{font-family:inherit;font-size:1rem;line-height:1.3;margin:0;color:#fff7ea}.dish-info p{margin:4px 0 0;font-size:.87rem;color:#d8c59d}.simple-price{white-space:nowrap;color:#f0d59a;font-size:1rem}.simple-dish-row sup{color:#dcae50}.raw-food-note{margin:22px 0;padding:16px;border-left:3px solid #dcae50;background:rgba(215,166,66,.08);color:#ead8b1}.takeaway-hero{padding:105px 0 45px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(215,166,66,.12),transparent 28%),linear-gradient(180deg,#4a0a0d,#180405)}.takeaway-hero p{max-width:760px;margin:0 auto 20px}.takeaway-dish-row{display:grid;grid-template-columns:42px 66px 1fr auto auto;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(215,166,66,.16);transition:.2s}.takeaway-dish-row:last-child{border-bottom:0}.takeaway-dish-row.selected{background:rgba(215,166,66,.08)}.take-check{width:34px;height:34px;border-radius:50%;border:1px solid rgba(240,213,154,.5);background:#2e0608;color:#f0d59a;font-size:1.2rem;font-weight:900;cursor:pointer}.takeaway-dish-row.selected .take-check{background:#d7a642;color:#2c1905}.qty-control{display:flex;align-items:center;gap:7px}.qty-control button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(240,213,154,.35);background:#2b0608;color:white;font-size:1.15rem;cursor:pointer}.qty-control span{min-width:24px;text-align:center;font-weight:900}.takeaway-cart-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;width:min(760px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:20px;background:rgba(30,4,5,.96);border:1px solid rgba(215,166,66,.45);box-shadow:0 18px 55px rgba(0,0,0,.45);backdrop-filter:blur(14px)}.takeaway-cart-bar>div{display:flex;gap:12px;align-items:baseline}.takeaway-cart-bar span{color:#f0d59a}.cart-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.74);padding:18px;display:grid;place-items:center}.cart-modal[hidden]{display:none}.cart-panel{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:linear-gradient(180deg,#4b0b0e,#1c0304);border:1px solid rgba(240,213,154,.45);border-radius:26px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.cart-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:#f0d59a;font-size:2rem;cursor:pointer}.cart-line{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(215,166,66,.16)}.cart-total-row{display:flex;justify-content:space-between;margin:20px 0 6px;font-size:1.15rem}.cart-total-row strong{color:#f0d59a}.cart-note{font-size:.88rem}.cart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.modal-open{overflow:hidden}.takeaway-home-section{background:linear-gradient(180deg,rgba(141,16,24,.12),rgba(215,166,66,.05))}.takeaway-home-card{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center;padding:34px;border:1px solid rgba(215,166,66,.35);border-radius:28px;background:rgba(45,6,8,.72);box-shadow:0 20px 60px rgba(0,0,0,.25)}.takeaway-home-steps{display:grid;gap:12px}.takeaway-home-steps span{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(215,166,66,.22);border-radius:16px;color:#f4e4bf}.takeaway-home-steps strong{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d7a642;color:#2c1905}.allergen-notice{margin:0 0 32px;padding:18px 20px;border:1px solid rgba(215,166,66,.28);border-radius:18px;background:rgba(215,166,66,.06)}.allergen-notice h2{font-size:1.35rem}.allergen-notice p{margin-bottom:0}.menu-hero{padding-top:80px}.menu-logo-frame{display:none}
@media(max-width:760px){.simple-dish-row{grid-template-columns:48px 1fr auto;padding:13px 12px;gap:9px}.dish-code{font-size:.85rem}.dish-info h3{font-size:.94rem}.simple-price{font-size:.92rem}.takeaway-dish-row{grid-template-columns:36px 45px 1fr auto;padding:12px 10px}.takeaway-dish-row .qty-control{grid-column:3/5;justify-self:end}.takeaway-home-card{grid-template-columns:1fr;padding:22px}.menu-mode-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.menu-group,.take-group{white-space:nowrap}.takeaway-cart-bar{bottom:8px}.takeaway-cart-bar .btn{width:auto;padding:0 15px}.cart-actions .btn{width:100%}}


.menu-mode-tabs{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 20px;
}
.menu-tools-clean{
  position:sticky;
  top:76px;
  z-index:14;
  display:grid;
  grid-template-columns:minmax(220px, 330px) minmax(260px, 1fr);
  gap:16px;
  align-items:end;
  padding:16px;
  margin:0 0 14px;
  border:1px solid rgba(215,166,66,.34);
  border-radius:20px;
  background:rgba(38,5,6,.94);
  box-shadow:0 14px 35px rgba(0,0,0,.25);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.menu-category-select-wrap,
.menu-search-wrap{
  display:grid;
  gap:7px;
  min-width:0;
  color:#f0d59a;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.menu-category-select-wrap select,
.menu-search-wrap input{
  width:100%;
  height:48px;
  border:1px solid rgba(215,166,66,.40);
  border-radius:14px;
  background:#220405;
  color:#fff7ea;
  padding:0 14px;
  font:inherit;
  font-size:1rem;
  text-transform:none;
  letter-spacing:normal;
  outline:none;
}
.menu-category-select-wrap select:focus,
.menu-search-wrap input:focus{
  border-color:#efc86c;
  box-shadow:0 0 0 3px rgba(226,185,87,.13);
}
.menu-category-select-wrap select option{background:#220405;color:#fff7ea}
.menu-search-box{position:relative}
.menu-search-box input{padding-right:48px}
.menu-search-box button{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#dcb765;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.menu-search-box button:hover{background:rgba(215,166,66,.11)}
.menu-filters{display:none!important}
.menu-status{margin:8px 0 26px}

@media(max-width:760px){
  .menu-mode-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .menu-mode-tabs .menu-group:first-child{grid-column:1/-1}
  .menu-group{width:100%;padding:10px 12px}
  .menu-tools-clean{
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    padding:12px;
    gap:11px;
  }
  .menu-category-select-wrap select,
  .menu-search-wrap input{height:46px}
}


.simple-menu-category{
  margin-bottom:46px;
}
.simple-dish-list{
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
}
.simple-dish-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
  padding:13px 2px;
  border:0 !important;
  border-bottom:1px solid rgba(215,166,66,.24) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.simple-dish-row:last-child{
  border-bottom:1px solid rgba(215,166,66,.24) !important;
}
.simple-dish-row:hover{
  background:rgba(215,166,66,.035) !important;
}
.dish-code{
  padding-top:2px;
  color:#dcae50;
  font-weight:800;
}
.dish-info h3{
  margin:0;
  font-family:inherit;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
  color:#fff7ea;
}
.dish-info p{
  margin:3px 0 0;
  font-size:.86rem;
  line-height:1.4;
  color:#cdbb94;
}
.simple-price{
  padding-top:1px;
  color:#f0d59a;
  font-size:1rem;
  font-weight:800;
  white-space:nowrap;
  text-align:right;
}
@media(max-width:640px){
  .simple-dish-row{
    grid-template-columns:46px minmax(0,1fr) auto;
    gap:9px;
    padding:12px 0;
  }
  .dish-code{font-size:.82rem}
  .dish-info h3{font-size:.93rem}
  .dish-info p{font-size:.8rem}
  .simple-price{font-size:.9rem}
}

.simple-dish-row .dish-english{margin-top:3px;color:#e7c978;font-size:.86rem;font-weight:600;letter-spacing:.01em;text-transform:none}.simple-dish-row .dish-desc-en{margin-top:2px!important;color:rgba(255,248,233,.68)!important;font-size:.82rem!important;font-style:italic}.simple-dish-row .dish-info h3{margin-bottom:0}.simple-dish-row .dish-info p{margin-top:5px;margin-bottom:0}


.gallery-section { overflow: hidden; }
.gallery-intro { max-width: 720px; margin-bottom: 22px; }
.dish-gallery {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 10px;
  border-radius: 30px;
  background: linear-gradient(135deg, #f5d98b 0%, #b97817 22%, #f3cf68 48%, #8d570f 73%, #f5df9a 100%);
  box-shadow: 0 24px 60px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,245,205,.55);
}
.dish-gallery::before {
  content: '';
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(91,45,4,.72);
  border-radius: 25px;
  pointer-events: none;
  z-index: 4;
}
.gallery-viewport {
  position: relative;
  overflow: hidden;
  border-radius: 22px 22px 10px 10px;
  background: #0b0203;
  aspect-ratio: 16 / 10;
  touch-action: pan-y;
  overscroll-behavior-x: contain;
  user-select: none;
  -webkit-user-select: none;
}
.gallery-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .38s cubic-bezier(.22,.72,.22,1);
  will-change: transform;
}
.gallery-track.no-transition { transition: none; }
.gallery-slide {
  min-width: 100%;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #090203;
}
.gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center center;
  will-change: transform;
  pointer-events: none;
}
.gallery-caption-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 10px;
  background: linear-gradient(180deg, rgba(68,5,8,.98), rgba(35,4,5,.98));
  border-radius: 0 0 20px 20px;
}
.gallery-count {
  display: block;
  color: #e8c870;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.gallery-title {
  margin: 0;
  color: #fff7e6;
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.1;
}
.gallery-reset {
  border: 1px solid rgba(235,199,105,.55);
  color: #f5deb0;
  background: rgba(255,255,255,.04);
  border-radius: 999px;
  padding: 9px 13px;
  cursor: pointer;
}
.gallery-nav {
  position: absolute;
  top: calc(50% - 45px);
  z-index: 6;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(247,218,142,.65);
  background: rgba(54,4,6,.72);
  backdrop-filter: blur(7px);
  color: #f6dfa6;
  font-size: 2.1rem;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
}
.gallery-prev { left: 22px; }
.gallery-next { right: 22px; }
.gallery-dots {
  display: flex;
  gap: 7px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 12px 14px 7px;
  background: #210405;
  border-radius: 0 0 20px 20px;
}
.gallery-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  border: 0;
  background: rgba(231,198,113,.30);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.gallery-dot.active { background: #e6bd59; transform: scale(1.35); }
.gallery-zoom-hint {
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 5;
  transform: translateX(-50%);
  background: rgba(20,2,3,.62);
  color: #f4dcaa;
  border: 1px solid rgba(239,207,128,.28);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: .76rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.gallery-viewport.is-zoomed + .gallery-zoom-hint { opacity: 1; }

@media (max-width: 720px) {
  .dish-gallery { padding: 7px; border-radius: 24px; }
  .gallery-viewport { aspect-ratio: 4 / 4.6; border-radius: 18px 18px 8px 8px; }
  .gallery-nav { width: 42px; height: 42px; top: calc(50% - 60px); font-size: 1.8rem; }
  .gallery-prev { left: 14px; }
  .gallery-next { right: 14px; }
  .gallery-caption-row { padding: 15px 14px 9px; align-items: flex-start; }
  .gallery-reset { font-size: .76rem; padding: 7px 10px; }
}


#contatti .contact-grid {
  grid-template-columns: 1fr;
  max-width: 820px;
  margin: 0 auto;
}
#contatti .contact-card {
  width: 100%;
}
.developer-credit p { margin-top: 6px; }


.nav-social {
  width: 38px; height: 38px; padding: 0 !important; border-radius: 50%;
  display: inline-flex !important; align-items: center; justify-content: center;
  border: 1px solid rgba(240,213,154,.35); background: rgba(215,166,66,.08);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.nav-social svg { width: 18px; height: 18px; fill: #f0d59a; }
.nav-social:hover { transform: translateY(-2px); background: rgba(215,166,66,.18); border-color: rgba(240,213,154,.7); }

.floating-call {
  position: fixed; right: 22px; bottom: 24px; z-index: 9998;
  width: 62px; height: 62px; border-radius: 50%;
  display: grid; place-items: center;
  background: radial-gradient(circle at 35% 25%, #f6dda6, #d5a23e 58%, #9e6815 100%);
  border: 3px solid #fff0c5;
  box-shadow: 0 10px 30px rgba(0,0,0,.42), 0 0 0 5px rgba(141,16,24,.55);
  transition: transform .2s ease, box-shadow .2s ease;
}
.floating-call:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 14px 36px rgba(0,0,0,.48), 0 0 0 6px rgba(141,16,24,.62); }
.floating-call svg { width: 29px; height: 29px; fill: #551015; }

.menu-accordion {
  border-top: 1px solid rgba(215,166,66,.25);
  margin: 0; padding: 0;
}
.menu-accordion:last-child { border-bottom: 1px solid rgba(215,166,66,.25); }
.menu-category-toggle {
  width: 100%; border: 0; background: transparent; color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  text-align: left; padding: 20px 4px; cursor: pointer; font: inherit;
}
.menu-category-toggle span:first-child { display: grid; gap: 3px; }
.menu-category-toggle small { color: var(--gold-2); text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; }
.menu-category-toggle strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 700; }
.menu-category-chevron { color: var(--gold-2); font-size: 2rem; line-height: 1; transition: transform .22s ease; }
.menu-accordion.open .menu-category-chevron { transform: rotate(180deg); }
.menu-category-panel[hidden] { display: none !important; }
.menu-category-panel { padding-bottom: 10px; }

@media (max-width: 960px) {
  .mobile-nav-toggle { display: inline-flex; flex: 0 0 auto; }
  .nav-social {
    display: inline-flex !important;
    margin: 10px 6px 4px;
    vertical-align: middle;
  }
  .nav-social + .nav-social { margin-left: 0; }
  .nav-wrap { position: relative; }
  .brand { min-width: 0; }
  .brand-text { min-width: 0; }
  .brand small { white-space: nowrap; }
}
@media (max-width: 640px) {
  .floating-call { width: 56px; height: 56px; right: 15px; bottom: 18px; }
  .floating-call svg { width: 26px; height: 26px; }
  .menu-category-toggle { padding: 17px 2px; }
}

@media (max-width: 980px) {
  .site-header.mobile-open .nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .nav > a:not(.nav-social) { grid-column: 1 / -1; }
  .nav .nav-social {
    justify-self: center;
    margin: 12px 0 4px;
  }
  .site-header.scrolled.mobile-open {
    background: rgba(20,5,6,.82);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
}
@media (max-width: 520px) {
  .brand-badge { width: 46px; height: 46px; border-radius: 14px; font-size: 1.15rem; }
  .brand strong { font-size: 1.55rem; }
  .brand small { font-size: .73rem; }
  .nav-wrap { gap: 10px; }
}

@media (max-width: 980px) {
  .hero-logo-card {
    order: -1;
  }
}

@media (max-width: 980px) {
  .hero {
    overflow: hidden;
  }
  .hero-grid {
    position: relative;
    z-index: 1;
  }
  .lanterns {
    z-index: 4;
  }
  .hero-logo-card {
    position: relative;
    z-index: 2;
  }
  .lantern-1 {
    left: -10px;
    right: auto;
    top: 58px;
    transform: scale(.72) rotate(-3deg);
  }
  .lantern-2 {
    left: 18%;
    right: auto;
    top: 72px;
    transform: scale(.62) rotate(3deg);
  }
  .lantern-3 {
    right: 8%;
    top: 54px;
    transform: scale(.72) rotate(3deg);
  }
  .lantern-4 {
    display: block;
    right: -8px;
    top: 78px;
    transform: scale(.60) rotate(-3deg);
  }
}

@media (max-width: 640px) {
  .lantern-1 { left: -18px; top: 62px; transform: scale(.62) rotate(-4deg); }
  .lantern-2 { left: 19%; top: 78px; transform: scale(.52) rotate(3deg); }
  .lantern-3 { right: 10%; top: 58px; transform: scale(.62) rotate(4deg); }
  .lantern-4 { right: -18px; top: 82px; transform: scale(.50) rotate(-3deg); }
}

.menu-category-note{margin:.35rem 0 .8rem;padding:0 1rem;color:var(--gold-light,#f4d98b);font-size:.9rem;font-style:italic;}

@media (max-width: 980px) {
  .menu-page .menu-hero .lanterns {
    pointer-events: none;
    z-index: 1;
  }
  .menu-page .menu-hero-inner {
    position: relative;
    z-index: 2;
  }
  .menu-page .menu-hero .lantern-1 {
    left: -26px;
    right: auto;
    top: 2px;
    transform: scale(.46) rotate(-5deg);
  }
  .menu-page .menu-hero .lantern-3 {
    right: -24px;
    left: auto;
    top: 0;
    transform: scale(.46) rotate(5deg);
  }
}

@media (max-width: 620px) {
  .menu-page .menu-hero {
    padding-top: 64px;
  }
  .menu-page .menu-hero .lantern-1 {
    left: -34px;
    top: -4px;
    transform: scale(.39) rotate(-5deg);
  }
  .menu-page .menu-hero .lantern-3 {
    right: -32px;
    top: -6px;
    transform: scale(.39) rotate(5deg);
  }
}

html { font-size: calc(100% * var(--a11y-scale, 1)); }
.a11y-widget{position:fixed;left:18px;bottom:18px;z-index:1200;font-family:Arial,Helvetica,sans-serif}
.a11y-toggle{width:62px;height:62px;border-radius:50%;border:3px solid #fff0c5;background:radial-gradient(circle at 35% 25%,#f6dda6,#d5a23e 58%,#9e6815 100%);padding:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 0 5px rgba(141,16,24,.55);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;position:relative}
.a11y-toggle img{display:none!important}
.a11y-toggle::before{content:"";width:31px;height:31px;display:block;background:#551015;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='12' r='7'/%3E%3Cpath d='M12 25c0-3 2.4-5.4 5.4-5.4h29.2c3 0 5.4 2.4 5.4 5.4s-2.4 5.4-5.4 5.4H38v10.2l7.2 14.1c1.5 3 .3 6.6-2.7 8.1-3 1.5-6.6.3-8.1-2.7L32 55.4l-2.4 4.7c-1.5 3-5.1 4.2-8.1 2.7-3-1.5-4.2-5.1-2.7-8.1L26 40.6V30.4h-8.6C14.4 30.4 12 28 12 25z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='12' r='7'/%3E%3Cpath d='M12 25c0-3 2.4-5.4 5.4-5.4h29.2c3 0 5.4 2.4 5.4 5.4s-2.4 5.4-5.4 5.4H38v10.2l7.2 14.1c1.5 3 .3 6.6-2.7 8.1-3 1.5-6.6.3-8.1-2.7L32 55.4l-2.4 4.7c-1.5 3-5.1 4.2-8.1 2.7-3-1.5-4.2-5.1-2.7-8.1L26 40.6V30.4h-8.6C14.4 30.4 12 28 12 25z'/%3E%3C/svg%3E") center/contain no-repeat}
.a11y-toggle:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 36px rgba(0,0,0,.48),0 0 0 6px rgba(141,16,24,.62)}
.a11y-toggle:focus-visible,.a11y-panel button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.a11y-panel{position:absolute;left:0;bottom:72px;width:min(340px,calc(100vw - 28px));background:#fff;color:#241313;border:2px solid #980f18;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.45);overflow:hidden}
.a11y-panel[hidden]{display:none}
.a11y-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#970e18;color:#fff}
.a11y-panel-head strong{font-size:1.06rem;letter-spacing:.02em}
.a11y-close{border:0;background:transparent;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;padding:0 3px}
.a11y-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px}
.a11y-controls button{min-height:72px;border:1px solid #d9c7c7;border-radius:12px;background:#fff;color:#2a1717;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:700 1rem Arial,Helvetica,sans-serif;cursor:pointer;text-align:center;padding:9px;transition:background .18s,border-color .18s,transform .18s}
.a11y-controls button span{font-size:.76rem;font-weight:700;line-height:1.15}
.a11y-controls button[aria-pressed="true"]{background:#970e18;color:#fff;border-color:#970e18}
.a11y-controls button:active{transform:scale(.98)}
.a11y-size-controls{display:contents}
.a11y-reset{grid-column:1/-1!important;min-height:48px!important;flex-direction:row!important;background:#f6eeee!important}

html.a11y-readable-font body,html.a11y-readable-font h1,html.a11y-readable-font h2,html.a11y-readable-font h3,html.a11y-readable-font .brand strong,html.a11y-readable-font button,html.a11y-readable-font input,html.a11y-readable-font select{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.01em}
html.a11y-high-contrast body{background:#000!important;color:#fff!important}
html.a11y-high-contrast body *:not(img):not(video):not(svg):not(path){text-shadow:none!important}
html.a11y-high-contrast main,html.a11y-high-contrast section,html.a11y-high-contrast header,html.a11y-high-contrast footer,html.a11y-high-contrast article,html.a11y-high-contrast .dish-card,html.a11y-high-contrast .simple-dish-list,html.a11y-high-contrast .simple-dish-row{background:#000!important;color:#fff!important}
html.a11y-high-contrast a{color:#ffff00!important}
html.a11y-high-contrast button,html.a11y-high-contrast input,html.a11y-high-contrast select{border-color:#fff!important}
html.a11y-high-contrast .a11y-panel{background:#fff!important;color:#111!important}
html.a11y-high-contrast .a11y-panel-head{background:#000!important;color:#fff!important}
html.a11y-high-contrast .a11y-controls button{background:#fff!important;color:#000!important;border-color:#000!important}
html.a11y-high-contrast .a11y-controls button[aria-pressed="true"]{background:#000!important;color:#fff!important;border-color:#000!important}
html.a11y-grayscale body{filter:grayscale(1)}
html.a11y-underline-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html.a11y-reduce-motion *,html.a11y-reduce-motion *::before,html.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

@media(max-width:640px){
  .a11y-widget{left:12px;bottom:12px}
  .a11y-toggle{width:56px;height:56px;padding:6px}
  .a11y-panel{bottom:64px;width:min(326px,calc(100vw - 24px));max-height:min(74vh,620px);overflow:auto}
  .a11y-controls{gap:8px;padding:11px}
  .a11y-controls button{min-height:66px;padding:7px}
}

.floating-call,
.a11y-toggle {
  transition: opacity .28s ease, transform .2s ease, box-shadow .28s ease, filter .28s ease;
}

body.floating-ui-scrolled .floating-call,
body.floating-ui-scrolled .a11y-toggle {
  opacity: .22;
  box-shadow: none;
  filter: saturate(.7);
}

body.floating-ui-scrolled .floating-call:hover,
body.floating-ui-scrolled .floating-call:focus-visible,
body.floating-ui-scrolled .floating-call:active,
body.floating-ui-scrolled .a11y-toggle:hover,
body.floating-ui-scrolled .a11y-toggle:focus-visible,
body.floating-ui-scrolled .a11y-toggle:active,
body.floating-ui-scrolled .a11y-widget:has(.a11y-panel:not([hidden])) .a11y-toggle {
  opacity: 1;
  filter: none;
}


.unlimited-menu-section{padding-top:34px;padding-bottom:34px;background:linear-gradient(180deg,rgba(54,7,9,.96),rgba(31,5,7,.98))}
.unlimited-menu-card{position:relative;overflow:hidden;border:1px solid rgba(232,190,92,.58);border-radius:28px;padding:34px;background:linear-gradient(135deg,rgba(126,12,20,.96),rgba(68,6,10,.97) 62%,rgba(42,4,7,.98));box-shadow:0 24px 70px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,235,180,.08)}
.unlimited-menu-card::after{content:"";position:absolute;right:-70px;top:-85px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(238,197,103,.14);box-shadow:0 0 0 28px rgba(238,197,103,.04),0 0 0 60px rgba(238,197,103,.025);pointer-events:none}
.unlimited-menu-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px;position:relative;z-index:1}
.unlimited-menu-head h2{margin:.15em 0 .18em;font-size:clamp(2rem,4.4vw,3.5rem);color:#fff6dc}
.unlimited-menu-head p:not(.section-kicker){margin:0;color:#f4dfb0;max-width:650px}
.unlimited-menu-cta{white-space:nowrap;flex:0 0 auto}
.unlimited-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;position:relative;z-index:1}
.unlimited-price-box{padding:20px 22px;border:1px solid rgba(242,203,114,.4);border-radius:18px;background:rgba(24,3,5,.28);backdrop-filter:blur(3px)}
.unlimited-day{display:block;color:#efcf83;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.78rem;margin-bottom:12px}
.unlimited-meal{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);color:#fff1cf}
.unlimited-meal:first-of-type{border-top:0}
.unlimited-meal span{font-size:1.05rem}
.unlimited-meal strong{font-size:clamp(1.45rem,3vw,2rem);color:#f3c966;white-space:nowrap}
.unlimited-notes{margin-top:18px;padding-top:17px;border-top:1px solid rgba(242,203,114,.26);display:grid;gap:6px;color:#efdcae;position:relative;z-index:1}
.unlimited-notes p{margin:0;line-height:1.5}
.unlimited-notes strong{color:#fff5d8}
.unlimited-waste-note{font-size:.92rem;opacity:.88}

.menu-formula-notice{margin:0 0 18px;padding:20px 22px;border-radius:18px;border:1px solid rgba(211,162,62,.55);background:linear-gradient(135deg,rgba(123,10,18,.97),rgba(62,5,9,.98));color:#f7e4b8;box-shadow:0 14px 35px rgba(0,0,0,.14)}
.menu-formula-notice h2{margin:0 0 12px;color:#fff4d4;font-size:1.55rem}
.menu-formula-notice p{margin:6px 0;line-height:1.45}
.menu-formula-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-bottom:10px}
.menu-formula-prices span{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(244,207,124,.18)}
.menu-formula-prices strong{color:#f4d17f}

@media(max-width:760px){
  .unlimited-menu-section{padding-top:20px;padding-bottom:22px}
  .unlimited-menu-card{padding:23px 18px;border-radius:22px}
  .unlimited-menu-head{display:block;margin-bottom:18px}
  .unlimited-menu-head h2{font-size:2.25rem}
  .unlimited-menu-cta{margin-top:16px;display:inline-flex}
  .unlimited-price-grid{grid-template-columns:1fr;gap:11px}
  .unlimited-price-box{padding:16px}
  .unlimited-meal strong{font-size:1.6rem}
  .unlimited-notes{font-size:.92rem}
  .menu-formula-notice{padding:17px 15px}
  .menu-formula-prices{grid-template-columns:1fr}
}
