:root{--ink:#30372d;--green:#49593d;--cream:#f8f8f3;--paper:#fff;--terracotta:#77512a;--gold:#ad8754;--muted:#62685d;--line:#dcded4;--shadow:none}
*{letter-spacing:0!important}
html{scroll-padding-top:28px}
body{background:#fff}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif}
h2{font-size:42px;line-height:1.15;color:#583715}
.eyebrow{font-size:14px;color:#77512a}
.wrap{width:min(1120px,calc(100% - 48px))}
.topbar{background:#49593d;font-size:14px}
.topbar .wrap{min-height:38px}
.nav{position:relative;top:auto;color:var(--ink);border-bottom:1px solid var(--line);background:#fff}
.nav .wrap{height:86px}
.brand{font:italic 48px/1 "Allura",Georgia,serif;color:#583715}
.brand small{font:12px/1.4 "DM Sans",sans-serif}
.links{font-size:15px;gap:25px}
.lang{color:var(--ink);border-color:#acb39f}
.menu-toggle{color:var(--green)}
.btn{border-radius:3px;min-height:48px}
.btn-primary,.btn-dark{background:var(--green);color:#fff}
.btn-outline{border-color:var(--green);color:var(--green)}
.hero{position:relative;isolation:isolate;min-height:540px;background:#fff;color:var(--ink);text-align:center;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero:before,.hero:after{content:"";position:absolute;top:0;bottom:0;width:14%;max-width:180px;z-index:-1;background-image:url("assets/menu-botanical.png");background-repeat:no-repeat;background-size:760px auto;pointer-events:none}
.hero:before{left:0;background-position:left center}
.hero:after{right:0;background-position:right center}
.hero-content{max-width:660px;margin:auto;padding:56px 0}
.hero .eyebrow{color:var(--green)}
.hero h1{font:italic 108px/1 "Allura",Georgia,serif;color:#583715;margin:24px 0}
.hero h1 span{display:block;font:22px/1.4 "Playfair Display",Georgia,serif}
.hero p{font-size:18px;color:var(--muted);max-width:540px;margin:0 auto 24px}
.actions,.facts{justify-content:center}
.facts{gap:30px;margin-top:30px}
.fact strong{font-size:16px;color:#49593d}
.fact span{font-size:14px;opacity:1;color:var(--muted)}
.intro{background:#f7f8f4;padding:60px 0}
.intro-grid{grid-template-columns:1fr 1.35fr;gap:65px}
.intro-copy{font-size:16px;padding:0}
.intro-copy p:first-child{margin-top:0}
.signature{color:#77512a}
.specials{padding:72px 0}
.section-head{margin-bottom:32px}
.specials .card{border:0;background:transparent}
.specials .card:hover{transform:none;box-shadow:none}
.dish-photo{aspect-ratio:4/3;border-radius:3px}
.dish-content{padding:20px 0}
.specials .card-num{font-size:16px;margin-bottom:12px;color:#77512a}
.specials .card h3{font-size:24px}
.price{color:#583715}
.menu-section{padding:72px 0;background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.menu-heading{text-align:center}
.menu-heading h2{font-size:52px;margin-top:12px}
.menu-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:30px 0 60px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-nav a{font-size:16px;color:var(--green);text-decoration:underline;text-underline-offset:6px}
.full-menu{gap:48px 68px;align-items:start}
.category-title{color:#583715;font-size:32px;line-height:1.25;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #b69a76}
.full-menu .menu-item{padding:17px 0;border-bottom:1px solid #e5e5dc;gap:8px 16px}
.menu-item h4{font-size:19px;line-height:1.4;margin:0;color:#583715;overflow-wrap:anywhere}
.full-menu .menu-item p{font-size:16px;line-height:1.6;color:#62685d;grid-column:1/-1}
.menu-item strong{color:#583715;font-size:16px;line-height:1.6}
.drinks-title{margin:75px 0 40px;text-align:center}
.drinks-menu .menu-item{grid-template-columns:minmax(0,1fr) auto}
.drinks-menu .category-title{font-size:27px}
.booking{background:#f7f8f4;padding:72px 0;border-top:1px solid var(--line)}
.booking-grid{gap:70px}
.booking-box{box-shadow:none;border:1px solid var(--line);padding:30px}
.booking-placeholder{background:#fff;border-color:#adb29e}
.hours div{gap:20px}
.contact{padding:72px 0}
.contact-row small{font-size:14px}
.map{background:#eef1e9}
.map:before{background:none}
.map-inner h3{font-size:28px}
footer{background:#33432f}
.footer-grid p,.footer-grid a{color:#e0e6d9;font-size:15px}
footer .brand{color:#fff}
.bottom-cta a{background:#77512a}
.bottom-cta a:last-child{background:#49593d}
@media(min-width:821px){#vegetarian{grid-column:1/-1;max-width:526px;width:100%;margin:auto}}
@media(max-width:820px){
.wrap{width:calc(100% - 36px)}
h2{font-size:32px}
.nav .wrap{height:80px}
.links{top:80px;background:#fff;border-bottom:1px solid var(--line);align-items:stretch}
.links a{text-align:center}
.hero{min-height:540px}
.hero:before,.hero:after{width:12%;opacity:.8}
.hero-content{padding:42px 28px;max-width:100%}
.hero h1{font-size:82px}
.hero h1 span{font-size:20px}
.hero p{font-size:16px}
.facts{gap:16px;flex-wrap:wrap}
.fact{flex-basis:45%}
.fact strong{font-size:14px}
.fact span{font-size:14px}
.actions{gap:10px}
.hero .btn{padding:0 16px}
.intro,.specials,.menu-section,.booking,.contact{padding:48px 0}
.intro-grid,.booking-grid,.contact-grid{grid-template-columns:1fr;gap:30px}
.full-menu{grid-template-columns:minmax(0,1fr);gap:38px}
.menu-heading h2{font-size:40px}
.menu-nav{margin:24px 0 38px;gap:14px 20px}
.category-title{font-size:29px}
.menu-item h4{font-size:18px}
.menu-item strong{font-size:15px}
.drinks-menu .menu-item{grid-template-columns:minmax(0,1fr)}
.drinks-menu .menu-item strong{grid-column:1}
.drinks-title{margin-top:48px}
.dish-content{padding-bottom:26px}
.specials .card h3{font-size:25px}
.contact-grid{gap:32px}
.booking-box{padding:24px}
.map{min-height:280px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
