:root {
 --gold: #c9a96e;
 --dark: #0a0a0a;
 --dark-2: #111;
 --cream: #f5f0e8;
 --amber-deep: #1a1408;
 --amber-bright: #d4a438;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
 font-family: 'Cormorant Garamond', Georgia, serif;
 background: var(--dark);
 color: var(--cream);
 line-height: 1.6;
 -webkit-font-smoothing: antialiased;
 padding-bottom: 60px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold); text-decoration: none; }
.nav { position: sticky; top: 0; z-index: 1000; background: rgba(10,10,10,0.97); border-bottom: 1px solid rgba(201,169,110,0.15); padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 56px; backdrop-filter: blur(12px); }
.nav-left { display: flex; align-items: center; gap: 15px; }
.nav-phone { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: 0.5px; text-decoration: none; }
.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-link { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 400; color: rgba(245,240,232,0.7); letter-spacing: 0.5px; text-transform: uppercase; transition: color 0.3s; text-decoration: none; }
.nav-link:hover { color: var(--gold); }
.nav-reserve { background: var(--gold) !important; color: var(--dark) !important; padding: 7px 18px; border-radius: 2px; font-weight: 600 !important; font-size: 10px !important; letter-spacing: 1px; font-family: 'Montserrat', sans-serif; text-transform: uppercase; text-decoration: none; }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--cream); transition: 0.3s; }
.mobile-menu { display: none; position: fixed; top: 56px; left: 0; right: 0; bottom: 0; background: rgba(10,10,10,0.98); z-index: 999; flex-direction: column; align-items: center; justify-content: center; gap: 28px; }
.mobile-menu.active { display: flex; }
.mobile-menu a { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 400; color: var(--cream); text-transform: uppercase; letter-spacing: 1px; text-decoration: none; }
.hero { position: relative; height: 70vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; background: center/cover no-repeat; filter: brightness(0.4) saturate(1.3); }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, var(--dark) 0%, rgba(10,10,10,0.3) 40%, transparent 70%); }
.hero-content { position: relative; z-index: 2; max-width: 800px; padding: 30px 24px 40px; }
.hero-kicker { display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); border: 1px solid var(--gold); padding: 6px 18px; margin-bottom: 20px; }
.hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 6vw, 58px); font-weight: 700; line-height: 1.1; color: var(--cream); margin-bottom: 16px; }
.hero h1 em { color: var(--gold); font-style: italic; }
.hero-discount { display: inline-block; background: var(--gold); color: var(--dark); font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 8px 24px; margin-bottom: 16px; }
.hero-sub { font-size: 18px; font-style: italic; color: rgba(245,240,232,0.8); margin-bottom: 28px; max-width: 500px; margin-left: auto; margin-right: auto; }
.hero-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.btn-gold { display: inline-block; background: var(--gold); color: var(--dark); font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 13px 28px; border: none; cursor: pointer; transition: background 0.3s, transform 0.2s; text-decoration: none; }
.btn-gold:hover { background: var(--amber-bright); transform: translateY(-1px); color: var(--dark); }
.btn-outline-gold { display: inline-block; border: 1px solid var(--gold); color: var(--gold); background: transparent; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 13px 28px; cursor: pointer; transition: 0.3s; text-decoration: none; }
.btn-outline-gold:hover { background: rgba(201,169,110,0.1); color: var(--gold); }
.btn-outline-cream { display: inline-block; border: 1px solid rgba(245,240,232,0.5); color: var(--cream); background: transparent; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; padding: 13px 28px; cursor: pointer; transition: 0.3s; text-decoration: none; }
.btn-outline-cream:hover { background: rgba(245,240,232,0.08); color: var(--cream); }
.info-bar { background: linear-gradient(135deg, var(--amber-deep), #1f1a0f); padding: 16px 24px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.info-tag { display: flex; align-items: center; gap: 7px; border: 1px solid rgba(201,169,110,0.25); padding: 6px 14px; border-radius: 2px; }
.info-tag svg { width: 14px; height: 14px; stroke: var(--gold); fill: none; stroke-width: 1.5; }
.info-tag span { font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--cream); }
.vibe { padding: 40px 24px 20px; background: var(--dark); }
.vibe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; max-width: 900px; margin: 0 auto; }
.vibe-grid img { width: 100%; height: 250px; object-fit: cover; border-radius: 2px; }
.vibe-caption { text-align: center; margin-top: 14px; font-size: 13px; font-style: italic; color: rgba(245,240,232,0.4); }
.review-highlight { padding: 40px 24px; background: var(--dark-2); text-align: center; }
.review-inner { max-width: 640px; margin: 0 auto; }
.review-stars { color: var(--gold); font-size: 20px; letter-spacing: 3px; margin-bottom: 14px; }
.review-quote { font-size: 19px; font-style: italic; color: rgba(245,240,232,0.85); max-width: 640px; margin: 0 auto 12px; line-height: 1.6; border: none; }
.review-attr { font-family: 'Montserrat', sans-serif; font-size: 11px; color: rgba(245,240,232,0.4); letter-spacing: 0.5px; }
.menu-highlights { padding: 50px 24px; background: var(--dark); }
.container { max-width: 1100px; margin: 0 auto; }
.text-center { text-align: center; }
.section-label { font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.section-title { font-family: 'Playfair Display', serif; font-size: clamp(26px, 4vw, 38px); font-weight: 600; color: var(--cream); line-height: 1.2; margin-bottom: 30px; }
.section-title em { color: var(--gold); font-style: italic; }
.section-text { font-size: 17px; color: rgba(245,240,232,0.7); line-height: 1.8; max-width: 600px; }
.muted { color: rgba(245,240,232,0.5); }
.dish-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 28px; }
.dish-card { background: var(--dark-2); border-radius: 3px; overflow: hidden; }
.dish-card img { width: 100%; height: 300px; object-fit: cover; }
.dish-info { padding: 14px 16px; }
.dish-name { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; color: var(--gold); margin-bottom: 4px; }
.dish-desc { font-size: 14px; color: rgba(245,240,232,0.5); line-height: 1.4; margin-bottom: 6px; }
.dish-price { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; color: var(--cream); }
.facts-cta { padding: 50px 24px; background: linear-gradient(135deg, var(--amber-deep), #1f1a0f); }
.facts-cta-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 900px; margin: 0 auto; align-items: center; }
.facts-list { list-style: none; }
.facts-list li { font-size: 17px; color: rgba(245,240,232,0.85); padding: 10px 0; border-bottom: 1px solid rgba(201,169,110,0.12); display: flex; align-items: center; gap: 12px; }
.facts-list li:last-child { border-bottom: none; }
.fact-icon { font-size: 18px; flex-shrink: 0; width: 24px; text-align: center; }
.cta-side { text-align: center; }
.cta-title { font-family: 'Playfair Display', serif; font-size: clamp(26px, 4vw, 36px); font-weight: 600; font-style: italic; color: var(--cream); margin-bottom: 8px; }
.cta-sub { font-size: 15px; font-style: italic; color: rgba(245,240,232,0.5); margin-bottom: 24px; }
.zone-divider { padding: 40px 24px; text-align: center; background: var(--dark); position: relative; }
.zone-divider::before { content: ''; display: block; width: 120px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); margin: 0 auto 20px; }
.zone-divider p { font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 400; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,169,110,0.5); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 500px; }
.split-image, .split-img { position: relative; overflow: hidden; }
.split-image img, .split-img img { width: 100%; height: 100%; object-fit: cover; min-height: 400px; display: block; transition: transform 8s ease; max-width: 100%; }
.split-img:hover img { transform: scale(1.05); }
.split-content { display: flex; flex-direction: column; justify-content: center; padding: 60px 50px; background: linear-gradient(135deg, var(--amber-deep), var(--dark-2)); }
.split-content .section-text { max-width: none; }
.split-label { font-family: 'Montserrat', sans-serif; font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 5px; color: var(--amber-bright); margin-bottom: 12px; }
.split-title { font-family: 'Playfair Display', serif; font-size: 2.8rem; font-style: italic; color: var(--cream); line-height: 1.2; margin-bottom: 20px; }
.split-text { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; color: rgba(245,240,232,0.65); line-height: 1.8; }
.split.reversed .split-image, .split.reversed .split-img { order: 2; }
.split.reversed .split-content { order: 1; }
.photo-intro { text-align: center; max-width: 700px; margin: 0 auto; padding: 80px 30px 10px; }
.photo-intro-label { font-family: 'Montserrat', sans-serif; font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 6px; color: var(--amber-bright); background: rgba(212,164,56,0.08); border: 1px solid rgba(212,164,56,0.15); display: inline-block; padding: 6px 16px; margin-bottom: 16px; }
.photo-intro-title { font-family: 'Playfair Display', serif; font-size: 2.2rem; font-style: italic; color: var(--cream); margin-bottom: 10px; }
.photo-intro-text { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.2rem; color: rgba(245,240,232,0.5); font-style: italic; }
.mag-duo-feature { display: flex; gap: 30px; max-width: 1000px; margin: 30px auto 0; padding: 0 24px 80px; justify-content: center; }
.mag-card { width: 48%; position: relative; overflow: visible; }
.mag-card:first-child { margin-top: 40px; }
.mag-card-inner { height: 450px; overflow: hidden; border-radius: 3px; position: relative; }
.mag-card-inner::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(201,169,110,0.2); z-index: 2; pointer-events: none; }
.mag-card-inner img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.mag-card-inner:hover img { transform: scale(1.05); }
.mag-card-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px 24px 24px; background: linear-gradient(to top, rgba(10,10,10,0.9), transparent); z-index: 3; }
.mag-card-name { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-style: italic; color: var(--cream); margin-bottom: 4px; }
.mag-card-desc { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 0.95rem; color: rgba(201,169,110,0.7); font-style: italic; }
.mag-review { text-align: center; max-width: 700px; margin: 0 auto; padding: 80px 30px; }
.mag-review-stars { color: var(--gold); font-size: 1rem; letter-spacing: 3px; margin-bottom: 20px; }
.mag-review-quote { font-family: 'Playfair Display', serif; font-size: 2rem; font-style: italic; color: rgba(255,255,255,0.75); line-height: 1.5; position: relative; padding-top: 30px; }
.mag-review-quote::before { content: '\201C'; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); font-family: 'Playfair Display', serif; font-size: 5rem; color: var(--gold); opacity: 0.3; line-height: 1; }
.mag-review-attr { font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 3px; color: var(--gold); margin-top: 24px; }
.mag-review-divider { width: 60px; height: 1px; background: rgba(201,169,110,0.3); margin: 0 auto; }
.details-bar { display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(135deg, var(--amber-deep) 0%, var(--dark-2) 100%); border-top: 1px solid rgba(201,169,110,0.15); border-bottom: 1px solid rgba(201,169,110,0.15); }
.db-item { padding: 30px 25px; text-align: center; border-right: 1px solid rgba(201,169,110,0.06); }
.db-item:last-child { border-right: none; }
.db-item:nth-child(4) { border-right: none; }
.db-label { font-family: 'Montserrat', sans-serif; font-size: 0.55rem; letter-spacing: 4px; text-transform: uppercase; color: rgba(201,169,110,0.5); margin-bottom: 8px; }
.db-value { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: var(--cream); }
.menu-section { padding: 80px 24px; background: var(--dark-2); }
.menu-tabs {
 display: flex;
 justify-content: center;
 gap: 6px;
 flex-wrap: wrap;
 margin-bottom: 50px;
 position: sticky;
 top: 56px;
 z-index: 50;
 background: var(--dark-2);
 padding: 15px 10px;
 border-bottom: 1px solid rgba(201,169,110,0.15);
}
.menu-tab {
 padding: 13px 25px;
 border: 1px solid rgba(201,169,110,0.15);
 background: transparent;
 color: var(--cream);
 font-family: 'Montserrat', sans-serif;
 font-size: 0.75rem;
 font-weight: 500;
 letter-spacing: 2px;
 text-transform: uppercase;
 cursor: pointer;
 transition: all 0.4s;
 position: relative;
 overflow: hidden;
}
.menu-tab::before {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 0;
 background: var(--gold);
 transition: height 0.3s;
 z-index: 0;
}
.menu-tab:hover::before, .menu-tab.active::before { height: 100%; }
.menu-parchment { max-width: 950px; margin: 0 auto; padding: 60px 70px; background: linear-gradient(145deg, #e8dcc8 0%, #dfd2be 30%, #e5d9c5 60%, #d8ccb8 100%); position: relative; box-shadow: 0 20px 60px rgba(0,0,0,0.4), inset 0 0 100px rgba(0,0,0,0.02); }
.menu-parchment::before { content: ''; position: absolute; inset: 15px; border: 1px solid rgba(160,130,80,0.15); pointer-events: none; }
.menu-category { display: none; }
.menu-category.active { display: block; }
.menu-cat-title { font-family: 'Playfair Display', serif; font-size: 2.2rem; text-align: center; color: #1a1a18; margin-bottom: 8px; font-style: italic; }
.menu-cat-note { text-align: center; font-family: 'Cormorant Garamond', serif; font-size: 1.02rem; color: #5a4530; margin-bottom: 30px; font-style: italic; }
.menu-panel { display: none; max-width: 800px; margin: 0 auto; background: linear-gradient(135deg, #1a1710, #151210); border: 1px solid rgba(201,169,110,0.1); padding: 40px; border-radius: 2px; }
.menu-panel.active { display: block; }
.menu-item {
 padding: 16px 0;
 border-bottom: 1px solid rgba(160,130,80,0.1);
 transition: all 0.3s;
}
.menu-item:hover { padding-left: 8px; background: rgba(160,130,80,0.03); }
.menu-item-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.menu-item-name {
 font-family: 'Playfair Display', serif;
 font-size: 1.22rem;
 color: #1a1a18;
 font-weight: 600;
}
.menu-item-dots { flex: 1; border-bottom: 1px dotted rgba(160,130,80,0.25); min-width: 25px; position: relative; top: -5px; }
.menu-item-desc {
 font-family: 'Cormorant Garamond', serif;
 font-size: 1.15rem;
 color: #403828;
 margin-top: 4px;
 line-height: 1.5;
}
.menu-item-price {
 font-family: 'Playfair Display', serif;
 font-size: 1.12rem;
 color: #6b4e0a;
 font-weight: 600;
 white-space: nowrap;
}
.menu-item-add { font-size: 0.9rem; color: #7a6540; font-style: italic; margin-top: 3px; }
.menu-note { text-align: center; margin-top: 24px; font-size: 12px; color: rgba(245,240,232,0.35); font-style: italic; }
.menu-divider { width: 40px; height: 1px; background: rgba(160,130,80,0.25); margin: 35px auto; opacity: 0.5; }
.sides-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; }
.side-item { display: flex; justify-content: space-between; font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; padding: 7px 0; border-bottom: 1px solid rgba(160,130,80,0.08); }
.side-item span:last-child { color: #8b6914; }
.kids-list { max-width: 500px; margin: 0 auto; }
.kids-item { font-family: 'Cormorant Garamond', serif; font-size: 1.22rem; padding: 11px 0; border-bottom: 1px solid rgba(160,130,80,0.08); text-align: center; }
.kids-item-desc { font-size: 0.88rem; color: #7a7060; margin-top: 3px; }
.faq-section { padding: 80px 24px; background: var(--dark-2); }
.faq-list, .faq-inner { max-width: 750px; margin: 30px auto 0; }
.faq-item { border-bottom: 1px solid rgba(201,169,110,0.1); padding: 22px 0; }
.faq-question, .faq-item h3 { display: flex; justify-content: space-between; align-items: center; padding: 0; cursor: pointer; font-family: 'Playfair Display', serif; font-size: 17px; color: var(--cream); background: none; border: none; width: 100%; text-align: left; }
.faq-question::after, .faq-item h3::after { content: '+'; font-size: 22px; color: var(--gold); transition: 0.3s; flex-shrink: 0; margin-left: 16px; }
.faq-item.active .faq-question::after, .faq-item.open .faq-question::after, .faq-item.active h3::after, .faq-item.open h3::after { content: '\2212'; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.faq-answer-inner { padding: 0 0 20px; font-size: 15px; color: rgba(245,240,232,0.65); line-height: 1.8; }
.faq-item p { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.1rem; color: rgba(255,255,255,0.6); line-height: 1.7; max-height: 0; overflow: hidden; transition: max-height 0.3s; }
.faq-item.open p { max-height: 500px; padding-bottom: 5px; }
.faq-item h3::before { content: ''; margin-right: 0; }
.faq-head { text-align: center; margin-bottom: 40px; }
.bottom-cta { padding: 80px 24px; text-align: center; background: linear-gradient(135deg, var(--amber-deep), #1f1a0f); }
.bottom-cta-title { font-family: 'Playfair Display', serif; font-size: clamp(26px, 4vw, 38px); font-weight: 600; color: var(--cream); margin-bottom: 10px; }
.bottom-cta-sub { font-size: 17px; color: rgba(245,240,232,0.5); font-style: italic; max-width: 550px; margin: 0 auto 32px; line-height: 1.8; }
.bottom-cta-buttons { display: flex; flex-direction: row; gap: 14px; justify-content: center; flex-wrap: wrap; }
.mag-cta { text-align: center; padding: 100px 30px; position: relative; background: linear-gradient(135deg, var(--dark) 0%, var(--amber-deep) 50%, var(--dark) 100%); }
.ornament { text-align:center; margin-bottom:10px; opacity:0.7; }
.ornament svg { width:280px; height:30px; }
.glow-gold { text-shadow:0 0 30px rgba(201,169,110,0.2),0 0 60px rgba(201,169,110,0.05); }
.menu-intro { text-align:center; max-width:700px; margin:0 auto 50px; }
.menu-spacer { height: 60px; }
.spacer { height: 60px; }
.author-section { padding: 60px 30px; background: var(--dark-2); border-top: 1px solid rgba(201,169,110,0.1); }
.author-inner { max-width: 700px; margin: 0 auto; display: flex; gap: 30px; align-items: center; }
.author-img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(201,169,110,0.2); flex-shrink: 0; }
.author-text { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: rgba(255,255,255,0.6); line-height: 1.7; }
.author-text a { color: var(--gold); text-decoration: none; }
.author-text a:hover { text-decoration: underline; }
.related-section, .related { padding: 50px 24px; background: var(--dark-2); }
.related h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--gold); margin-bottom: 15px; text-align: center; }
.related-grid { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 1000px; margin: 20px auto 0; }
.related-link, .related a { display: block; padding: 14px 16px; border: 1px solid rgba(201,169,110,0.1); border-radius: 2px; font-family: 'Montserrat', sans-serif; font-size: 11px; color: rgba(245,240,232,0.6); transition: 0.3s; text-align: center; text-decoration: none; }
.related-link:hover, .related a:hover { border-color: var(--gold); color: var(--gold); background: rgba(201,169,110,0.1); }
.disclaimer { padding: 30px 24px; text-align: center; font-size: 11px; color: rgba(245,240,232,0.25); background: var(--dark); border-top: 1px solid rgba(201,169,110,0.05); }
.disclaimer p { font-family: 'Montserrat', sans-serif; font-size: 0.6rem; color: rgba(255,255,255,0.25); letter-spacing: 0.5px; max-width: 800px; margin: 0 auto; line-height: 1.8; }
footer { padding: 40px 24px; background: var(--dark); text-align: center; border-top: 1px solid rgba(201,169,110,0.1); }
.footer-brand, .footer-logo { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 4px; color: var(--gold); margin-bottom: 8px; text-transform: uppercase; }
.footer-addr, .footer-phone, .footer-copy, footer p { font-family: 'Montserrat', sans-serif; font-size: 11px; color: rgba(245,240,232,0.35); line-height: 2; }
.footer-phone a { color: rgba(245,240,232,0.35); text-decoration: none; }
.sticky-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000; background: rgba(10,10,10,0.97); border-top: 1px solid rgba(201,169,110,0.2); padding: 10px 16px; display: flex; justify-content: center; gap: 10px; transform: translateY(100%); transition: transform 0.3s ease; backdrop-filter: blur(12px); }
.sticky-bar.visible { transform: translateY(0); }
.sticky-bar a { flex: 0 1 180px; text-align: center; padding: 11px 16px; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none; }
.sticky-btn-reserve { background: var(--gold); color: var(--dark); }
.sticky-btn-call { border: 1px solid var(--gold); color: var(--gold); }
.sticky-btn-dir { border: 1px solid rgba(245,240,232,0.5); color: var(--cream); }
.reveal { opacity: 1; transform: translateY(0); transition: all 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 1; transform: translateX(0); transition: all 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 1; transform: translateX(0); transition: all 0.8s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal-right.visible { opacity: 1; transform: translateX(0); }
.reveal-scale { opacity:1; transform:scale(1); transition:all 0.9s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal-scale.visible { opacity:1; transform:scale(1); }
.drink-menu-label { font-family:'Montserrat',sans-serif; font-size:0.6rem; font-weight:700; letter-spacing:6px; text-transform:uppercase; color:var(--amber-bright); margin-bottom:12px; background:rgba(184,134,11,0.15); display:inline-block; padding:6px 16px; border:1px solid rgba(212,164,56,0.3); }
.drink-menu-title { font-family:'Playfair Display',serif; font-size:3.5rem; font-weight:400; color:var(--cream); font-style:italic; }
@media (max-width: 768px) {
 .hero { height: 60vh; }
 .nav-phone { display: none; }
 .nav-right .nav-link { display: none; }
 .hamburger { display: flex; }
 .vibe-grid { grid-template-columns: 1fr 1fr; }
 .vibe-grid img:nth-child(3) { display: none; }
 .dish-grid { grid-template-columns: 1fr; }
 .facts-cta-inner { grid-template-columns: 1fr; gap: 30px; }
 .sticky-bar a { flex: 1; padding: 11px 8px; font-size: 9px; }
 .hero-buttons a { width: 100%; text-align: center; }
 .hero-buttons { flex-direction: column; align-items: center; max-width: 280px; margin: 0 auto; }
 .info-tag { padding: 5px 10px; }
 .info-tag span { font-size: 8px; letter-spacing: 1px; }
 .split { grid-template-columns: 1fr; margin: 20px 0; }
 .split-img { height: 300px; }
 .split-image img, .split-img img { min-height: 300px; max-height: 350px; }
 .split-content { padding: 40px 24px; }
 .split-title { font-size: 1.8rem; }
 .split.reversed .split-image, .split.reversed .split-img { order: 0; }
 .split.reversed .split-content { order: 1; }
 .mag-duo-feature { flex-direction: column; gap: 30px; padding: 40px 20px; }
 .mag-card { width: 100%; }
 .mag-card:first-child { margin-top: 0; }
 .mag-card-inner { height: 350px; }
 .mag-review { padding: 50px 20px; }
 .mag-review-quote { font-size: 1.4rem; }
 .photo-intro { padding: 60px 20px 10px; }
 .photo-intro-title { font-size: 1.8rem; }
 .menu-panel { padding: 24px 16px; }
 .menu-parchment { padding: 24px 16px; }
 .sides-grid { grid-template-columns: 1fr; }
 .bottom-cta-buttons { flex-direction: column; align-items: center; }
 .bottom-cta-buttons a { width: 80%; text-align: center; }
 .related-grid { flex-wrap: wrap; }
 .details-bar { grid-template-columns: repeat(2, 1fr); }
 .db-item:nth-child(2n) { border-right: none; }
 .author-inner { flex-direction: column; text-align: center; }
 .drink-menu-title { font-size:2.5rem; }
 nav a, nav button, .hamburger { min-height:44px; min-width:44px; display:flex; align-items:center; justify-content:center; }
 .nav-left img { max-height:26px!important; }
 .menu-spacer { height:60px!important; }
 .menu-tabs { gap: 4px; }
 .menu-tab { padding: 8px 12px; font-size: 0.58rem; }
}