: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-tab:hover, .menu-tab.active { color: var(--dark); border-color: var(--gold); position: relative; z-index: 1; }
.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-tab:hover, .menu-tab.active { color: var(--dark); border-color: var(--gold); position: relative; z-index: 1; }
.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%);
}
.mag-cta::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.mag-cta-title { font-family:'Playfair Display',serif; font-size:3.5rem; font-style:italic; color:var(--cream); margin-bottom:10px; }
.mag-cta-sub { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:rgba(255,255,255,0.5); font-style:italic; margin-bottom:35px; }
.mag-cta-btn { display:inline-block; padding:18px 55px; background:var(--gold); color:var(--dark); font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; text-decoration:none; transition:all 0.4s; margin:0 8px 10px; }
.mag-cta-btn:hover { transform:translateY(-3px); box-shadow:0 15px 40px rgba(201,169,110,0.35); }
.mag-cta-btn-outline { display:inline-block; padding:18px 55px; background:transparent; color:var(--gold); font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; text-decoration:none; transition:all 0.4s; border:1px solid var(--gold); margin:0 8px 10px; }
.mag-cta-btn-outline:hover { background:rgba(201,169,110,0.1); transform:translateY(-3px); }
.mag-cta-phone { font-family:'Montserrat',sans-serif; font-size:0.75rem; color:var(--gold); margin-top:20px; letter-spacing:1px; }
.mag-cta-phone a { color:var(--gold); text-decoration:none; }
.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); }
.deal-strip { background:var(--amber-deep); padding:25px 0; border-bottom:1px solid rgba(201,169,110,0.15); }
.deal-strip-inner { display:flex; align-items:center; justify-content:center; gap:50px; padding:0 30px; }
.deal-stat { text-align:center; }
.deal-stat-num { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:800; color:var(--gold); }
.deal-stat-label { font-family:'Montserrat',sans-serif; font-size:0.6rem; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-top:4px; }
.deal-divider { width:1px; height:50px; background:rgba(201,169,110,0.3); }
.edit-intro { max-width:700px; margin:0 auto; padding:80px 30px; text-align:center; }
.edit-dropcap { font-family:'Playfair Display',serif; font-size:1.4rem; color:rgba(255,255,255,0.8); line-height:1.9; text-align:left; }
.edit-dropcap::first-letter { font-size:4.5rem; float:left; line-height:0.8; padding-right:12px; color:var(--gold); font-weight:700; margin-top:5px; }
.drink-menu { max-width:800px; margin:0 auto; padding:80px 30px; }
.drink-menu-head { text-align:center; margin-bottom:50px; }
.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; }
.drink-section-title { font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--gold); text-align:center; margin:40px 0 20px; font-style:italic; }
.drink-row { display:grid; grid-template-columns:1fr auto; align-items:baseline; padding:18px 0; border-bottom:1px solid rgba(201,169,110,0.12); transition:all 0.3s; }
.drink-row:hover { padding-left:10px; background:rgba(201,169,110,0.04); }
.dr-name { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--cream); }
.dr-desc { font-family:'Cormorant Garamond',serif; font-size:1rem; color:rgba(201,169,110,0.5); font-style:italic; margin-top:2px; }
.dr-price { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:700; color:var(--gold); min-width:60px; text-align:right; }
.full-bleed { position:relative; height:70vh; min-height:400px; overflow:hidden; }
.full-bleed img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }
.full-bleed-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(26,20,8,0.9) 0%,rgba(10,10,10,0.3) 50%,transparent 100%); }
.full-bleed-text { position:absolute; top:50%; left:8%; transform:translateY(-50%); z-index:2; max-width:450px; }
.full-bleed-quote { font-family:'Playfair Display',serif; font-size:3rem; font-style:italic; color:#fff; line-height:1.2; margin-bottom:15px; }
.full-bleed-quote span { color:var(--gold); }
.full-bleed-attr { font-family:'Montserrat',sans-serif; font-size:0.65rem; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.5); }
.specials-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1000px; margin:0 auto; padding:80px 30px; gap:25px; }
.specials-head { grid-column:1/-1; text-align:center; margin-bottom:20px; }
.special-card { padding:40px 30px; border:1px solid rgba(201,169,110,0.12); text-align:center; transition:all 0.4s; background:rgba(201,169,110,0.03); }
.special-card:hover { border-color:var(--gold); transform:translateY(-5px); box-shadow:0 15px 40px rgba(201,169,110,0.1); }
.sc-icon { font-size:2.5rem; margin-bottom:15px; }
.sc-title { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--gold); margin-bottom:10px; font-style:italic; }
.sc-text { font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:rgba(255,255,255,0.6); line-height:1.7; }
.photo-split { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:3px; height:450px; }
.photo-split img { width:100%; height:100%; object-fit:cover; display:block; }
.reviews-section { padding:80px 30px; margin-top:100px; background:linear-gradient(180deg,var(--dark) 0%,rgba(184,134,11,0.05) 50%,var(--dark) 100%); }
.reviews-inner { max-width:900px; margin:0 auto; }
.reviews-head { text-align:center; margin-bottom:50px; }
.review-card { padding:35px 0; border-bottom:1px solid rgba(201,169,110,0.08); }
.review-card:last-child { border-bottom:none; }
.review-text { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-style:italic; color:rgba(255,255,255,0.75); line-height:1.6; margin-bottom:10px; }
.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; }
.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); }
@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; }
 .deal-strip-inner { flex-wrap:wrap; gap:25px; }
 .deal-divider { display:none; }
 .drink-menu-title { font-size:2.5rem; }
 .drink-row { grid-template-columns:1fr; gap:5px; padding:18px 0; }
 .dr-price { text-align:left; }
 .full-bleed { height:50vh; }
 .full-bleed-overlay { background:linear-gradient(to top,rgba(10,10,10,0.9) 0%,rgba(10,10,10,0.3) 100%); }
 .full-bleed-text { top:auto; bottom:30px; left:20px; right:20px; transform:none; }
 .full-bleed-quote { font-size:2rem; }
 .specials-grid { grid-template-columns:1fr; }
 .photo-split { grid-template-columns:1fr; height:auto; }
 .photo-split img { height:220px; }
 .mag-cta-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; }
}