
:root{--bg:#f6f1e7;--paper:#fffdf8;--ink:#1f1a14;--muted:#6f655a;--line:#e3d9c8;--terra:#b4462b;--olive:#5b6340;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.08;margin:0}
h1{font-size:clamp(2.8rem,6.5vw,5.6rem);letter-spacing:-.02em}h1 em,h2 em{color:var(--terra)}
h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.01em}
.kicker{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:600;margin:0 0 .9rem}
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--ink);color:var(--paper);padding:.95rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:500;transition:.2s;border:1px solid var(--ink)}
.btn:hover{background:var(--terra);border-color:var(--terra)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.sm{padding:.55rem 1.1rem;font-size:.9rem}.btn.full{width:100%;justify-content:center;margin-top:.8rem}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:.9rem clamp(1rem,4vw,3rem);background:rgba(246,241,231,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font-family:Fraunces,serif;font-size:1.45rem;text-decoration:none;font-weight:600;letter-spacing:.04em;display:flex;align-items:baseline;gap:.15rem}.logo span{color:var(--terra)}.logo small{font-family:Inter;font-size:.7rem;font-weight:400;font-style:italic;margin-left:.35rem;color:var(--muted)}
.nav{display:flex;gap:1.6rem;margin-left:auto}.nav a{text-decoration:none;font-size:.95rem;color:var(--muted)}.nav a:hover{color:var(--ink)}
.langs{display:flex;gap:.2rem}.langs a{text-decoration:none;font-size:.78rem;font-weight:600;padding:.3rem .5rem;border-radius:8px;color:var(--muted)}.langs a[aria-current]{background:var(--ink);color:var(--paper)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,3rem) 2rem;max-width:1400px;margin:auto}
.lead{font-size:1.15rem;color:var(--muted);max-width:34rem;margin:1.5rem 0 2rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.facts{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:2.2rem;font-size:.92rem}.facts small{color:var(--muted)}
.status{font-weight:600}.status.on{color:#2f7d3e}.status.off{color:var(--terra)}
.hero-img{margin:0;border-radius:calc(var(--r)*1.6);overflow:hidden;aspect-ratio:4/5;max-height:82vh}.hero-img img{width:100%;height:100%;object-fit:cover;animation:zoom 1.6s ease-out}
@keyframes zoom{from{transform:scale(1.06)}to{transform:none}}
.offer{max-width:1400px;margin:0 auto;padding:.9rem clamp(1rem,4vw,3rem);font-family:Fraunces,serif;font-size:1.15rem;font-style:italic;border-block:1px solid var(--line);text-align:center}
.sec{max-width:1400px;margin:auto;padding:clamp(3.5rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.sec-head{max-width:40rem;margin-bottom:2.5rem}.sec-head p:last-child{color:var(--muted)}
.menu-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}.menu-wrap>*,.book>*,.contact>*,.about>*{min-width:0}body{overflow-x:clip}
.tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:1.5rem;scrollbar-width:none;position:sticky;top:66px;background:var(--bg);z-index:5;padding-top:.5rem}
.tabs button{flex:none;font:500 .92rem Inter;border:1px solid var(--line);background:var(--paper);padding:.6rem 1.05rem;border-radius:999px;cursor:pointer;color:var(--ink)}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.menu-list{list-style:none;padding:0;margin:0}.menu-list li{padding:1.05rem 0;border-bottom:1px dashed var(--line);animation:fade .35s ease both}
.mi{display:flex;align-items:baseline;gap:.6rem}.mi h3{font-size:1.3rem}.mi small{font:600 .68rem Inter;color:var(--olive);border:1px solid var(--olive);border-radius:6px;padding:0 .3rem;vertical-align:middle}
.dots{flex:1;border-bottom:1px dotted #c8bba5;transform:translateY(-4px)}.mi b{font-weight:600;white-space:nowrap}
.menu-list p{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}.legend{font-size:.82rem;color:var(--muted);margin-top:1.5rem}
@keyframes fade{from{opacity:0;transform:translateY(6px)}}
.menu-pics{display:grid;gap:1rem;position:sticky;top:90px}.menu-pics img{border-radius:var(--r);width:100%;aspect-ratio:4/4.4;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;padding:0 clamp(1rem,4vw,3rem);max-width:1400px;margin:auto}.gallery img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:center}.about figure{margin:0}.about figure img{border-radius:calc(var(--r)*1.6);aspect-ratio:4/5;object-fit:cover;width:100%}
.big{font-size:1.15rem;color:var(--muted);margin:1.4rem 0 2rem}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}.feat h3{font-size:1.2rem;margin-bottom:.35rem}.feat p{margin:0;color:var(--muted);font-size:.95rem}
.wine{background:var(--ink);color:var(--paper);max-width:none}.wine>*{max-width:1300px;margin-left:auto;margin-right:auto}.wine .sec-head p:last-child{color:#b9ad9b}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.wcol h3{font-size:1.6rem;font-style:italic;color:#e9a98e;margin-bottom:1rem}
.wcol ul{list-style:none;margin:0;padding:0}.wcol li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #3a3229}.wcol li span{display:block;color:#a89c8a;font-size:.85rem}.wcol li em{font-style:normal;white-space:nowrap;color:#e9dccb}
.book{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start}
.rules{padding-left:1.1rem;color:var(--muted)}.rules li{margin:.35rem 0}.tel{display:inline-block;margin-top:1rem;font-family:Fraunces,serif;font-size:1.6rem;text-decoration:none}
.book-frame{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.6rem;box-shadow:0 30px 60px -30px rgba(60,40,20,.25)}.book-frame iframe{width:100%;height:640px;border:0;border-radius:12px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}.contact address{font-style:normal;margin:1.4rem 0;line-height:1.9}.park{color:var(--muted)}
.hours{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.8rem;align-self:start}.hours h3{font-size:1.4rem;margin-bottom:.8rem}
.hrow{display:flex;justify-content:space-between;padding:.6rem .6rem;border-radius:10px}.hrow.off{color:var(--muted)}.hrow.today{background:var(--bg);font-weight:600}
.map{grid-column:1/-1;width:100%;height:360px;border:0;border-radius:var(--r);filter:grayscale(.4) sepia(.15)}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:2rem clamp(1rem,4vw,3rem) 6rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.demo{font-style:italic}.ic{width:1em;height:1em;fill:currentColor;vertical-align:-.12em}.pk{display:inline-grid;place-items:center;width:1.4em;height:1.4em;border-radius:5px;background:#2b5aa8;color:#fff;font-size:.8em;margin-right:.3rem}
.dock{display:none}
#om-book [hidden]{display:none!important}
.book-own{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1rem,3vw,1.6rem);min-width:0}
#om-book .omb-lbl{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .4rem}#om-book .omb-lbl:first-child{margin-top:0}
#om-book button{font:500 .95rem Inter,sans-serif;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:.55rem .95rem;cursor:pointer;min-height:42px}
#om-book button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.omb-guests{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.omb-guests button{min-width:46px}.omb-more{font-size:.85rem;color:var(--muted);margin-left:.4rem}
.omb-dates{display:grid;gap:.5rem;min-width:0}.omb-strip{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:thin;min-width:0}.omb-strip button{flex:none;white-space:nowrap}
.omb-dates input[type=date]{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;background:#fff;max-width:12rem}
.omb-slots{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--muted);min-height:2.6rem}.omb-slots button{min-width:68px}
#om-book .omb-slots button:hover{background:var(--ink);color:var(--paper)}
.omb-form form{display:grid;gap:.6rem}.omb-form label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}
.omb-form input,.omb-form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;background:#fff;width:100%;box-sizing:border-box}
.omb-form .omb-check{display:flex;gap:.5rem;align-items:flex-start;font-size:.82rem}.omb-form .omb-check input{width:auto;margin-top:.2rem}
.omb-hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;opacity:0}
.omb-sum{font-weight:600;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
#om-book .omb-link{background:none;border:0;padding:0;min-height:0;color:var(--accent,#b4462b);text-decoration:underline;font-size:.9rem}
.omb-msg{color:#9b2c2c;margin:0;min-height:1.2em;font-size:.9rem}.omb-ok h3{font-family:Fraunces,serif;font-weight:400;font-size:1.6rem;margin:.2rem 0 .6rem}
@media (max-width:900px){
 .nav{display:none}.top{gap:.8rem}.langs{margin-left:auto}.top .btn.sm{display:none}
 .hero{grid-template-columns:1fr}.hero-img{order:-1;aspect-ratio:4/3.4}
 .menu-wrap,.about,.book,.contact{grid-template-columns:1fr}.menu-pics{display:none}
 .gallery{grid-template-columns:1fr 1fr}.feats,.wgrid{grid-template-columns:1fr}
 .tabs{top:58px}
 .dock{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:.5rem;position:fixed;left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom));z-index:30;background:rgba(31,26,20,.92);backdrop-filter:blur(10px);padding:.45rem;border-radius:18px}
 .dock a{display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--paper);text-decoration:none;font-size:.88rem;padding:.7rem .4rem;border-radius:13px}.dock a.hot{background:var(--terra);font-weight:600}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
