:root{--cream:#f7f3ea;--ink:#30392a;--terra:#a34b32;--muted:#6e7062;--line:#dcd8cb}
*{box-sizing:border-box}
html{scroll-padding-top:105px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--terra);outline-offset:4px}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip{position:fixed;top:8px;left:8px;padding:12px;background:white;z-index:100;transform:translateY(-150%)}
.skip:focus{transform:none}
.demo-bar{display:flex;justify-content:space-between;gap:14px;padding:10px 24px;background:#e5e8dc;font-size:11px}
.demo-bar a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:30;background:#f7f3eafa;border-bottom:1px solid var(--line)}
.navigation{position:relative;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-family:Georgia,serif;font-size:30px;font-weight:bold;letter-spacing:-.05em;white-space:nowrap}
.brand span{display:block;margin-top:4px;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2em;font-weight:400}
.navigation nav{display:flex;align-items:center;gap:26px;font-size:13px}
.navigation nav>a:not(.button):hover{color:var(--terra)}
.menu-button{display:none;min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:99px;background:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:14px 24px;border:1px solid var(--terra);border-radius:99px;background:var(--terra);color:white;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}
.button:hover{background:#813b28;transform:translateY(-2px)}
.button.small{min-height:42px;padding:10px 20px}
.hero{padding:64px 0 70px}
.hero-layout{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:60px}
.eyebrow{color:var(--terra);font-size:10px;font-weight:700;letter-spacing:.17em;margin:0 0 22px}
h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}
h1{font-size:clamp(46px,5.6vw,74px);line-height:1.07;margin:0}
h1 em,h2 em{color:var(--terra)}
.hero-copy>p:not(.eyebrow){max-width:370px;font-size:16px;line-height:1.9;color:var(--muted);margin:26px 0}
.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.text-link{display:inline-block;padding:12px 0;border-bottom:1px solid currentColor;font-size:13px;font-weight:600}
.hero-note{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:12px;color:var(--muted)}
.hero-note span{font-size:23px;color:var(--terra)}
.hero-image{position:relative;margin:0}
.hero-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:65% center;border-radius:220px 220px 12px 12px}
.hero-image figcaption{position:absolute;bottom:22px;left:20px;right:20px;width:fit-content;margin-inline:auto;padding:12px 22px;border-radius:99px;background:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:19px;text-align:center}
.manifesto{background:var(--ink);color:var(--cream);padding:24px 0}
.manifesto .container{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:Georgia,serif;font-size:20px}
.manifesto span[aria-hidden]{color:#c4b58e}
.section{padding:84px 0}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:30px}
h2{font-size:clamp(36px,4vw,52px);line-height:1.12;margin:0 0 24px}
.section-heading>p,.intro{max-width:370px;font-size:15px;line-height:1.9;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.filters button{min-height:44px;padding:10px 19px;border:1px solid var(--line);border-radius:99px;font-size:13px;background:transparent;cursor:pointer}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}
.dish{padding:26px 0;border-bottom:1px solid var(--line)}
.dish>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.dish h3{font-family:Georgia,serif;font-size:23px;font-weight:400}
.dish>div>span{white-space:nowrap;color:var(--terra);font-weight:600;font-size:15px}
.dish p{font-size:14px;line-height:1.8;color:var(--muted);margin:10px 0 12px;max-width:440px}
.dish small{font-size:9px;letter-spacing:.13em;color:var(--terra)}
.fine-print{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px}
.story{background:#e9ecdf}
.story figure img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:12px 90px 12px 12px}
.story figcaption{font-size:10px;color:var(--muted);margin-top:12px}
.story-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:20px}
.hours{max-width:380px;margin-top:34px}
.hours h3{font-size:14px;font-weight:700;margin-bottom:12px}
.hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.hours dd{text-align:right;line-height:1.7}
.booking-form{padding:32px;border:1px solid var(--line);border-radius:20px;background:#fffcf6}
.notice{padding:14px;background:#ede8dd;font-size:12px;line-height:1.7;border-radius:10px;color:#625a49}
.booking-form label{display:block;font-size:13px;font-weight:600;margin:20px 0 10px}
.booking-form input,.booking-form select{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #cec9bc;border-radius:8px;background:#fffdf9;color:var(--ink)}
.booking-form>.button{width:100%;margin-top:24px}
footer{background:var(--ink);color:var(--cream);padding:38px 0}
.footer-content{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}
.footer-content p a{text-decoration:underline;text-underline-offset:4px}
dialog{margin:auto;padding:0;border:0;border-radius:20px;background:var(--cream);color:var(--ink);width:min(480px,calc(100% - 32px));max-height:90dvh;overflow:auto}
dialog::backdrop{background:#252b22b8;backdrop-filter:blur(5px)}
.dialog-content{padding:34px}
.dialog-content h2{font-size:40px}
#summary{font-size:15px;line-height:1.8;margin-bottom:20px}
.dialog-content form{margin-top:22px}
@media(max-width:900px){
 .hero-layout{gap:32px}
 .navigation{flex-wrap:wrap;padding-block:12px;min-height:78px}
 .navigation nav{width:100%;flex-direction:column;align-items:stretch;gap:6px}
 .navigation nav a{padding:13px}
 .enhanced .menu-button{display:block}
 .enhanced nav{position:absolute;top:100%;left:0;background:var(--cream);padding:16px;border:1px solid var(--line);box-shadow:0 18px 30px #30392a15;max-height:calc(100dvh - 90px);overflow:auto}
}
@media(max-width:767px){
 .container{width:calc(100% - 40px)}
 .demo-bar{padding-inline:14px;font-size:10px}
 .hero{padding:42px 0}
 .hero-layout{grid-template-columns:minmax(0,1fr);gap:36px}
 h1{font-size:clamp(44px,9vw,64px)}
 .hero-copy>p:not(.eyebrow){max-width:500px}
 .hero-image{max-width:500px;width:100%;margin-inline:auto}
 .hero-image img{aspect-ratio:5/4;border-radius:150px 150px 12px 12px}
 .manifesto .container{font-size:13px;gap:10px;text-align:center}
 .manifesto span[aria-hidden]{display:none}
 .section{padding:56px 0}
 .section-heading{display:block}
 .section-heading>p{margin-bottom:28px}
 .booking-form{padding:22px}
 .footer-content{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
