:root{
--black:#050403;
--ink:#15100b;
--paper:#f4efe5;
--paper2:#fffaf1;
--line:#15100b;
--gold:#b97621;
--gold2:#d99a3d;
--muted:#766b5e;
--soft:rgba(21,16,11,.08);
--shadow:0 28px 80px rgba(0,0,0,.22)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ede8df;color:var(--ink);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}
a,button{font:inherit;color:inherit;text-decoration:none}
button{cursor:pointer}
img,video{display:block;max-width:100%}
.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.22;background-image:radial-gradient(rgba(0,0,0,.14) .7px,transparent .8px);background-size:4px 4px;mix-blend-mode:multiply}
.layout{min-height:100svh;display:grid;grid-template-columns:minmax(360px,46vw) 1fr}
.side{position:sticky;top:0;height:100svh;overflow:hidden;background:#080604;color:#fff}
.side-media,.side-shade{position:absolute;inset:0}
.side-media video{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04) brightness(.82)}
.side-shade{background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.1)),radial-gradient(circle at 30% 40%,transparent,rgba(0,0,0,.72) 72%)}
.side-card{position:absolute;left:clamp(20px,4vw,54px);top:50%;transform:translateY(-50%);width:min(330px,calc(100% - 44px));background:rgba(255,250,241,.94);color:var(--ink);padding:34px 30px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.logo{width:82px;height:82px;object-fit:contain;margin-bottom:16px}
.brand-top{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;margin:0 0 10px;color:var(--gold)}
.side-card h1{font-family:Italiana,serif;font-size:4.1rem;line-height:.82;font-weight:400;margin:0 0 12px}
.brand-sub{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;margin:0 0 28px;border-top:4px solid var(--line);border-bottom:4px solid var(--line);padding:8px 0;width:max-content}
.side-nav{display:grid;gap:6px;margin-bottom:30px}
.nav-link{border:0;background:transparent;text-align:left;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:1rem;padding:4px 0;transition:.18s;width:max-content}
.nav-link:hover,.nav-link.active{background:var(--ink);color:#fff;padding:4px 10px}
.side-info{display:grid;gap:6px;color:#3b332c;font-weight:600;font-size:.86rem;border-top:1px solid rgba(0,0,0,.2);padding-top:18px}
.content{position:relative;background:var(--paper);min-height:100svh;box-shadow:-12px 0 30px rgba(0,0,0,.08)}
.content:before{content:"";position:fixed;inset:0 0 0 46vw;pointer-events:none;background:radial-gradient(circle at 90% 14%,rgba(185,118,33,.08),transparent 28%),linear-gradient(135deg,transparent 0,transparent 94%,rgba(0,0,0,.035) 94%);z-index:0}
.topbar{position:sticky;top:0;z-index:7;height:72px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 clamp(22px,5vw,78px);background:rgba(244,239,229,.74);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,16,11,.08)}
.top-actions{display:flex;gap:16px;align-items:center}
.top-actions a,.gold-btn,.contact-actions a,.modal-bottom a{border:2px solid var(--ink);background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem;padding:12px 18px;transition:.18s}
.top-actions a:first-child{background:transparent;color:var(--ink)}
.top-actions a:hover,.gold-btn:hover,.contact-actions a:hover,.modal-bottom a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.12)}
.mobile-menu{display:none;border:2px solid var(--ink);background:transparent;text-transform:uppercase;font-weight:800;letter-spacing:.12em;padding:10px 14px}
.page{position:relative;z-index:1;display:none;min-height:calc(100svh - 72px);padding:clamp(48px,7vw,92px) clamp(22px,6vw,86px)}
.page.active{display:block;animation:fade .28s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.page-head{max-width:760px;margin:0 0 42px}
.page-head.compact{margin-bottom:28px}
.page-head span,.search-box span,.menu-summary>span,.modal-tag{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.28em;font-size:.68rem;font-weight:800;color:var(--gold)}
.page-head h2{font-family:Italiana,serif;font-size:clamp(3.6rem,7vw,6.8rem);font-weight:400;line-height:.9;margin:12px 0 18px}
.page-head p{font-size:1rem;line-height:1.85;color:var(--muted);max-width:680px}
.highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:880px}
.highlight-grid article,.callout,.menu-box,.story-grid,.contact-card{background:var(--paper2);border:1px solid rgba(21,16,11,.12);box-shadow:var(--shadow)}
.highlight-grid article{padding:30px;min-height:210px;display:grid;align-content:space-between}
.line-icon{font-size:2.4rem;color:var(--gold);line-height:1}
.highlight-grid h3,.story-copy h3{font-family:Italiana,serif;font-size:2.5rem;font-weight:400;margin:12px 0 8px}
.highlight-grid p,.story-copy p{color:var(--muted);line-height:1.75}
.callout{margin-top:24px;max-width:880px;padding:28px 30px;display:flex;justify-content:space-between;gap:22px;align-items:center;background:var(--ink);color:#fff}
.callout span{font-family:Cinzel,serif;color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem}
.callout h3{font-family:Italiana,serif;font-size:3rem;font-weight:400;margin:4px 0}
.callout p{color:#d9c7ad;line-height:1.6;margin:0}
.gold-btn{border-color:var(--gold);background:var(--gold);color:#100803}
.menu-box{padding:28px;background:#fbf7ef}
.search-box{display:grid;gap:10px;margin-bottom:22px}
.search-box input{height:56px;border:2px solid var(--ink);background:transparent;padding:0 18px;outline:none;color:var(--ink);font-weight:600}
.search-box input:focus{border-color:var(--gold)}
.menu-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}
.menu-tab{min-height:74px;border:1px solid rgba(21,16,11,.2);background:#f7f1e7;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;text-align:left;transition:.18s}
.menu-tab:hover,.menu-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-tab span:not(.tab-icon){font-family:Cinzel,serif;text-transform:uppercase;font-weight:800;font-size:.72rem;letter-spacing:.08em}
.menu-tab small{font-family:Cinzel,serif;font-weight:800;color:var(--gold)}
.tab-icon{width:34px;height:34px;color:var(--gold);display:grid;place-items:center}
.tab-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.menu-workspace{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:start}
.menu-summary{position:sticky;top:96px;background:var(--ink);color:#fff;padding:28px;min-height:248px;display:grid;align-content:start;gap:10px}
.menu-summary h3{font-family:Italiana,serif;font-size:3rem;line-height:1;font-weight:400;margin:8px 0}
.menu-summary p{color:#d7c5ae;line-height:1.65}
.summary-mark{margin-top:16px;display:grid;grid-template-columns:44px 1fr;gap:8px 14px;align-items:center}
.summary-mark .tab-icon{width:44px;height:44px;grid-row:span 2}
.summary-mark strong{font-family:Italiana,serif;font-size:2.8rem;color:var(--gold2);line-height:.8}
.summary-mark small{text-transform:uppercase;letter-spacing:.16em;color:#d7c5ae;font-size:.62rem}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:560px;overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--ink) transparent}
.menu-grid.search-mode{grid-template-columns:repeat(2,minmax(0,1fr))}
.dish-card{border:1px solid rgba(21,16,11,.18);background:#fffaf1;text-align:left;padding:18px;min-height:132px;transition:.18s}
.dish-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 26px rgba(0,0,0,.08)}
.dish-top{display:grid;grid-template-columns:1fr auto;gap:16px}
.dish-card small{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:800;font-size:.58rem}
.dish-card h4{font-family:Cinzel,serif;text-transform:uppercase;font-size:.82rem;line-height:1.4;margin:8px 0;color:var(--ink)}
.dish-card p{color:var(--muted);line-height:1.55;font-size:.82rem;margin:0}
.dish-card strong{font-family:Cinzel,serif;color:var(--gold);white-space:nowrap}
.empty-state{grid-column:1/-1;border:1px solid rgba(21,16,11,.18);padding:26px;color:var(--muted);background:#fffaf1}
.story-grid{max-width:880px;display:grid;grid-template-columns:1fr 260px;gap:28px;padding:34px;background:#fffaf1}
.story-stats{display:grid;gap:12px}
.story-stats div{border:1px solid rgba(21,16,11,.14);padding:18px;text-align:center;background:#f6efe4}
.story-stats strong{font-family:Italiana,serif;font-size:3.2rem;font-weight:400;color:var(--gold)}
.story-stats span{display:block;text-transform:uppercase;font-family:Cinzel,serif;font-size:.62rem;letter-spacing:.14em;color:var(--muted)}
.gallery-clean{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px}
.gallery-clean figure{margin:0;position:relative;height:360px;overflow:hidden;background:#111}
.gallery-clean img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03) contrast(1.04);transition:.35s}
.gallery-clean figure:hover img{transform:scale(1.03)}
.gallery-clean figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,250,241,.9);color:var(--ink);padding:9px 12px;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:800}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;max-width:980px;align-items:stretch}
.contact-card{padding:30px;background:#fffaf1}
.contact-row{padding:20px 0;border-bottom:1px solid rgba(21,16,11,.16)}
.contact-row:first-child{padding-top:0}
.contact-row strong{display:block;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.82rem;margin-bottom:8px}
.contact-row p{line-height:1.7;font-weight:600}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.contact-actions a{border-color:var(--gold);background:var(--gold);color:#100803}
.map-clean iframe{width:100%;height:100%;min-height:430px;border:0;display:block;filter:saturate(.94) contrast(1.02);box-shadow:var(--shadow)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:none;place-items:center;padding:20px;backdrop-filter:blur(10px)}
.modal.show{display:grid}
.modal-card{width:min(520px,100%);background:var(--paper2);padding:34px;position:relative;box-shadow:var(--shadow)}
.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:2.2rem;line-height:1}
.modal-card h3{font-family:Italiana,serif;font-size:3rem;font-weight:400;margin:12px 0}
.modal-card p{color:var(--muted);line-height:1.8}
.dish-extra{display:grid;gap:10px;margin:18px 0}
.dish-extra span{background:#f2eadf;border:1px solid rgba(21,16,11,.12);padding:12px;color:var(--muted)}
.modal-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}
.modal-bottom strong{font-family:Cinzel,serif;color:var(--gold);font-size:1.35rem}
@media(max-width:1100px){
.layout{grid-template-columns:380px 1fr}
.content:before{inset:0 0 0 380px}
.menu-tabs{grid-template-columns:repeat(3,1fr)}
.menu-workspace,.contact-grid,.story-grid{grid-template-columns:1fr}
.menu-summary{position:relative;top:auto;min-height:0}
.gallery-clean{grid-template-columns:1fr 1fr}
.gallery-clean figure:first-child{grid-column:1/-1}
}
@media(max-width:820px){
.layout{display:block}
.side{position:fixed;inset:0;z-index:20;height:auto;transform:translateX(-100%);transition:.28s;width:min(360px,88vw)}
.nav-open .side{transform:none}
.side-card{left:18px;right:18px;width:auto;top:50%;padding:28px 24px}
.content{min-height:100svh}
.content:before{inset:0}
.topbar{justify-content:space-between;padding:0 16px;height:66px}
.mobile-menu{display:block}
.top-actions a{padding:10px 12px;font-size:.62rem}
.page{min-height:calc(100svh - 66px);padding:42px 16px}
.page-head h2{font-size:3.6rem}
.highlight-grid,.menu-grid,.menu-grid.search-mode{grid-template-columns:1fr}
.callout{display:grid}
.menu-box{padding:16px}
.menu-tabs{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px}
.menu-tab{min-width:172px}
.gallery-clean{grid-template-columns:1fr}
.gallery-clean figure{height:280px}
.map-clean iframe{min-height:320px}
.contact-actions{display:grid}
.contact-actions a{text-align:center}
}
@media(max-width:420px){
.side-card h1{font-size:3.25rem}
.page-head h2{font-size:3rem}
.menu-summary h3{font-size:2.35rem}
.dish-top{grid-template-columns:1fr}
.dish-card strong{margin-top:6px}
.top-actions a:last-child{display:none}
}
.dish-extra:empty{display:none}
