:root{--ink:#253a32;--accent:#385846;--soft:#eff2ec;--line:#bdc9bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #997019;outline-offset:4px}img{display:block;width:100%;height:auto;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:58px}h2{font-size:42px}h3{font-size:21px;font-weight:400;line-height:1.3}p{max-width:60ch}.wrap{max-width:1320px;margin:auto;padding-left:64px;padding-right:64px}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:bold;letter-spacing:-1.4px;text-decoration:none;display:flex;min-height:44px;align-items:center}.brand span{font-weight:400;letter-spacing:3px;font-size:10px;margin-left:16px}.header nav{display:flex;gap:27px;font-size:14px}.header nav a{display:flex;min-height:44px;align-items:center;text-decoration:none}.header nav a:hover{text-decoration:underline}.nav-toggle{display:none}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:bold;text-transform:uppercase}.hero{text-align:center;padding-top:42px;padding-bottom:65px}.hero h1{margin:15px 0 18px}.hero-intro{margin:auto;font-size:17px}.actions{display:flex;justify-content:center;gap:27px;align-items:center;margin:24px 0 34px;font-size:14px}.button,.outline{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 23px;border:1px solid var(--accent);text-decoration:none;background:var(--accent);color:#fff;font-size:14px}.outline{background:transparent;color:var(--ink)}.button:hover{background:var(--ink)}.outline:hover{background:#dce5d8}.textlink{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.hero-photo{max-width:880px;margin:auto}.hero-photo img{aspect-ratio:16/9;object-position:50% 53%}figcaption{font-size:12px;margin-top:10px;display:flex;justify-content:space-between;gap:16px}.chapter{padding-top:76px;padding-bottom:84px}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:34px}.section-heading h2{margin-top:13px}.section-heading>p{max-width:38ch;font-size:16px}.soft{background:var(--soft)}.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 26px;align-items:start}.dish-card{padding:0;border:0;text-align:left;background:transparent;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.dish-card img{aspect-ratio:4/3;margin-bottom:15px;transition:filter .2s}.dish-card:hover img{filter:brightness(.92)}.card-title{display:flex;justify-content:space-between;gap:14px;line-height:1.35}.card-title strong{font-size:20px;font-weight:400}.price{font-size:14px;white-space:nowrap;font-weight:bold}.dish-card .desc{font-size:14px;margin-top:7px;display:block}.dish-card .portion{font-size:12px;margin-top:9px;display:block}.demo-note{font-size:12px;max-width:90ch;margin-top:23px;color:#4e6154}.story{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding-top:65px;padding-bottom:65px;align-items:center}.story h2{margin:15px 0 22px}.story .textlink{margin-top:19px}.story img{aspect-ratio:4/3}.menu-section .demo-note{margin-top:-14px}.menu-tools{display:grid;grid-template-columns:1.4fr 1fr auto;gap:20px;align-items:end;margin:34px 0 23px}label{display:block;font-size:13px;font-weight:bold}input,select,textarea{display:block;width:100%;border:1px solid #829482;background:#fff;border-radius:0;padding:12px;min-height:48px;font-size:16px;font-weight:400;margin-top:7px;min-width:0}textarea{resize:vertical}.result-count{font-size:13px;margin-bottom:20px}.menu-group{margin-top:32px}.menu-group>h3{font-size:27px;padding-bottom:15px;border-bottom:1px solid var(--line)}.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}.menu-item{display:grid;grid-template-columns:78px 1fr;gap:16px;border:0;border-bottom:1px solid var(--line);padding:22px 0;background:transparent;text-align:left;width:100%;align-items:start}.menu-item.no-photo{grid-template-columns:1fr}.menu-item img{height:78px;width:78px}.menu-item strong{font-size:17px;font-weight:400}.menu-item .desc{font-size:13px;display:block;line-height:1.5;margin:7px 0}.menu-item .portion{font-size:12px}.menu-item:hover strong{text-decoration:underline}.allergen-note{margin-top:42px;padding:27px 30px;background:var(--soft)}.allergen-note p{font-size:14px;margin-top:10px;max-width:90ch}.gallery-section{padding-top:68px;padding-bottom:68px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filters button{background:transparent;border:1px solid var(--line);padding:10px 22px;min-height:44px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery button{padding:0;border:0;background:transparent;position:relative}.gallery img{aspect-ratio:4/3}.gallery button:after{content:'↗';position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;background:white;color:var(--ink)}.load-more{display:flex;margin:30px auto 0}.gathering{display:grid;grid-template-columns:1fr 1fr;gap:70px}.gathering h2{margin-top:15px}.gathering p+p{margin-top:18px}.gathering .button{margin-top:25px}.reservation{padding:70px 0}.reservation-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.reservation h2{margin:14px 0 24px}.form-note{font-size:13px;margin:25px 0 10px;max-width:48ch}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.consent{display:flex;align-items:start;gap:12px;font-weight:400;font-size:13px;margin:22px 0}.consent input{width:20px;min-height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}#form-status{margin-top:18px;font-size:14px}#form-status.error{color:#8a2222}#form-status.success{padding:15px;background:#fff;border-left:3px solid var(--accent)}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq h2{margin-top:14px}.faq details{border-bottom:1px solid var(--line);padding:0 0 17px;margin-bottom:17px}.faq summary{cursor:pointer;padding:8px 0;min-height:44px}.faq details p{font-size:15px;margin-top:12px}.contact{padding:65px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px;align-items:start}.contact h2{margin:14px 0 25px}.contact-phone{display:block;font-size:23px;margin-top:20px}.contact dl{margin:16px 0 0}.contact dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:8px 0;font-size:13px}.contact dd{margin:0;white-space:nowrap}.contact figure img{aspect-ratio:4/3}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:27px;padding-bottom:27px}.footer>div{display:flex;gap:24px;font-size:13px}.footer>div a{display:flex;align-items:center;min-height:44px}section{scroll-margin-top:25px}.loading{font-size:14px}.loading:empty{display:none}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:0;color:var(--ink);background:white;padding:24px;width:min(850px,calc(100% - 32px));max-height:90dvh}dialog::backdrop{background:#16231cd9}.close{background:white;border:1px solid var(--line);padding:8px 15px;min-height:44px;font-size:14px;display:block;margin-left:auto}.dialog-top{display:flex;gap:20px;align-items:center;font-size:14px}.dialog-top .close{flex-shrink:0}.dish-detail-image{aspect-ratio:16/9;margin:18px 0 23px;max-height:340px}#dish-content h2{font-size:32px;margin:20px 0 15px}#dish-content p{margin:12px 0;font-size:16px}#dish-content .demo-note{font-size:12px}#large-photo{height:60dvh;object-fit:contain;margin-top:15px;background:var(--soft)}.photo-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:15px}.photo-controls span{font-size:13px}body:has(dialog[open]){overflow:hidden}#print-content{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.wrap{max-width:1440px}.hero-photo{max-width:960px}}
@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.brand span{display:none}.header nav{gap:20px}.story,.reservation-grid,.gathering,.faq{gap:38px}.contact-grid{grid-template-columns:1fr 1fr}.contact figure{display:none}.card-title{flex-wrap:wrap;gap:5px}.menu-item .card-title{display:block}.menu-item .price{display:block;margin-top:5px}.featured{gap:32px 20px}}
@media(max-width:700px){body{font-size:16px}.wrap{padding-left:22px;padding-right:22px}.header{min-height:84px;flex-wrap:wrap;gap:0;position:relative}.brand{font-size:27px}.brand span{display:inline;font-size:9px;letter-spacing:2px;margin-left:12px}.nav-toggle{display:block;border:1px solid var(--line);padding:8px 12px;background:white;font-size:13px;min-height:44px}.header nav{display:none;width:100%;padding:8px 0 17px;gap:0;flex-wrap:wrap}.header nav.open{display:flex}.header nav a{width:50%;padding:5px 12px}.hero{padding-top:32px;padding-bottom:35px}.hero h1{font-size:42px;max-width:380px;margin:15px auto 17px}.hero-intro{font-size:16px}.actions{gap:6px;flex-direction:column;margin-bottom:25px}.hero-photo img{aspect-ratio:4/3}.hero-photo figcaption{font-size:10px}h2{font-size:34px}.chapter{padding-top:44px;padding-bottom:48px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:18px;max-width:50ch;font-size:15px}.section-heading>.outline{margin-top:20px}.featured{grid-template-columns:1fr 1fr;gap:27px 16px}.card-title strong{font-size:17px}.featured .desc{font-size:13px}.featured .price{font-size:13px}.story{grid-template-columns:1fr;gap:29px;padding-top:42px;padding-bottom:42px}.story h2{margin-bottom:18px}.story img{aspect-ratio:4/3}.menu-tools{grid-template-columns:1fr;gap:14px;margin-top:25px}.menu-tools .outline{justify-self:start}.menu-list{grid-template-columns:1fr}.menu-group>h3{font-size:25px}.menu-item .card-title{display:flex;flex-wrap:nowrap;align-items:start;gap:10px}.menu-item .price{margin:0}.menu-item{grid-template-columns:68px 1fr;gap:14px}.menu-item img{width:68px;height:78px}.allergen-note{padding:22px}.gallery-section{padding-top:43px;padding-bottom:43px}.gallery{grid-template-columns:1fr 1fr;gap:14px}.filters{gap:7px}.filters button{padding:9px 14px;font-size:13px}.gathering,.reservation-grid,.faq{grid-template-columns:1fr;gap:25px}.gathering .button{padding:11px 17px}.reservation{padding:45px 0}.reservation-grid{gap:32px}.form-grid{gap:16px}.form-note{max-width:60ch}.faq{gap:27px}.contact{padding:44px 0}.contact-grid{grid-template-columns:1fr;gap:32px}.contact figure{display:block}.contact figure img{max-height:320px}.contact dl>div{font-size:15px}.footer{flex-direction:column;align-items:flex-start;gap:10px}.footer>div{gap:23px}.dialog-top{font-size:12px;gap:10px}dialog{padding:16px}.photo-controls .outline{padding:8px 12px;font-size:12px}#large-photo{height:54dvh}#dish-content h2{font-size:27px}.menu-section .demo-note{margin-top:0}}
@media(max-width:370px){.wrap{padding-left:16px;padding-right:16px}.brand span{display:none}.hero h1{font-size:38px}.featured{grid-template-columns:1fr}.featured .card-title{flex-wrap:nowrap}.featured .dish-card img{aspect-ratio:4/3}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.menu-item{grid-template-columns:58px 1fr;gap:10px}.menu-item img{width:58px;height:75px}.menu-item .card-title{flex-wrap:wrap}.photo-controls .outline{padding:8px}.filters button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body>*{display:none!important}body>#print-content{display:block!important;color:#000;font-family:Arial,sans-serif}body{padding:0!important}#print-content .print-title{font-size:28pt}#print-content h2{font-size:18pt;margin-top:20pt}#print-content article{break-inside:avoid;border-bottom:1px solid #aaa;padding:8pt 0}#print-content p{font-size:10pt}#print-content strong{font-size:12pt}#print-content .print-price{float:right}#print-content .print-note{margin:12pt 0;font-size:10pt}}
